Nanodegree Program

Become a Self-Driving Car Engineer

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.

  • Estimated Time
    6 months

    At 15 hrs/week

  • Enroll by
    January 28, 2020

    Get access to classroom immediately on enrollment

  • Prerequisites
    Python, C++, Mathematics

    See prerequisites in detail

Built in partnership with

What You Will Learn

Download Syllabus
Syllabus

Self-Driving Car Engineer

You'll first apply computer vision and deep learning to automotive problems, including detecting lane lines, predicting steering angles, and more. Next, you'll learn sensor fusion, which you'll use to filter data from an array of sensors in order to perceive the environment. Then, you'll work with a team to program Carla, Udacity’s real self-driving car.

Apply computer vision, deep learning, and sensor fusion to automotive problems. Then work with a team on Carla, Udacity's own Self-Driving Car.

Hide details

6 months to complete

Prerequisite Knowledge

Students should have experience with Python, C++, Linear Algebra, and Calculus. See detailed requirements.

  • Introduction

    Learn about how self-driving cars work and about the services available to you as part of the Nanodegree program.

  • Computer Vision

    Use a combination of cameras and software to find lane lines on difficult roads and to track vehicles.

    Finding Lane Lines on the RoadAdvanced Lane Finding
  • Deep Learning

    Deep learning has become the most important frontier in both machine learning and autonomous vehicle development. Experts from NVIDIA will teach you to build deep neural networks and train them with data from the real world and from the Udacity simulator. You’ll train convolutional neural networks to classify traffic signs, and then train a neural network to drive a vehicle in the simulator!

    Traffic Sign ClassifierBehavioral Cloning
  • Sensor Fusion

    Tracking objects over time is a major challenge for understanding the environment surrounding a vehicle. Sensor fusion engineers from Mercedes-Benz will show you how to program fundamental mathematical tools called Kalman filters. These filters predict and determine with certainty the location of other vehicles on the road. You’ll even learn to do this with difficult-to-follow objects by using an extended Kalman filter, an advanced technique.

    Extended Kalman Filters
  • Localization

    Localization is how we determine where our vehicle is in the world. GPS is only accurate to within a few meters. We need single-digit centimeter-level accuracy! To achieve this, Mercedes-Benz engineers will demonstrate the principles of Markov localization to program a particle filter, which uses data and a map to determine the precise location of a vehicle.

    Kidnapped Vehicle
  • Planning

    The Mercedes-Benz team will take you through the three stages of 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.

    Highway Driving
  • Control

    Ultimately, a self-driving car is still a car, and we need to send steering, acceleration, and brake commands to move the car through the world. Uber ATG will walk you through building a proportional-integral-derivative (PID) controller to actuate the vehicle.

    PID Controller
  • System Integration

    This is the capstone of the entire Self-Driving Car Engineer Nanodegree Program! We’ll introduce Carla, the Udacity self-driving car, and the Robot Operating System that controls her. You’ll work with a team of Nanodegree students to combine what you’ve learned over the course of the entire Nanodegree Program to drive Carla, a real self-driving car, around the Udacity test track!

    Programming a Real Self-Driving Car
Icon - Dark upwards trend arrow

As a self-driving car engineer, you have the potential to help save over 1 million people per year!

All Our Nanodegree 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.

Technical mentor support

Our knowledgeable mentors guide your learning and are focused on answering your questions, motivating you and keeping you on track.

Personal career coach and career services

You’ll have access to career coaching sessions, interview prep advice, and resume and online professional profile reviews to help you grow in your career.

Flexible learning program

Get a custom learning plan tailored to fit your busy life. Learn at your own pace and reach your personal goals on the schedule that works best for you.
Program OfferingsFull list of offerings included:
Pay as you go plan
another plan
Class Content
Content Co-created with Mercedes-Benz
icon-checkmarkCheckmark
icon-checkmarkCheckmark
Real-world projects
icon-checkmarkCheckmark
Project reviews
icon-checkmarkCheckmark
Project feedback from experienced reviewers
icon-checkmarkCheckmark
Student Services
Technical mentor support
New
icon-checkmarkCheckmark
Student community
Improved
icon-checkmarkCheckmark
Career services
Personal career coaching
New
icon-checkmarkCheckmark
Interview preparations
icon-checkmarkCheckmark
Resume services
icon-checkmarkCheckmark
Github review
icon-checkmarkCheckmark
LinkedIn profile review
icon-checkmarkCheckmark
Resume shared with 95+ employers
New
icon-checkmarkCheckmark
Succeed with Personalized Services
We provide services customized for your needs at every step of your learning journey to ensure your success!
Experienced Project Reviewers
Technical Mentor Support
Personal Career Coach
Get personalized feedback on your projects
Reviews By the numbers
2000+ project reviewers
1.8M projects reviewed
4.85/5 reviewer ratings
3 hour avg project review turnaround time
Reviewer Services
  • Personalized feedback
  • Unlimited submissions and feedback loops
  • Practical tips and industry best practices
  • Additional suggested resources to improve
Succeed with Personalized Services
We provide services customized for your needs at every step of your learning journey to ensure your success!
Project Reviewers
Technical Mentor Support
Career Coaching
Get personalized feedback on your projects
Reviews By the numbers
2000+ project reviewers
1.8M projects reviewed
4.85/5 reviewer ratings
3 hour avg project review turnaround time
Reviewer Services
  • Personalized feedback
  • Unlimited submissions and feedback loops
  • Practical tips and industry best practices
  • Additional suggested resources to improve

Learn with the best

Sebastian Thrun
Sebastian Thrun

Udacity President

Scientist, educator, inventor, and entrepreneur, Sebastian led the self-driving car project at Google X and founded Udacity, whose mission is to democratize education by providing lifelong, on-demand learning to millions of students around the world.

David Silver
David Silver

Curriculum Lead

David Silver leads the School of Autonomous Systems at Udacity. Before Udacity, David was a research engineer on the autonomous vehicle team at Ford. He has an MBA from Stanford, and a BSE in computer science from Princeton.

Ryan Keenan
Ryan Keenan

Course Developer

Ryan has a PhD in Astrophysics and a passion for teaching and learning. He is also a lead instructor in the Robotics Nanodegree program. When he’s not building Udacious learning content you’ll find him up in the mountains or out in the surf.

Cezanne Camacho
Cezanne Camacho

Course Developer

Cezanne is an expert in computer vision with an M.S. in Electrical Engineering from Stanford University. Inspired by anyone with the drive and imagination to learn something new, she aims to create more inclusive and effective STEM education.

Mercedes-Benz
Mercedes-Benz

Mercedes-Benz Team

Mercedes-Benz R&D North America develops the world’s most advanced automotive technology and vehicle design with luxury and style. The team from Mercedes built our Sensor Fusion, Localization, and Path Planning content.

NVIDIA
NVIDIA

Nvidia Team

NVIDIA is a company built upon great minds and groundbreaking research. GPU deep learning has ignited modern AI - the next era of computing - with the GPU acting as the brain of computers, robots, and self-driving cars that can perceive and understand the world.

Uber ATG
Uber ATG

Uber ATG Team

The Advanced Technologies Group is comprised of Uber’s self-driving engineering team dedicated to self-driving technologies, mapping, and vehicle safety.

Student Reviews

4.8

(964)

Farhan A.

This Nanodegree is an excellent introduction to autonomous driving. It has a mix of classical machine learning, deep learning and robotics and every lesson is taught with a programming quiz and every module has a programming project that involves building some component of a typical self-driving car software stack. As someone with a computer science background with some robotics experience, I enjoyed every bit of this Nanodegree. I was awestruck to find out that many of the techniques taught in the Nanodegree have been used by Google self-driving car and also being used by the latest breed of autonomous vehicles from Mercedes to Baidu. I'd like to see a sequel with more advanced content from computer vision, deep learning and control perhaps centred around a state-of-the-art simulator like Carla or Apollo that includes working with LIDAR and RADAR data, programming the CAN bus, 3D segmentation, object tracking, simulation and more.

Krishna K.

I had been an enthusiast and have been passively following the progress of deep learning and self driving cars, although i did take the advanced AI course (self driving cars) course with Udacity, it was much more theoretical. I finally had some time to take this course, i am blown away by how well thought out this course is, from course content to projects that are very practical. I can honestly say that i was enjoying the process of working through the projects as they were very practical, i feel like i have a much deeper understanding of how self driving cars work, i can navigate through this space by making sense of published papers in this space. I would also add that this is the best online class experience i had having taken several online courses. Can't wait to start term 2. Thank you for making this process such a joy.

Tim H.

I had no idea online training could be so thorough and rigorous. I haven't worked this hard since graduate school! Enjoyed every minute of it. Also would like to mention the level of professionalism and complexity of the web content. The material was well laid out and all of the mechanics of user interaction worked superbly - no flaws. Same for all of the downloads, project code, libraries, etc. - always worked. The level of the instructors was outstanding, the very best in their field. Could not get this level of instructors at a single top-level university. The staff was excellent as well. Always experienced prompt responses. The project reviews where next day, very thorough, and helpful - not just a quick cursory glance. All in all, a great experience.

Anu A.

The SDC-ND program has step-by-step guide towards understanding each concept. They let you code even a small concept, this led to a clear understanding of big concepts Eg. gradient descent. I totally agree until we code every damn part, we cannot have a good grasp of NN concepts. Thank you guys for building a material that gives clear understanding of concepts through code. Also, I recommend not to see the solutions until you come up with your own because mostly your struggle through the code will help you to learn these concepts. If you watch given solutions, it will look obvious to you, & you will miss the stupid error fixes which will be a huge bottleneck when you code a big project. This way you might progress slow but the learning curve will be steep.

Shreyas R.

This is a one of a kind nanodegree from giving brain to the car to giving it eyes and senses , I'm learning it all ! I specifically like the part that many industry experts teach the module giving a perfect insight how real self driving car works. It's a tough nanodegree and requires full focus but once you start the course you'll obviously be so excited to learn new techniques. David Silver , Sebastian Thrun and the entire team at Udacity has done a commendable job. The best course I've ever taken and yeah , It also helped me get a job since the teaching are not only specific to SDC but also to application of Computer Vision , Deep Learning and Sensor controls.

Vishal R.

I am deeply proud to be the part of this amazing nano-degree and learning about Self-Driving Cars (SDC) in depth. By the completion of my term 1, I already got 2 job interviews for Deep Learning and Computer Vision profile in SDC space. Credit of this entire goes to my amazing instructor David Silver as well as all the other instructors of this program including entire team of SDCND and Udacity. This is an amazing journey and I am falling in love with every bit of this program. Definitely better than conventional learning and totally worth time and energy. Everything about Self-Driving Car Nano-degree program is Stupendous! Proud to be an Udacian.

The Udacity Impact

Numbers don't lie. See what difference it makes in career searches.*

84%
Better Jobs

Career-seeking and job-ready graduates found a new, better job within six months of graduation.

$24,000
Salary Increase

Average salary increase for graduates who found a new, better job within six months of graduation.

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 nine projects equip students with invaluable skills across a wide array of critical topics, including deep learning, computer vision, sensor fusion, localization, controllers, vehicle kinematics, automotive hardware, and more. As part of their capstone project, students have the rare opportunity to run their code on an actual autonomous vehicle owned by Udacity.

  • 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?

    Students should have prior experience with the following:

    • Intermediate Python or C++
    • Basic Linear Algebra
    • Basic Calculus
    • Basic Statistics
    • Basic Physics

    You will also need to be able to communicate fluently and professionally in written and spoken English.

  • 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 nine (9) projects. We estimate that students can complete the program in six (6) months, working 15 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 in the payment card 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 Nanodegree 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: https://www.udacity.com/tech-requirements.

  • Which version of TensorFlow, Keras, ROS, and C++ are taught in this program?

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

    • TensorFlow Version 1.3
    • Keras version 2
    • ROS Kinetic
    • Python Version 3
    • C++ Version 11

Self-Driving Car Engineer Nanodegree