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

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.

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:

Here's a deal for you

Save money when you learn with a deal that may be relevant to this course.
All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

Traffic lights

Read about what's good
what should give you pause
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

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Rigorous, project-based self-driving car training

According to learners, the Self-Driving Car Engineer Nanodegree offers a rigorous and practical curriculum designed for aspiring professionals in the field. The program is widely highlighted for its challenging hands-on projects, which effectively bridge theoretical concepts with real-world application. Students frequently emphasize the critical necessity of strong foundational knowledge in C++ and Python, alongside core mathematics, aligning directly with the stated prerequisites. While demanding in terms of effort and prior skills, the course is generally perceived as a highly valuable investment for career advancement within the autonomous vehicle industry, though some learners suggest that further self-study may be beneficial for deeper specialization in certain niches.
Covers a wide array of topics, some requiring deeper study.
"The program covers a broad range of topics from computer vision to control, which is great for an overview of the entire self-driving car pipeline."
"While comprehensive, I felt some advanced topics, particularly optimization techniques, could use more in-depth coverage to achieve true mastery."
"The modules provide a solid foundation, but for a deeper understanding or specialized knowledge, I often found myself doing additional research and self-study."
Access to helpful mentors and a collaborative learning community.
"The project reviewers and mentors provided constructive feedback that was essential for my progress. Their insights were truly helpful in debugging and refining my work."
"I really appreciated the community forums where I could ask questions and learn from other students' experiences; it fostered a great learning environment."
"Having access to experts for project reviews really elevated the learning experience and helped me understand complex problems more thoroughly."
Highly relevant for a career in autonomous vehicles.
"The skills I learned are directly applicable to roles in the self-driving car industry, making this program highly valuable for career advancement."
"I feel much better prepared for job interviews after completing this program. The practical knowledge gained was incredibly relevant to industry expectations."
"This course is an excellent pathway for those looking to transition into the autonomous vehicle field; it provides a comprehensive and modern overview."
Focuses on applied learning through robust, real-world projects.
"The hands-on coding and projects are the strongest part of the course for me, they truly solidify understanding and apply directly to real-world scenarios."
"I really loved the practical applications; the challenging projects made the concepts concrete and not just theoretical abstractions."
"Building the self-driving car components through the projects was incredibly rewarding and educational, providing invaluable experience."
Demands significant prior knowledge and dedication from students.
"This nanodegree is very challenging; you absolutely need to have a strong grasp of the prerequisites, especially C++ and linear algebra, to succeed and not struggle."
"I found the course quite demanding, particularly if your C++ isn't rock solid before starting. It's definitely not for programming novices."
"Be prepared for a steep learning curve and a significant time commitment. It's a deep dive into complex topics, requiring dedication and effort."

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.
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.
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.
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.
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.
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.
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.

Featured in The Course Notes

This course is mentioned in our blog, The Course Notes. Read one article that features Self-Driving Car Engineer Nanodegree:

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

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser