You might have seen self-driving vehicles or been in a Tesla with Autopilot activated.
We’ve compiled 9+ online self-driving courses, specializations, and training programs suitable for beginners, intermediate engineers, and experts.
With that said, if you are brand-new to the self-driving car industry, I highly recommend becoming fluent in Python, C++, and advanced mathematics and software development before attempting to become proficient in self-driving cars.
This article will set you up for success as you’re trying to navigate the world of self-driving vehicles.
What does a Self-Driving Car Engineer do?
A self-driving car engineer is a specialized software engineer responsible for developing high-quality software.
According to Felix over at autonomous-driving.org, high-quality software is a combination of solid software design, embedded software development, test coverage, and software development practices.
If you’re looking to become a self-driving car engineer at a big company (Uber, General Motors, Ford, any of the big players), then you’ll want to become a specialist in autonomous vehicles.
Some specialties for self-driving car engineers include the following:
- Localization, SLAM
- Computer Vision
- Software architecture
- Machine Learning and Deep Learning
- Sensor technology: camera, lidar, radar, ultrasonic
- Vehicle kinematics
- Simulation and real-time computer graphics
- Real-time processing, parallel computing, optimization
- Functional safety
- Build systems
- Software testing and test-driven development
Combine these disciplines with a core competency in software development, and you’ll be on track to become a self-driving car engineer.
If you’re interested in the in’s and out’s of becoming a self-driving car engineer, I highly recommend reading Felix’s article.
The purpose of this article is to provide a high-level list of self-driving car courses and degree programs for people looking to get their feet wet in the autonomous vehicle space.
Self-Driving Car Engineer Salary
Salaries for a Self-Driving Car engineer vary depending on where you live and the role you play. According to Paysa.com, the average Self Driving Car engineer makes $238,018 annually.
This is comprised of $138,372 base salary, $73,499 in equity, a $26,146 bonus, and a $21,028 signing bonus.
As with any job, don’t sign up to be a self-driving car engineer just because of the salary. It’s important to enjoy what you’re doing.
Self-driving car engineering is not easy, so if you don’t enjoy the complex disciplines, it won’t matter how much money the job pays. It will just become frustrating and discouraging.
However, on the contrary, if you’re already in software development and you’re looking for a way to break into the autonomous vehicle industry, becoming a self-driving car engineer could be a great way to earn a solid living while putting your software skills to the test.
Intro to Self-Driving Cars
If you’re brand-new to self-driving cars, then you’ll want to start with an intro to self-driving cars course. The University of Toronto on Coursera offers a 7-week (26-hour) online course covering the fundamentals of self-driving cars.
This course is part of Coursera Plus, which means if you have an active subscription you can access this course and others in the Self-Driving Car Specialization.
Self-Driving Cars Courses & Degree Programs for 2020
While taking a few online courses won’t prepare you to be a self-driving car engineer, they will expose you to a lot of topics that a self-driving engineer is responsible for.
This will give you a good indicator as to whether self-driving car engineering is for you.
Plus, a lot of these courses are less than $100, so it’s a lot cheaper to figure out whether or not you want to go down this path without signing up for an expensive Masters or Ph.D. program.
Additionally, if you’re coming from the world of autonomous vehicle startups, then you’ll need to wear many different hats. Taking a few of these online courses can help fill in gaps in vehicle kinematics, computer vision, machine learning, Kalman filters, and more.
1. The Complete Self-Driving Car Course – Applied Deep Learning (Udemy)
Learn to use Deep Learning, Computer Vision and Machine Learning techniques to Build an Autonomous Car with Python.
2. Intro to Self-Driving Cars Nanodegree (Udacity)
Udacity also offers a four-month Nanodegree called the “Intro to Self-Driving Cars.” In this program, you’ll earn the essentials of building a self-driving car, including probability, C++, machine learning, and linear algebra.
The Intro to Self-Driving Cars Nanodegree is designed to prepare you for the advanced Self-Driving Car Engineer Nanodegree, which we’ll talk about next.
3. Self-Driving Car Engineer Nanodegree (Udacity)
The Intro Nanodegree is designed for beginner to intermediate software developers looking to get into autonomous vehicles. The Self-Driving Car Engineer Nanodegree is for people who are more advanced in their careers.
In this course, you’ll focus on computer vision topics including how to find lane lines on the road and advanced lane finding algorithms.
The content was co-created with Mercedes-Benz, so if you’re looking to break into a large automotive company, having this nanodegree on your resume, could be beneficial.
At the end of this course, you’ll know a breadth of self-driving car engineering topics: sensor fusion, localization, planning, control, system integration.
Learn more about the course and enroll here.
4. State Estimation & Localization for Self-Driving Cars (Coursera)
Another self-driving car course with great reviews (4.7 stars) is offered by the University of Toronto on Coursera. (They also have a Self-Driving Car Specialization, and this happens to be one of the courses in the series.)
The State Estimation and Localization course is designed for advanced-level learners and can be completed in about a month.
“One of the most exciting courses ever had in terms of learning and understanding. Kalman filter is a fascinating concept with infinite applications in real life on daily basis.” -AQ, Student February 2020
Expect to spend about 15 hours a week on this course, and get ready to build a bunch of self-driving car algorithms and software projects.
Enroll for this course on Coursera.
Autonomous Vehicle Online Courses
Additionally, there are more courses you can take with an emphasis on autonomous vehicle systems. In these courses, you’ll learn key principles in autonomous decision-making, sensor fusion, and multi-object tracking for automotive systems.
1. Self-Driving Car Specialization (Coursera)
As I mentioned above, you can enroll in the Self-Driving Car specialization on Coursera. The entire specialization takes about five months to complete and costs $79 per month.
There are four courses in this specialization:
- Intro to Self-Driving Cars;
- State Estimation and Localization;
- Visual Perception for Self-Driving Cars; and,
- Motion Planning for Self-Driving Cars.
2. Multi-Object Tracking for Automotive Systems (edX)
The Multi-Object Tracking (MOT) for Automotive Systems course is taught by the Chalmers University of Technology on edX.
In this self-driving car course, you’ll learn how to localize and track dynamic objects with a range of applications including autonomous vehicles.
Here’s an example of what you can expect to learn:
By the end of this course, you’ll have a thorough understanding of:
- multi-object tracking;
- an expert-level understanding of principles, theories, and algorithms using modern multi-object tracking;
- extensive problem-solving skills for putting MOT in practice; and,
- experience you can showcase on your resume or job application.
If this sounds interesting to you, check out the Multi-Object Tracking for Automotive Systems course on edX.
3. Sensor Fusion & Non-linear Filtering for Automotive Systems (edX)
Additionally, at the Chalmers University of Technology, you can take a course on Sensor Fusion and Non-linear Filtering for Automotive Systems.
This course will teach you the fundamental algorithms for sensor fusion and non-linear filtering with application to automotive perception systems.
Sensor fusion is an integral part of self-driving cars, so there are many options taught by multiple universities and online platforms. If you find that you are having trouble learning this material from one instructor, try learning the material on a different platform.
You can read more about the Sensor Fusion course on edX here.
4. Decision-Making for Autonomous Systems (edX)
Lastly, edX offers a course called, “Decision-Making for Autonomous Systems.”
This course is aimed at students with Bachelor degrees or engineers in the automotive industry who want to have more in-depth knowledge about decision-making models.
This course will teach you the fundamental mathematical models for many of these real-world problems.
Key topics of this self-driving car course include:
- Markov decision process;
- reinforcement learning and event-based methods; and,
- modeling and solving of decision-making for autonomous systems.
Get ready to learn the mathematical models behind real-world automotive challenges, while figuring out the decision-making process for autonomous vehicles.
More details on this course can be found on the edX website.
5. Sensor Fusion Engineer Nanodegree (Udacity)
Additionally, you can gain specialized knowledge in sensor fusion by taking the Sensor Fusion Engineer Nanodegree program on Udacity.
Whether you’re looking to complement the Self-Driving Car Nanodegree or you’re looking to specialize in electronic sensors, this is a good option to check out.
Learn to fuse lidar point clouds, radar signatures, and camera images using Kalman Filters to perceive the environment and detect and track vehicles and pedestrians over time.Click here to learn more about the Sensor Fusion Engineer Nanodegree program on Udacity.
How to get started with Self-Driving Cars and Autonomous Vehicles
In this article, we explored several different online self-driving car courses and degree programs.
Regardless of whether you already have an engineering background or not, these courses can provide a structured path for learning new concepts related to self-driving vehicles.
If you want to become a self-driving car engineer, it’s important to have a solid foundation in software development (at the Masters or Ph.D. level). Once you have this foundation, you can choose what area you want to specialize in.
You have to be open to learning many complex subjects including vehicle networks, debugging electronics, advanced mathematics, and deep learning.
However, if you want to be a self-driving car engineer, you need a lot of patience. Once you complete the coursework, you’ll have the skills needed for the self-driving car industry.
Are you thinking about a career in self-driving cars or autonomous vehicles? What courses are you planning to take? Leave a comment below!
And, be sure to share this article with a friend who’s considering a career in smart cars!
Related Courses You May Enjoy