Nanodegree Program

Start on the road to a Self-Driving Car career

This introductory program is the perfect way to start your journey.

Enrollment Closing In

Enroll by October 30, 2018

  • Time
    4-month term

    Study 10 hrs/week and complete in 4 mo.

  • Classroom Opens
    October 30, 2018
  • Prerequisites
    Programming & Mathematics

    See prerequisites in detail

Intro to Self-Driving Cars

Why Take This Nanodegree Program?

With just minimal programming experience, you can learn the essentials of building a self-driving car. You’ll discover how to solve problems in both Python and C++ as you explore what makes self-driving cars possible. Plus, graduates earn guaranteed admission into our career-ready Self-Driving Car Engineer Nanodegree program!

Why Take This Nanodegree Program?

Researchers estimate driverless cars will save
10 million
lives per decade!

Groundbreaking Curriculum
Groundbreaking Curriculum

Groundbreaking Curriculum

Sebastian Thrun and the Udacity Self-Driving Car team are pioneering educators in this field, and Udacity offers the only program of its kind, where you can learn to be a self-driving car engineer.

Mentorship, Project Reviews, Community

Mentorship, Project Reviews, Community

Your assigned in-classroom mentor will help answer questions and monitor your progress, reviewers will give you actionable feedback on your projects, and you'll be part of an engaged and supportive peer community.

Minimal programming experience required
Minimal programming experience required

Minimal programming experience required

Anyone with minimal programming experience can learn the essentials of building a self-driving car. You will learn how to solve problems in both Python and C++ as you discover what makes self-driving cars possible.

Guaranteed Admission

Guaranteed Admission

Graduates of this program will earn guaranteed admission into our Self-Driving Car Engineer, AI for Robotics, or Flying Car Nanodegree program. This is the launching point for your career in autonomous systems and a complete path to a self-driving car career.

Guaranteed Admission

As a graduate of the Intro to Self-Driving Cars Nanodegree program, you'll be prepared to take on more advanced concepts within the School of Autonomous Systems. Work to become a self-driving car engineer or an autonomous flight engineer with guaranteed admission into the Self-Driving Car Engineer Nanodegree program and the Flying Car Engineer Nanodegree program. Continue learning and advance your career as you build skills in deep learning, machine learning, localization, control, and more as part of the groundbreaking curriculum built with our pioneering industry collaborators.

Enroll in the Intro to Self-Driving Cars Nanodegree program

Graduate from the program

Gain guaranteed admission into the Self-Driving Car Engineer or Flying Car Engineer Nanodegree programs

What You Will Learn

Download Syllabus

Intro to Self-Driving Cars

In this program, you’ll sharpen your Python skills, apply C++, apply matrices and calculus in code, and touch on computer vision and machine learning. These concepts will be applied to solving self-driving car problems. At the end, you’ll be ready for our Self-Driving Car Engineer Nanodegree program!

Work on self-driving car problems using Python, C++, matrices and calculus in code, and computer vision/machine learning.

See fewer details

4 months to complete

Prerequisite Knowledge

You should be comfortable reading and modifying code. You should also be comfortable with basic algebra.See detailed requirements.

  • Bayesian Thinking

    Learn the framework that underlies a self-driving car’s understanding of itself and the world around it, and to see the world the way a self-driving car does.

    Joy Ride2D Histogram Filter in Python
  • Working with Matrices

    This course will focus on two tools which are vital to self-driving car engineers: object oriented programming and linear algebra.

    Implement a Matrix Class
  • C++ Basics

    This course is the first step in a rewarding journey towards C++ expertise. The goal is translation: get a program written in Python, and translate it into C++.

    Translate Python to C++
  • Performance Programming in C++

    Explore how to write good code that runs correctly. We’ll focus primarily on low level features of C++, but we’ll discuss other best practices as well.

    Performant C++
  • Navigating Complex Data Structures

    Algorithmic thinking is a skill you’ll refine throughout your career. In this course you’ll focus on frequently used data structures and algorithms.

    Planning an Optimal Path
  • Visualizing Calculus and Controls

    In this course you’ll learn basic calculus—the mathematics of continuity. You’ll also learn to use some of Python’s most popular visualization libraries.

    Trajectory Visualizer
  • Machine Learning and Computer Vision

    In this course you’ll learn how a computer sees an image, and how we can use machine learning to teach a computer to identify images programmatically.

    Image Classifier from Scratch
As self-driving cars start taking over the world, everyone should be a part of this revolution. I am very confident that Udacity students will be the catalyst.
— Sebastian Thrun

Learn with the best

Sebastian Thrun
Sebastian Thrun

Udacity President

As the founder and president of Udacity, Sebastian’s mission is to democratize education. He is also the founder of Google X, where he led projects including the Self-Driving Car, Google Glass and more.

Andy Brown
Andy Brown

Curriculum Lead

Andy has a bachelor's degree in physics from MIT, and taught himself to program after college (mostly with Udacity courses). He has been helping Udacity make incredible educational experiences since the early days of the company.

Cezanne Camacho
Cezanne Camacho

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

Andrew Paster
Andrew Paster

Content Developer

As an engineer, Andrew is excited to teach the technology of the future. With an engineering degree from Yale and years of tutoring experience, he strives to provide the most fulfilling learning experiences possible.

Anthony Navarro
Anthony Navarro

Product Lead

Anthony is a US Army combat veteran with an M.S. in Computer Engineering from Colorado State University. Prior to being a Product Lead at Udacity, he was a Senior Software Engineer at Lockheed Martin in their Autonomous Systems R&D division.

Elecia White
Elecia White

Engineer, Author, Host

Elecia is an embedded software engineer at Logical Elegance, Inc, the author of O’Reilly’s Making Embedded Systems, and host of the podcast. She enjoys sharing her enthusiasm for engineering and devices.

Tarin Ziyaee
Tarin Ziyaee

Voyage, Director of AI

As the Director of Artificial Intelligence at Voyage Auto, Tarin works to deliver low-cost, self-driving taxis. He brings a total of 14 years experience in perception and deep neural networks working with companies such as Apple.

Student Reviews



5 stars
4 stars
3 stars
2 stars
1 stars
Abdelrahman A.

The program is very well all it needs is to be downloadable as it has a very precious detailed knowledge

Michale E. B.

...going?! The program went well!! I finished ahead of time....My expectations were fully met.

Dan S.

Very worthwhile program. I learned many topics of interest. The hands-on coding and exercises were very beneficial


The mentor(s) provide prompt responses and the quality of content is just out of this world. The course also comes with interesting videos and challenges that make it easy to relate the complex concepts used in Self Driving Cars by simple every day activities.

Carlos L.

The Intro to Self-Driving Cars Nanodegree is an excellent program. It is going well above all the Artificial Intelligence courses I have ever taken. I went to college to study CS, and now at Udacity I see how its instructors make many complex concepts very easy to understand. Thank you for making this learning experience possible!!

Learn now, pay later

To make it even easier to learn, you can finance your Nanodegree through Affirm.

  • Easy monthly payments

    As low as $84 per month at 0% APR.

    Learn more.

  • Flexible Payments

    Pay your monthly bill using a bank transfer, check, or debit card.

Get Started Now

Join Now

Intro to Self-Driving Cars

as low as
Enroll now
Learn the essentials of building a self-driving car, including probability, C++, machine learning, and linear algebra.

Program Details

  • Why should I enroll?

    Self-driving cars are the future of smart transportation, and this introductory program is the perfect way to start your journey to a self-driving car career! This program enables anyone with minimal programming experience to learn the essentials of programming a self-driving car, from machine learning to object-oriented programming to probabilistic robotics. You will learn how to solve problems in both Python and C++ as you discover what makes self-driving cars possible. Best of all, graduates earn guaranteed admission into our career-ready Self-Driving Car Engineer Nanodegree program!

  • What jobs will this program prepare me for?

    This program does not focus on job preparation. While many of the skills you learn are foundational skills for a career in self-driving cars, the goal of the program is for you to master the core skills necessary so you can progress to the advanced curriculum. When you graduate, you earn guaranteed enrollment into our Self-Driving Car Engineer Nanodegree program. This program will fully prepare you for a career in the field. So, if you are new to the field of self-driving cars, then you can consider this a 2-stage path to career readiness.

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

    If you're interested in self-driving cars, and already have a basic understanding of programming and algebra, then this program is right for you! If you're considering a career in this amazing field, but don't yet possess all the skills and experience necessary to start applying for jobs today, this program will be your first step toward a self-driving car career. When you graduate, you'll have guaranteed admission into our career-ready Self-Driving Car Engineer Nanodegree program, where you'll learn everything you need to know to launch your career.

  • 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 and some programming and/or quant background. The Self-Driving Car Engineer Nanodegree program is an advanced program focusing on in-depth knowledge of autonomous systems. The program requires an application and is designed for those with moderate to high programming, technical, and/or quant skills.

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

    No. This Nanodegree program accepts all applicants regardless of experience and specific background.

  • What are the prerequisites for enrollment?

    Students should have some experience with programming—writing short scripts in a programming language—and be comfortable with algebra. You should also feel comfortable reading and modifying code that you are given, with the understanding that solving problems in code may still be challenging.

  • 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 Computer Science, Programming Foundations with Python, Linear Algebra Refresher, Intro to Programming Nanodegree Program.

  • How is this Nanodegree program structured?

    The Intro to Self-Driving Cars nanodegree program is comprised of one (1) four (4)-month term. Students must complete the term and all five (5) projects to graduate from the Nanodegree program. Each project will be reviewed by the Udacity reviewer network and platform. 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 period noted in the Term length section above. See the Terms of Use and FAQs for other policies around 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 found here for policies on enrollment in our programs.

  • I have graduated from the Intro to Self-Driving Cars nanodegree program but I want to keep learning. Where should I go from here?

    Students who graduate from the Intro to Self-Driving Cars nanodegree program are guaranteed admission to the Self-Driving Car Engineer, Robotics Software Engineer, and Flying Car nanodegree programs.

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

Intro to Self-Driving Cars