Introduction to Self-Driving Cars (Coursera)

Offered by University of Toronto,
Introduction to Self-Driving Cars (Coursera)

Welcome to Introduction to Self-Driving Cars, the first course in University of Toronto’s Self-Driving Cars Specialization. This course will introduce you to the terminology, design considerations and safety assessment of self-driving cars. By the end of this course, you will be able to: Understand commonly used hardware used for self-driving cars; Identify the main components of the self-driving software stack; Program vehicle modelling and control; Analyze the safety frameworks and current industry practices for vehicle development

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

For the final project in this course, you will develop control code to navigate a self-driving car around a racetrack in the CARLA simulation environment. You will construct longitudinal and lateral dynamic models for a vehicle and create controllers that regulate speed and path tracking performance using Python. You’ll test the limits of your control design and learn the challenges inherent in driving at the limit of vehicle performance.
This is an advanced course, intended for learners with a background in mechanical engineering, computer and electrical engineering, or robotics. To succeed in this course, you should have programming experience in Python 3.0, familiarity with Linear Algebra (matrices, vectors, matrix multiplication, rank, Eigenvalues and vectors and inverses), Statistics (Gaussian probability distributions), Calculus and Physics (forces, moments, inertia, Newton's Laws).
You will also need certain hardware and software specifications in order to effectively run the CARLA simulator: Windows 7 64-bit (or later) or Ubuntu 16.04 (or later), Quad-core Intel or AMD processor (2.5 GHz or faster), NVIDIA GeForce 470 GTX or AMD Radeon 6870 HD series card or higher, 8 GB RAM, and OpenGL 3 or greater (for Linux computers).

What You Will Learn
-Understand commonly used hardware used for self-driving cars
-Identify the main components of the self-driving software stack
-Program vehicle modelling and control

  • Analyze the safety frameworks and current industry practices for vehicle development

Course 1 of 4 in the Self-Driving Cars Specialization

Syllabus

WEEK 1
Welcome to the Self-Driving Cars Specialization!
This module will introduce you to the main concepts and layout of the specialization and discusses the major advances made in the field over the last two decades, highlighting the most recent progress made by major players in terms of safety and performance metrics, where available.
The Requirements for Autonomy
Self-driving cars present an extremely rich and inter-disciplinary problem. This module introduces the language and structure of the problem definition, defining the most salient elements of the driving task and the driving environment.

WEEK 2
Self-Driving Hardware and Software Architectures
System architectures for self-driving vehicles are extremely diverse, as no standardized solution has yet emerged. This module describes both the hardware and software architectures commonly used and some of the tradeoffs in terms of cost, reliability, performance and complexity that constrain autonomous vehicle design.

WEEK 3
Safety Assurance for Autonomous Vehicles
As the self-driving domain matures, the requirement for safety assurance on public roads become more critical to self-driving developers. You will evaluate the challenges and approaches employed to date to tackle the immense challenge of assuring the safe operation of autonomous vehicles in an uncontrolled public road driving environment.

WEEK 4
Vehicle Dynamic Modeling
The first task for automating an driverless vehicle is to define a model for how the vehicle moves given steering, throttle and brake commands. This module progresses through a sequence of increasing fidelity physics-based models that are used to design vehicle controllers and motion planners that adhere to the limits of vehicle capabilities.

WEEK 5
Vehicle Longitudinal Control
Longitudinal control of an autonomous vehicle involves tracking a speed profile along a fixed path, and can be achieved with reasonable accuracy using classic control techniques. This week, you will learn how to develop a baseline controller that is applicable for a significant subset of driving conditions, which include most non-evasive or highly-dynamic motions.

WEEK 6
Vehicle Lateral Control
This week, you will learn about how lateral vehicle control ensures that a fixed path through the environment is tracked accurately. You will see how to define geometry of the path following control problem and develop both a simple geometric control and a dynamic model predictive control approach.

WEEK 7
Putting it all together
For the last week of the course, now you will get hands on with a simulation of an autonomous vehicle that requires longitudinal and lateral vehicle control design to track a predefined path along a racetrack with a given speed profile. You are encouraged to modify the speed profile and/or path to improve their lap time, without any requirement to do so. Work and play!

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Development of Real-Time Systems (Coursera) Coursera
EIT Digital

Development of Real-Time Systems (Coursera)

This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice. The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements.

Nov 16th 2026
5-12 Weeks
Games, Sensors and Media (Coursera) Coursera
University of California, Irvine

Games, Sensors and Media (Coursera)

You will learn to make fluid digital interactive experiences that are suitable for gaming and use the advanced sensor hardware built into the iPhone and iPad. This includes drawing 2D graphics, playing sounds and music, integrating with Game Center, the iOS physics engine and detecting device orientation and location.

Nov 23rd 2026
4 Weeks
Algorithms, Part II (Coursera) Coursera
Princeton University

Algorithms, Part II (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Nov 9th 2026
5-12 Weeks
Approximation Algorithms Part I (Coursera) Coursera
École normale supérieure

Approximation Algorithms Part I (Coursera)

How efficiently can you pack objects into a minimum number of boxes? How well can you cluster nodes so as to cheaply separate a network into components around a few centers? These are examples of NP-hard combinatorial optimization problems. It is most likely impossible to solve such problems efficiently, so our aim is to give an approximate solution that can be computed in polynomial time and that at the same time has provable guarantees on its cost relative to the optimum.

Nov 23rd 2026
5-12 Weeks
Architecting Smart IoT Devices (Coursera) Coursera
EIT Digital

Architecting Smart IoT Devices (Coursera)

This course will teach you how to develop an embedded systems device. In order to reduce the time to market, many pre-made hardware and software components are available today. You'll discover all the available hardware and software components, such as processor families, operating systems, boards and networks. You'll also learn how to actually use and integrate these components.

Nov 16th 2026
5-12 Weeks
Software Processes and Agile Practices (Coursera) Coursera
University of Alberta

Software Processes and Agile Practices (Coursera)

This course delves into a variety of processes to structure software development. It also covers the foundations of core Agile practices, such as Extreme Programming and Scrum. Upon successful completion of this course, you will be able to: distinguish between different process models for organizing software production; gauge the applicability of process models for a software development project; apply the fundamentals of Agile software development and management practices.

Nov 23rd 2026
4 Weeks
Securing Digital Democracy (Coursera) Coursera
University of Michigan

Securing Digital Democracy (Coursera)

In this course, you'll learn what every citizen should know about the security risks--and future potential — of electronic voting and Internet voting. We'll take a look at the past, present, and future of election technologies and explore the various spaces intersected by voting, including computer security, human factors, public policy, and more.

Nov 16th 2026
5-12 Weeks
Avatar Psychology for Designers (Coursera) Coursera
Michigan State University

Avatar Psychology for Designers (Coursera)

This course covers the latest and greatest psychological research on avatars and is relevant to current and future designers of any medium that includes user self-representations (e.g., video games, virtual worlds, robots, automobiles, social media, etc.). By taking this course, you will be able to define digital and non-digital avatars and identify how they are applicable in everyday life.

Nov 23rd 2026
4 Weeks
Creative Programming for Digital Media & Mobile Apps (Coursera) Coursera
University of London,Goldsmiths, University of London

Creative Programming for Digital Media & Mobile Apps (Coursera)

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice. This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.

Nov 9th 2026
5-12 Weeks
操作系统原理 (Operating Systems) (Coursera) Coursera
Peking University

操作系统原理 (Operating Systems) (Coursera)

操作系统原理》是针对计算机科学技术专业三年级本科生开设的一门专业基础课程。本课程着重学生系统观的培养,通过重点讲述操作系统的内部结构、工作原理及典型技术的实现,使学生建立起对操作系统的整体及各个功能模块的认识,从而系统掌握计算机的专业知识,进一步提升学生的软件开发能力乃至系统软件开发能力。

Nov 23rd 2026
13-24 Weeks
Internet History, Technology, and Security (Coursera) Coursera
University of Michigan

Internet History, Technology, and Security (Coursera)

The impact of technology and networks on our lives, culture, and society continues to increase. The very fact that you can take this course from anywhere in the world requires a technological infrastructure that was designed, engineered, and built over the past sixty years. To function in an information-centric world, we need to understand the workings of network technology. This course will open up the Internet and show you how it was created, who created it and how it works. Along the way we will meet many of the innovators who developed the Internet and Web technologies that we use today.

Nov 16th 2026
5-12 Weeks
Client Needs and Software Requirements (Coursera) Coursera
University of Alberta

Client Needs and Software Requirements (Coursera)

This course covers practical techniques to elicit and express software requirements from client interactions. Upon successful completion of this course, you will be able to: Create clear requirements to drive effective software development; visualize client needs using low-fidelity prototypes; maximize the effectiveness of client interactions - adapt to changing product requirements.

Nov 23rd 2026
4 Weeks