We may earn an affiliate commission when you visit our partners.
Sebastian Thrun, David Silver, Ryan Keenan, Drew Gray, Bryan Catanzaro, Cezanne Camacho, Arpan Chakraborty, and Brok Bucholtz

Read more

Self-driving cars are set to change the way we live with technology on the cutting-edge of robotics, machine learning, computer vision, and mechanical engineering. In this program, you’ll learn the skills and techniques used by self-driving car teams at the most innovative companies in the world.

  • Intermediate Python (Classes, Data structures)
  • Intermediate C++ (Classes, Memory management, Linking)
  • Basic Linear Algebra (Matrices, Vectors, Matrix multiplication)
  • Basic Calculus (Derivatives, Integrals)
  • Basic Statistics (Mean, Standard deviation, Gaussian distribution)
  • Basic Physics (Forces)

To optimize your chances for a successful application to our Self-Driving Car Engineer Nanodegree program, we’ve created a list of prerequisites and recommendations to help prepare you for the program curriculum. Prior to applying, you should have the following knowledge:

  • Intermediate Python (Classes, Data structures)
  • Intermediate C++ (Classes, Memory management, Linking)
  • Basic Linear Algebra (Matrices, Vectors, Matrix multiplication)
  • Basic Calculus (Derivatives, Integrals)
  • Basic Statistics (Mean, Standard deviation, Gaussian distribution)
  • Basic Physics (Forces)

Certain knowledge areas are particularly important to address, and we recommended the following resources for those wishing to refine their skills in these key arenas:

We also recommend the following suite of Udacity courses as excellent preparation for incoming students:

For those aspiring Self-Driving Car Engineers who currently have limited backgrounds in either programming or math, we recommend the following Nanodegree programs and courses:

And for those who have programming and math backgrounds, but would benefit from additional studies in machine learning and/or computer vision:

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches in-demand skills in computer vision, robotics, machine learning, and engineering that are applicable across industries
Taught by industry experts and researchers from the most innovative companies, such as Google and Tesla
Provides comprehensive coverage of self-driving car technology, from computer vision and localization to path planning and controls
Hands-on projects and interactive exercises allow learners to apply their knowledge and skills to real-world problems
Requires strong foundational knowledge in programming, mathematics, and physics, which may present a challenge for beginners
May require supplementary resources and/or additional coursework to fill the foundational knowledge gaps for beginners

Save this course

Save Self-Driving Car Engineer Nanodegree to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Self-Driving Car Engineer Nanodegree with these activities:
Find a mentor who works in the self-driving car industry
Mentors can provide guidance and support throughout your learning journey.
Browse courses on Self-Driving Cars
Show steps
  • Identify potential mentors
  • Reach out to potential mentors
  • Set up regular meetings
Watch Udacity's Intro to Machine Learning course
This free course provides a comprehensive introduction to machine learning.
Browse courses on Machine Learning
Show steps
  • Watch the videos
  • Complete the quizzes
Review Python basics
Python is a core language for self-driving car development.
Browse courses on Python
Show steps
  • Review variables and data types
  • Review control flow
  • Review functions and modules
Nine other activities
Expand to see all activities and additional details
Show all 12 activities
Review Python
Reinforce foundational Python skills to strengthen understanding of upcoming course concepts.
Browse courses on Python
Show steps
  • Revisit fundamentals of Python syntax and data structures.
  • Practice writing simple Python programs to solve coding challenges.
  • Complete online tutorials or exercises to refresh your knowledge.
Read 'Deep Learning' by Ian Goodfellow, Yoshua Bengio, and Aaron Courville
This is the classic textbook on deep learning and it covers all the fundamentals.
View Deep Learning on Amazon
Show steps
  • Read Chapter 1: Introduction
  • Implement Perceptron Learning Algorithm
  • Read Chapter 2: Feedfoward Neural Networks
Solve leetcode problems on dynamic programming
Leetcode problems offer focused practice on specific coding techniques.
Browse courses on Dynamic programming
Show steps
  • Choose a problem
  • Read the problem statement
  • Design an algorithm
  • Implement the algorithm
  • Test the algorithm
Coding Challenges
Sharpen coding skills by solving practice problems and coding challenges related to computer vision and machine learning.
Browse courses on Programming
Show steps
  • Identify coding platforms or resources that offer coding challenges.
  • Select challenges that align with the concepts covered in the course.
  • Attempt to solve the challenges independently, researching and debugging as needed.
  • Review solutions and compare approaches with peers or online forums.
Write a blog post on your favorite topic in self-driving cars
Writing can solidify your understanding of the concepts.
Browse courses on Self-Driving Cars
Show steps
  • Choose a topic
  • Research the topic
  • Write an outline
  • Write the first draft
Interactive Visualization
Develop a deeper understanding of computer vision and data visualization by creating interactive visualizations using libraries such as OpenCV and matplotlib.
Browse courses on Data Visualization
Show steps
  • Choose a dataset related to computer vision, such as image recognition or object detection.
  • Apply data visualization techniques to explore and represent the data visually.
  • Implement interactive elements to allow users to explore the visualization and make inferences.
  • Share the visualization with peers or online communities for feedback and discussion.
Attend a local meetup on self-driving cars
Meetups provide opportunities to connect with others in the field.
Browse courses on Self-Driving Cars
Show steps
  • Find a meetup
  • Register for the meetup
  • Attend the meetup
Hackathon Participation
Immerse yourself in practical applications of self-driving car technologies by participating in hackathons focused on this domain.
Browse courses on Self-Driving Cars
Show steps
  • Identify hackathons related to self-driving cars or autonomous vehicles.
  • Form a team with complementary skills or join an existing team.
  • Develop and implement a project that addresses a specific challenge or proposes innovative solutions.
  • Present the project to judges and attendees, showcasing your technical abilities and problem-solving skills.
Compile your notes, assignments, quizzes, and exams
Organizing your materials will make them easier to review later.
Browse courses on Self-Driving Cars
Show steps
  • Gather your materials
  • Organize your materials
  • Review your materials

Career center

Learners who complete Self-Driving Car Engineer Nanodegree will develop knowledge and skills that may be useful to these careers:
Machine Learning Engineer
Machine Learning Engineers are responsible for designing, developing, and maintaining machine learning models. They work with data scientists to collect and prepare data, and then use their expertise in machine learning algorithms to build models that can make predictions or classifications. This course can help you become a Machine Learning Engineer by providing you with a strong foundation in the fundamentals of machine learning, including supervised learning, unsupervised learning, and deep learning. You will also learn how to use popular machine learning libraries such as TensorFlow and Keras.
Data Scientist
Data Scientists use their knowledge of statistics, machine learning, and data analysis to extract insights from data. They work with businesses to help them make better decisions by providing them with information about their customers, products, and operations. This course can help you become a Data Scientist by providing you with a strong foundation in the fundamentals of data science, including data collection, data preparation, data analysis, and data visualization. You will also learn how to use popular data science tools and technologies such as Python, R, and SQL.
Robotics Engineer
Robotics Engineers design, build, and maintain robots. They work with mechanical engineers, electrical engineers, and computer scientists to create robots that can perform a variety of tasks, from manufacturing to healthcare. This course can help you become a Robotics Engineer by providing you with a strong foundation in the fundamentals of robotics, including robot kinematics, dynamics, and control. You will also learn how to use popular robotics simulation software such as Gazebo and ROS.
Computer Vision Engineer
Computer Vision Engineers develop and implement algorithms that allow computers to see and interpret images. They work with computer scientists and electrical engineers to create systems that can identify objects, track movement, and understand the contents of images. This course can help you become a Computer Vision Engineer by providing you with a strong foundation in the fundamentals of computer vision, including image processing, feature extraction, and object recognition. You will also learn how to use popular computer vision libraries such as OpenCV and TensorFlow.
Software Engineer
Software Engineers design, develop, and maintain software applications. They work with businesses to understand their needs and then create software that meets those needs. This course can help you become a Software Engineer by providing you with a strong foundation in the fundamentals of software development, including programming languages, data structures, and algorithms. You will also learn how to use popular software development tools and technologies such as Git, GitHub, and Agile.
Electrical Engineer
Electrical Engineers design, develop, and maintain electrical systems. They work with businesses and governments to create systems that provide power, light, and communication. This course may be useful for Electrical Engineers who want to learn more about the fundamentals of self-driving cars, including sensors, actuators, and control systems.
Mechanical Engineer
Mechanical Engineers design, develop, and maintain mechanical systems. They work with businesses and governments to create systems that move, lift, and transform objects. This course may be useful for Mechanical Engineers who want to learn more about the fundamentals of self-driving cars, including vehicle dynamics, suspension systems, and braking systems.
Systems Engineer
Systems Engineers design, develop, and maintain complex systems. They work with businesses and governments to create systems that meet the needs of users and stakeholders. This course may be useful for Systems Engineers who want to learn more about the fundamentals of self-driving cars, including system architecture, integration, and testing.
Statistician
Statisticians collect, analyze, and interpret data. They work with businesses and governments to make informed decisions. This course may be useful for Statisticians who want to learn more about the fundamentals of self-driving cars, including the statistics of sensor data, traffic patterns, and accident rates.
Physicist
Physicists study the laws of nature and matter. They work with businesses and governments to create new technologies and solve problems. This course may be useful for Physicists who want to learn more about the fundamentals of self-driving cars, including the laws of motion, energy, and momentum.
Mathematician
Mathematicians study the properties of numbers, shapes, and patterns. They work with businesses and governments to create new technologies and solve problems. This course may be useful for Mathematicians who want to learn more about the fundamentals of self-driving cars, including the mathematics of motion, control, and optimization.
Transportation Planner
Transportation Planners develop and implement plans for the transportation system. They work with governments and businesses to create systems that meet the needs of users and stakeholders. This course may be useful for Transportation Planners who want to learn more about the impact of self-driving cars on the transportation system, including the design of roads and highways, the planning of public transportation, and the regulation of traffic.
Policy Analyst
Policy Analysts study and analyze public policy. They work with governments to develop and implement policies that meet the needs of citizens. This course may be useful for Policy Analysts who want to learn more about the policy implications of self-driving cars, including the regulation of self-driving cars, the liability for accidents, and the impact on public transportation.
Economist
Economists study the production, distribution, and consumption of goods and services. They work with businesses and governments to make informed decisions about economic policy. This course may be useful for Economists who want to learn more about the economics of self-driving cars, including the impact on transportation, employment, and the environment.
Urban Planner
Urban Planners develop and implement plans for the development of cities and towns. They work with governments and businesses to create communities that are livable, sustainable, and prosperous. This course may be useful for Urban Planners who want to learn more about the impact of self-driving cars on the built environment, including the design of streets and sidewalks, the planning of land use, and the regulation of development.

Reading list

We've selected 11 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Self-Driving Car Engineer Nanodegree.
Provides a comprehensive treatment of deep learning, covering topics such as convolutional neural networks, recurrent neural networks, and generative adversarial networks. It valuable resource for those interested in the deep learning algorithms used in self-driving cars.
Provides a comprehensive treatment of machine learning, covering topics such as supervised learning, unsupervised learning, and reinforcement learning. It valuable resource for those interested in the machine learning algorithms used in self-driving cars.
Provides a comprehensive treatment of reinforcement learning, covering topics such as Markov decision processes, value functions, and policy gradients. It valuable resource for those interested in the reinforcement learning algorithms used in self-driving cars.
Provides a comprehensive treatment of probabilistic robotics, which is essential for understanding the algorithms used in self-driving cars for localization, mapping, and planning.
Provides a comprehensive treatment of computer vision, spanning topics such as image formation, feature detection, object recognition, and image segmentation. It valuable resource for those interested in the underlying principles of computer vision for self-driving cars.
Provides a comprehensive treatment of nonlinear control systems, covering topics such as stability analysis, feedback linearization, and sliding mode control. It valuable resource for those interested in the control algorithms used in self-driving cars.
Provides a comprehensive treatment of Bayesian reasoning and machine learning, covering topics such as Bayes' theorem, Bayesian inference, and Bayesian model selection. It valuable resource for those interested in the Bayesian methods used in self-driving cars.
Provides a comprehensive treatment of automotive control systems, covering topics such as engine control, transmission control, and braking systems. It valuable resource for those interested in the control systems used in self-driving cars.
Provides a comprehensive treatment of embedded systems, covering topics such as embedded hardware, software design, and real-time systems. It valuable resource for those interested in the embedded systems used in self-driving cars.
Provides a comprehensive treatment of computer architecture, covering topics such as computer organization, instruction set architecture, and memory hierarchy. It valuable resource for those interested in the hardware architecture of self-driving cars.
Provides a comprehensive treatment of convex optimization, covering topics such as linear programming, quadratic programming, and semidefinite programming. It valuable resource for those interested in the optimization algorithms used in self-driving cars.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Self-Driving Car Engineer Nanodegree.
Machine Learning Engineer Nanodegree
Most relevant
Artificial Intelligence - Voice User Interfaces
Most relevant
Artificial Intelligence - Natural Language Processing
Most relevant
Artificial Intelligence - Computer Vision
Most relevant
Artificial Intelligence - Deep Learning
Most relevant
Self-Driving Car Engineer - Computer Vision
Most relevant
Self-Driving Car Engineer - Localization
Most relevant
Self-Driving Car Engineer - System Integration
Most relevant
Introduction to Self-Driving Cars
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser