Skip to content

Self-Driving Car Engineer

Nanodegree Program

Self-driving cars are transformational technology, on the cutting-edge of robotics, machine learning and engineering. Learn the skills and techniques used by self-driving car teams at the most advanced technology companies in the world.

Enroll Now
  • Estimated time
    5 Months

    At 10 hours/week

  • Enroll by
    June 7, 2023

    Get access to the classroom immediately on enrollment

  • Skills acquired
    Point Cloud Data, Sensor Fusion, Kalman Filters
Built in partnership with
  • Waymo
  • Mercedes-Benz

What you will learn

  1. Self-Driving Car Engineer

    5 months to complete

    In this program, you will learn the techniques that power self-driving cars across the full stack of a vehicle’s autonomous capabilities. Using Deep Learning with radar and lidar sensor fusion, you will train the vehicle to detect and identify its surroundings to inform navigation.

    Prerequisite knowledge

    Python, C++, Linear Algebra and Calculus.

    1. Computer Vision

      In this course, you will develop critical Machine Learning skills that are commonly leveraged in autonomous vehicle engineering. You will learn about the life cycle of a Machine Learning project, from framing the problem and choosing metrics to training and improving models. This course will focus on the camera sensor and you will learn how to process raw digital images before feeding them into different algorithms, such as neural networks. You will build convolutional neural networks using TensorFlow and learn how to classify and detect objects in images. With this course, you will be exposed to the whole Machine Learning workflow and get a good understanding of the work of a Machine Learning Engineer and how it translates to the autonomous vehicle context.

    2. Sensor Fusion

      In this course, you will learn about a key enabler for self-driving cars: sensor fusion. Besides cameras, self-driving cars rely on other sensors with complementary measurement principles to improve robustness and reliability. Therefore, you will learn about the lidar sensor and its role in the autonomous vehicle sensor suite. You will learn about the lidar working principle, get an overview of currently available lidar types and their differences, and look at relevant criteria for sensor selection. Also, you will learn how to detect objects such as vehicles in a 3D lidar point cloud using a deep-learning approach and then evaluate detection performance using a set of state-of-the-art metrics.

      In the second half of the course, you will learn how to fuse camera and lidar detections and track objects over time with an Extended Kalman Filter. You will get hands-on experience with multi-target tracking, where you will learn how to initialize, update and delete tracks, assign measurements to tracks with data association techniques and manage several tracks simultaneously. After completing the course, you will have a solid foundation to work as a sensor fusion engineer on self-driving cars.

    3. Localization

      In this course, you will learn all about robotic localization, from one-dimensional motion models up to using three-dimensional point cloud maps obtained from lidar sensors. You’ll begin by learning about the bicycle motion model, an approach to use simple motion to estimate location at the next time step, before gathering sensor data. Then, you’ll move onto using Markov localization in order to do 1D object tracking, as well as further leveraging motion models. From there, you will learn how to implement two scan matching algorithms, Iterative Closest Point (ICP) and Normal Distributions Transform (NDP), which work with 2D and 3D data. Finally, you will utilize these scan matching algorithms in the Point Cloud Library (PCL) to localize a simulated car with lidar sensing, using a 3D point cloud map obtained from the CARLA simulator.

    4. Planning

      Path planning routes a vehicle from one point to another, and it handles how to react when emergencies arise. The Mercedes-Benz Vehicle Intelligence team will take you through the three stages of path planning. First, you’ll apply model-driven and data-driven approaches to predict how other vehicles on the road will behave. Then you’ll construct a finite state machine to decide which of several maneuvers your own vehicle should undertake. Finally, you’ll generate a safe and comfortable trajectory to execute that maneuver.

    5. Control

      This course will teach you how to control a car once you have a desired trajectory. In other words, how to activate the throttle and the steering wheel of the car to move it following a trajectory described by coordinates. The course will cover the most basic but also the most common controller: the Proportional Integral Derivative or PID controller. You will understand the basic principle of feedback control and how they are used in autonomous driving techniques.

All our programs include

  • Real-world projects from industry experts

    With real-world projects and immersive content built in partnership with top-tier companies, you’ll master the tech skills companies want.

  • Real-time support

    On demand help. Receive instant help with your learning directly in the classroom. Stay on track and get unstuck.

  • Career services

    You’ll have access to Github portfolio review and LinkedIn profile optimization to help you advance your career and land a high-paying role.

  • Flexible learning program

    Tailor a learning plan that fits your busy life. Learn at your own pace and reach your personal goals on the schedule that works best for you.

Program offerings

  • Class Content

    • Content Co-created with Mercedes-Benz
    • Real-world projects
    • Project reviews
    • Project feedback from experienced reviewers
  • Student services

    • Student community
    • Real-time support
  • Career services

    • Github review
    • Linkedin profile optimization

Succeed with personalized services.

We provide services customized for your needs at every step of your learning journey to ensure your success.

Get timely feedback on your projects.

  • Personalized feedback
  • Unlimited submissions and feedback loops
  • Practical tips and industry best practices
  • Additional suggested resources to improve
  • 1,400+

    project reviewers

  • 2.7M

    projects reviewed

  • 88/100

    reviewer rating

  • 1.1 hours

    avg project review turnaround time

Learn with the best.

Learn with the best.

  • Thomas Hossler

    Sr Deep Learning Engineer

    Thomas is originally a geophysicist but his passion for Computer Vision led him to become a Deep Learning engineer at various startups. By creating online courses, he is hoping to make education more accessible. When he is not coding, Thomas can be found in the mountains skiing or climbing.

  • Antje Muntzinger

    Self-Driving Car Engineer

    Antje Muntzinger is a technical lead for sensor fusion at Mercedes-Benz. She wrote her PhD about sensor fusion for advanced driver assistance systems and holds a diploma in mathematics. By educating more self-driving car engineers, she hopes to realize the dream of fully autonomous driving together in the future.

  • Andreas Haja


    Andreas Haja is an engineer, educator and autonomous vehicle enthusiast with a PhD in computer science. Andreas now works as a professor, where he focuses on project-based learning in engineering. During his career with Volkswagen and Bosch he developed camera technology and autonomous vehicle prototypes.

  • Aaron Brown

    Senior AV Software Engineer

    Aaron has a background in electrical engineering, robotics and deep learning. Currently working with Mercedes-Benz Research & Development as a Senior AV Software Engineer, he has worked as a Content Developer and Simulation Engineer at Udacity focusing on developing projects for self-driving cars.

  • Munir Jojo Verge

    Lead Autonomous & AI Systems Developer at MITRE

    Before MITRE, Munir was a Motion Planning & Decision-Making Manager at Amazon. He also worked for a 2 Self-driving car companies and for WaltDisney Shanghai building TronLightcycle. Munir holds a B.Eng. in Aerospace, a M.S. in Physics, and a M.S. in Space Studies.

  • Mathilde Badoual

    Fifth year PhD student at UC Berkeley

    Mathilde has a strong background in optimization and control, including reinforcement learning and has an engineering diploma from the electrical engineering school Supelec, in France. Previously she worked at Tesla in the energy and optimization team.

  • David Silver

    Senior Software Engineer

    Prior to working as a Senior Software Engineer in the autonomous vehicle industry, David Silver led School of Autonomous Systems at Udacity. David was also a research engineer on the autonomous vehicle team at Ford. He has an MBA from Stanford, and a BSE in computer science from Princeton.

Self-Driving Car Engineer Nanodegree

Get started today

    • Learn

      Power self-driving vehicles by implementing detection, classification, prediction and path planning.

    • Average Time

      On average, successful students take 5 months to complete this program.

    • Benefits include

      • Real-world projects from industry experts
      • Real-time classroom support
      • Career services

    Program Details

    Program overview: Why should I take this program?
    • Why should I enroll?

      The Self-Driving Car Engineer Nanodegree program is one of the only programs in the world to both teach students how to become a self-driving car engineer, and support students in obtaining a job within the field of autonomous systems. The program’s projects equip students with invaluable skills across a wide array of critical topics, including computer vision, sensor fusion, localization, motion control, and more. As part of their capstone project, students have the opportunity to run their code on the open source simulator CARLA.

    • What jobs will this program prepare me for?

      Our wide-ranging curriculum will prepare you for a variety of roles in the autonomous vehicle industry, including: System Software Engineer, Deep Learning Engineer, Vehicle Software Engineer, Localization and Mapping Engineer and many others. If you elect to work outside of automotive engineering, your foundation in deep learning and robotics will enable you to fill any number of related roles in artificial intelligence, computer vision, machine learning, and more.

    • How do I know if this program is right for me?

      This advanced Nanodegree program is ideal for anyone with a programming, technical, or quantitative background who is interested in obtaining a job within the field of autonomous systems, or refreshing or developing their skills within the realm of machine and deep learning, systems integration, sensor fusion, and many others.

    • What is the difference between the Intro to Self-Driving Cars Nanodegree program and the Self-Driving Car Engineer Nanodegree program?

      The Intro to Self-Driving Cars Nanodegree program is an intermediate program open to anyone with an interest in autonomous systems, who has some programming experience, and/or a quantitative background. The Self-Driving Car Engineer Nanodegree program is an advanced program focusing on in-depth knowledge of autonomous systems. The program is designed for those with moderate to high programming, technical, and/or quantitative skills.

    Enrollment and admission
    • Do I need to apply? What are the admission criteria?

      There is no application. This Nanodegree program accepts everyone, regardless of experience and specific background.

    • What are the prerequisites for enrollment?

      A well prepared student will be able to:

      • Build object-oriented programs in any language (ideally Python or C++)
      • Compute integrals and derivatives of polynomial functions
      • Multiply matrices and understand related aspects of linear algebra
      • Calculate mean, median, and standard deviation of a dataset
      • Model the effects of forces on point masses
    • If I do not meet the requirements to enroll, what should I do?

      We have a number of Nanodegree programs and free courses that can help you prepare, including: Intro to Self-Driving Cars Nanodegree program, Robotics Software Engineer Nanodegree program, and AI for Robotics Course.

    Tuition and term of program
    • How is this Nanodegree program structured?

      The Self-Driving Car Engineer Nanodegree program is comprised of content and curriculum to support six (6) projects. We estimate that students can complete the program in five (5) months, working 10 hours per week.

      Each project will be reviewed by the Udacity reviewer network. Feedback will be provided and if you do not pass the project, you will be asked to resubmit the project until it passes.

    • How long is this Nanodegree program?

      Access to this Nanodegree program runs for the length of time specified above. If you do not graduate within that time period, you will continue learning with month-to-month payments. See the Terms of Use and FAQs for other policies regarding the terms of access to our Nanodegree programs.

    • Can I switch my start date? Can I get a refund?

      Please see the Udacity Program FAQs for policies on enrollment in our programs.

    • I have graduated from the Self-Driving Car Engineer Nanodegree program but I want to keep learning. Where should I go from here?

      Once you have completed the Self-Driving Car Engineer Nanodegree program, the Robotics Software Engineer Nanodegree program and the Flying Car Nanodegree program are ideal for continuing your learning.

    Software and hardware: What do I need for this program?
    • What software and versions will I need in this program?

      For this Nanodegree program, you will need to the minimum equipment requirements outlined here:

    • Which libraries or languages are used in this program?

      The following versions are used in this program (subject to update):

      • Tensorflow version 2+
      • Python version 3
      • C++ version 14

    Self-Driving Car Engineer Nanodegree

    Enroll Now