Sorry, this page is no longer available
Sorry, this page is no longer available
Sorry, this page is no longer available
Sorry, this page is no longer available
Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Steven Waslander and Jonathan Kelly

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

Read more

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

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

Enroll now

What's inside

Syllabus

Module 0: 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.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Explores self-driving technology, which is standard in the industry
Teaches safety frameworks, which helps learners evaluate the safety of self-driving cars
Develops programming skills in Python, which is a core skill for robotics
Taught by Jonathan Kelly and Steven Waslander, who are recognized for their work in robotics
Examines hardware and software architectures, which is highly relevant to self-driving cars
Requires programming experience, which may limit accessibility for some learners

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Foundation for self-driving car development

According to learners, this course provides a strong theoretical foundation and an excellent introduction to the core concepts of self-driving cars. Many praise the well-structured content and the engaging lectures. The hands-on CARLA simulator project is frequently highlighted as a valuable practical experience, allowing students to apply learned concepts. However, several students noted that the prerequisites are strictly necessary, particularly strong math and Python skills, and the CARLA simulator setup can be challenging. Overall, it's considered highly beneficial for those with the required background.
Requires solid math and programming.
"Ensure you have a strong background in linear algebra, calculus, physics, and especially Python before starting."
"The course is labeled 'Introduction' but requires significant prior knowledge to follow comfortably."
"If your math and Python skills aren't strong, you will struggle immensely."
"I found the prerequisites listed are accurate and necessary."
Lectures are clear and informative.
"The lectures were engaging and the instructors explained concepts clearly."
"I found the video lectures easy to understand and follow."
"Good explanations in the videos, which helped grasp complex ideas."
Logical flow of modules.
"The course is very well structured, building concepts module by module."
"I appreciated the logical progression of topics from theory to practical application."
"Modules are organized clearly and easy to follow."
"The course flow made sense and helped me learn effectively."
Excellent hands-on simulation project.
"The final project with the CARLA simulator was the most valuable part for me, really putting theory into practice."
"I really enjoyed the final project using CARLA to simulate a self-driving car on a racetrack. It was challenging but rewarding."
"The practical assignment in CARLA helps solidify the concepts learned in the lectures."
"Building the controller in CARLA provides great practical experience."
Provides solid theoretical grounding.
"This course provides a solid theoretical background on the fundamentals required to get into the self-driving car space."
"The theory explained is quite good and detailed for an introductory course."
"I learned a lot of theory that is essential for understanding autonomous systems."
"The content covers the fundamental concepts very well, explaining the 'why' behind things."
Simulator setup can be problematic.
"Getting the CARLA simulator environment set up correctly was the biggest hurdle for me."
"Spent a lot of time troubleshooting the CARLA installation, which was frustrating."
"The instructions for the CARLA setup could be clearer or more robust for different system configurations."
"Wish there was more support available for the simulator setup issues."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to Self-Driving Cars with these activities:
Review the mathematics behind self-driving cars
Strengthen your foundational knowledge in mathematics by reviewing concepts relevant to self-driving cars. This will improve your comprehension of the course material.
Browse courses on Linear Algebra
Show steps
  • Review linear algebra concepts
  • Refresh calculus skills
  • Review probability and statistics
Form study groups
Collaborate with classmates to review course material, solve problems, and share insights. This peer-to-peer learning will enhance your understanding.
Show steps
  • Identify classmates with similar interests
  • Schedule regular study sessions
  • Review lecture notes and assignments together
Control engineering exercises
Sharpen your control engineering skills by solving practice problems. These drills will strengthen your understanding of the fundamental concepts.
Browse courses on Control Theory
Show steps
  • Analyze system dynamics
  • Design controllers
  • Simulate control systems
Five other activities
Expand to see all activities and additional details
Show all eight activities
Tutorials on deep learning for self-driving cars
Stay up to date with the latest advancements in deep learning for self-driving cars by following guided tutorials. This will broaden your skillset and enhance your knowledge.
Browse courses on Machine Learning
Show steps
  • Learn the basics of deep learning
  • Apply deep learning to self-driving cars
  • Implement deep learning algorithms
Attend industry conferences
Connect with other professionals in the self-driving car industry to learn about the latest trends and exchange ideas.
Show steps
  • Research industry conferences
  • Register for attendance
  • Network with attendees
Build a self-driving car simulator
Implement a simulator to test and refine your self-driving car algorithms. This hands-on experience will reinforce the concepts learned in the course.
Show steps
  • Choose a simulation platform
  • Design the simulator environment
  • Implement the physics engine
  • Add sensors and actuators
  • Test the simulator
Create a blog post about a self-driving car topic
Solidify your understanding by synthesizing your knowledge into a blog post. This will help you articulate your thoughts and enhance your communication skills.
Show steps
  • Choose a specific topic
  • Research and gather information
  • Write and edit the blog post
  • Publish and promote the blog post
Participate in self-driving car competitions
Test your knowledge and skills by participating in self-driving car competitions. This real-world experience will push you to solve complex problems and refine your abilities.
Show steps
  • Identify relevant competitions
  • Form a team or join an existing one
  • Design and develop a self-driving car
  • Compete in the competition

Career center

Learners who complete Introduction to Self-Driving Cars will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers design, develop, and maintain software systems. They work on a variety of software applications, including operating systems, web applications, and mobile applications. This course may be useful for Software Engineers who want to work on self-driving cars, which are software-intensive systems.
Automotive Engineer
Automotive Engineers design, develop, and test vehicles. They work on a variety of aspects of vehicles, including engines, transmissions, and safety systems. This course may be useful for Automotive Engineers who want to work on self-driving cars, which are a new and rapidly developing area of automotive engineering.
Electrical Engineer
Electrical Engineers design, develop, and maintain electrical systems. They work on a variety of electrical systems, including power systems, control systems, and communication systems. This course may be useful for Electrical Engineers who want to work on self-driving cars, which are electrical systems that require a high level of engineering expertise.
Mechanical Engineer
Mechanical Engineers design, develop, and maintain mechanical systems. They work on a variety of mechanical systems, including engines, transmissions, and robots. This course may be useful for Mechanical Engineers who want to work on self-driving cars, which are mechanical systems that require a high level of engineering expertise.
Control Systems Engineer
Control Systems Engineers design and implement control systems, which are used to regulate the behavior of dynamic systems. They work in a variety of industries, including automotive, aerospace, and manufacturing. This course may be useful for Control Systems Engineers who want to work on self-driving cars, which are dynamic systems that require precise control.
Data Scientist
Data Scientists use data to solve business problems. They work with data to identify patterns, trends, and insights. This course may be useful for Data Scientists who want to work on self-driving cars, which generate a large amount of data that can be used to improve the performance of the car.
Quality Assurance Engineer
Quality Assurance Engineers test software and hardware products to ensure that they meet quality standards. They work with engineers and other technical experts to identify and fix defects. This course may be useful for Quality Assurance Engineers who want to work on self-driving cars, which are complex products that require a high level of quality assurance.
Systems Engineer
Systems Engineers manage complex systems, using their knowledge of engineering and science to make design decisions. They work with other engineers to ensure that the system is safe, efficient, and reliable. This course may be useful for Systems Engineers who want to work on self-driving cars, which are complex systems that require a high level of engineering expertise.
Product Manager
Product Managers are responsible for the development and launch of new products. They work with engineers, designers, and marketers to ensure that the product meets the needs of the customer. This course may be useful for Product Managers who want to work on self-driving cars, which are a new and rapidly developing product.
Project Manager
Project Managers plan and execute projects. They work with stakeholders to define the scope of the project, develop a budget, and create a timeline. They also track the progress of the project and make sure that it is completed on time and within budget. This course may be useful for Project Managers who want to work on self-driving cars, which are complex projects that require a high level of project management expertise.
Sales Engineer
Sales Engineers work with customers to identify their needs and provide them with solutions. They work with engineers and other technical experts to develop and deliver solutions that meet the customer's needs. This course may be useful for Sales Engineers who want to work on self-driving cars, which are new and rapidly developing products.
Robotics Engineer
Robotics Engineers design, build, and maintain robots, dealing with hardware and software issues. They often work in specialized fields, including aerospace, healthcare, manufacturing, and defense. This course may be useful for Robotics Engineers who want to work on self-driving cars, which is a specialized subfield of robotics.
Technical Writer
Technical Writers create documentation for technical products. They work with engineers and other technical experts to gather information and write clear and concise documentation. This course may be useful for Technical Writers who want to work on self-driving cars, which are complex products that require clear and concise documentation.
Marketing Manager
Marketing Managers develop and execute marketing campaigns to promote products and services. They work with other marketing professionals to create and deliver marketing campaigns that reach the target audience. This course may be useful for Marketing Managers who want to work on self-driving cars, which are new and rapidly developing products.
Machine Learning Engineer
Machine Learning Engineers design and build machine learning models, focusing on developing and maintaining the infrastructure and systems around the models. They work closely with data scientists to operationalize the models. This course may be useful for Machine Learning Engineers who want to build self-driving cars.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to Self-Driving Cars.
Provides a comprehensive overview of the technical, legal, and social aspects of autonomous driving. It covers topics such as the different levels of autonomy, the sensors and algorithms used in self-driving cars, and the safety and ethical challenges of autonomous vehicles.
Dieses Buch ist ein umfassender Überblick über Betriebssysteme. Es behandelt eine breite Palette von Themen, darunter Prozessverwaltung, Speicherverwaltung und Dateisysteme.
Dieses Buch bietet einen umfassenden Überblick über Mathematik für Informatiker. Es behandelt eine breite Palette von Themen, darunter Algebra, Analysis und Wahrscheinlichkeitstheorie.
Dieses Buch bietet einen umfassenden Überblick über lineare Algebra. Es behandelt eine breite Palette von Themen, darunter Matrizen, Vektoren und Eigenwerte.
Provides a comprehensive introduction to robotics, vision, and control. It covers topics such as kinematics, dynamics, control theory, and computer vision. The book also includes a number of case studies and exercises.
Provides a comprehensive introduction to probabilistic robotics. It covers topics such as probability theory, Bayesian filtering, and motion planning. The book also includes a number of case studies and exercises.
Explores the future of transportation. It covers topics such as the impact of self-driving cars on the transportation industry, the challenges of integrating self-driving cars into the existing transportation system, and the potential benefits of self-driving cars.
Provides a comprehensive overview of reinforcement learning for self-driving cars. It covers a wide range of topics, including Markov decision processes, value functions, and policy gradients.
Provides a comprehensive overview of vehicle dynamics. It covers topics such as the forces and moments acting on a vehicle, the kinematics and dynamics of vehicle motion, and the stability and control of vehicles.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser