Lesson 1
Introduction
Welcome to the Intro to Self-Driving Cars Nanodegree program! We are excited to have you and hope you are looking forward to learning about this game-changing field!
Nanodegree Program
Learn the essentials of building a self-driving car, including probability, C++, machine learning, and linear algebra.
Learn the essentials of building a self-driving car, including probability, C++, machine learning, and linear algebra.
Intermediate
3 months
Real-world Projects
Completion Certificate
Last Updated June 18, 2024
Course 1 • 1 hour
Welcome to the Intro to Self-Driving Cars Nanodegree program! In this section you'll get a sneak peak of the classroom, meet the team, and learn about the services provided. Then you'll take a readiness assessment and check out some learning resources to help you make the most out of your experience.
Lesson 1
Welcome to the Intro to Self-Driving Cars Nanodegree program! We are excited to have you and hope you are looking forward to learning about this game-changing field!
Lesson 2
What to do if you have questions about your account or general questions about the program.
Lesson 3
You are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.
Lesson 4
Work through the readiness assessment with Carla and her friends to make sure you are ready to begin your own personal adventure with self-driving cars!
Lesson 5
While you wait for your classroom to open, refresh your math and programming skills with these helpful resources.
Course 2 • 1 week
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.
Lesson 1
A brief introduction to Bayesian Thinking from Sebastian.
Lesson 2 • Project
A quick introduction to controlling a (simulated) car with code. Parts 1 and 2 will show you how to control gas and steering and in part 3 you'll program a car to parallel park.
Lesson 3
Learn the basics of probability - the language of robotics. This lesson will focus on the math. In later lessons you'll apply this math in Python code.
Lesson 4
In order to infer meaning from noisy sensor measurements, a self driving car needs to use the math of Conditional Probability. Learn this math from Sebastian (and then apply it in the next lesson).
Lesson 5
Your chance to learn basic Python syntax while applying what you learned about probability and conditional probability in the last two lessons.
Lesson 6
Learn about Bayes' Rule from Sebastian and get your first peek at how a self driving car uses Bayes' Rule to understand where in the world it is.
Lesson 7
In this lesson, you can expect a lot of hands-on practice programming Bayesian probability in Python, and representing a 2D world that you'll need to localize a car.
Lesson 8
Learn how a robot represents it's belief about uncertain quantities using something known as a **probability distribution**.
Lesson 9
Apply what you've learned in this course by programming and visualizing probability distributions.
Lesson 10
You will work with a specific continuous probability distribution called the Gaussian distribution. A Gaussian distribution helps describe uncertainty in sensor measurements and a vehicle's location.
Lesson 11
Sebastian Thrun will give you an overview of the theory behind localization!
Lesson 12
Write the `sense` and `move` functions for a 2 dimensional histogram filter in Python.
Course 3 • 1 month
This course will focus on two tools which are vital to self-driving car engineers: object oriented programming and linear algebra.
Lesson 1
An introduction to the amazing tools and algorithms you'll learn in this lesson.
Lesson 2
Learn the intuition behind the Kalman Filter, a vehicle tracking algorithm and implement a one-dimensional tracker of your own.
Lesson 3
In this lesson, students will learn about representing the state of a car in programming as classes and objects and mathematically as vectors that can be changed with linear algebra!
Lesson 4
Linear Algebra is a rich branch of math and a useful tool. In this lesson you'll learn about the matrix operations that underly multidimensional Kalman Filters.
Lesson 5 • Project
Practice using your object oriented programming and matrix math skills by filling out the methods in a partially-completed `Matrix` class.
Course 4 • 1 week
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++.
Lesson 1
The differences between C++ and Python and how to write C++ code.
Lesson 2
To program matrix algebra operations and translate your Python code, you will need to use C++ Vectors. These vectors are similar to Python lists, but the syntax can be somewhat tricky.
Lesson 3
Learn how to write C++ code on your own computer and compile it into a executable program without running into too many compilation errors.
Lesson 4
Learn the syntax of C++ object oriented programming as well as some of the additional OOP features provided by the language.
Lesson 5
In this lesson, we'll compare the execution times of C++ and Python programs.
Lesson 6 • Project
Apply your knowledge of C++ syntax by translating the Histogram Filter code from the first course into C++.
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.
Instructor
Andrew has an engineering degree from Yale, and has used his data science skills to build a jewelry business from the ground up. He has additionally created courses for Udacity's Self-Driving Car Engineer Nanodegree program.
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.
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.
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 Embedded.fm podcast. She enjoys sharing her enthusiasm for engineering and devices.
Curriculum Lead
Cezanne is an expert in computer vision with a Masters in Electrical Engineering from Stanford University. As a former researcher in genomics and biomedical imaging, she's applied computer vision and deep learning to medical diagnostic applications.
Founder and Executive Chairman, Udacity
As the Founder and Chairman of Udacity, Sebastian's mission is to democratize education by providing lifelong learning to millions of students worldwide. He is also the founder of Google X, where he led projects including the Self-Driving Car, Google Glass, and more.
Average Rating: 4.6 Stars
363 Reviews
Combine technology training for employees with industry experts, mentors, and projects, for critical thinking that pushes innovation. Our proven upskilling system goes after success—relentlessly.
Demonstrate proficiency with practical projects
Projects are based on real-world scenarios and challenges, allowing you to apply the skills you learn to practical situations, while giving you real hands-on experience.
Gain proven experience
Retain knowledge longer
Apply new skills immediately
Top-tier services to ensure learner success
Reviewers provide timely and constructive feedback on your project submissions, highlighting areas of improvement and offering practical tips to enhance your work.
Get help from subject matter experts
Learn industry best practices
Gain valuable insights and improve your skills
Unlimited access to our top-rated courses
Real-world projects
Personalized project reviews
Program certificates
Proven career outcomes
Full Catalog Access
One subscription opens up this course and our entire catalog of projects and skills.
Average time to complete a Nanodegree program
(175)
3 months
, Advanced
(115)
3 months
, Advanced
(729)
3 months
, Intermediate
(450)
3 months
, Advanced
4 weeks
, Advanced
(34)
5 months
, Advanced
(328)
2 months
, Advanced
(256)
2 months
, Intermediate
(909)
4 months
, Intermediate
4 weeks
, Beginner
(235)
3 months
, Intermediate
(496)
5 months
, Advanced
4 weeks
, Beginner
(498)
3 months
, Intermediate
(275)
2 months
, Advanced
(87)
4 months
, Advanced
Introduction to Self-Driving Cars
(175)
3 months
, Advanced
(115)
3 months
, Advanced
(729)
3 months
, Intermediate
(450)
3 months
, Advanced
4 weeks
, Advanced
(34)
5 months
, Advanced
(328)
2 months
, Advanced
(256)
2 months
, Intermediate
(909)
4 months
, Intermediate
4 weeks
, Beginner
(235)
3 months
, Intermediate
(496)
5 months
, Advanced
4 weeks
, Beginner
(498)
3 months
, Intermediate
(275)
2 months
, Advanced
(87)
4 months
, Advanced