EdX

Self-Driving Cars with Duckietown (edX)

Offered by ETH Zurich, ETHx,
Self-Driving Cars with Duckietown (edX)

The first robotics and AI MOOC with scale-model self-driving cars. Learn state-of-the-art autonomy with your own real robot (Duckiebot). Autonomy and AI are all around us, revolutionizing our daily lives. Autonomous vehicles have a huge potential to impact society in the near future. Have you ever wondered how autonomous vehicles really work? With this course, you will start from a box of parts and finish with a scaled self-driving car that drives autonomously in your living room. In the process, you will use state-of-the-art approaches, the latest software tools and real hardware in an engaging hands-on learning experience.

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

Self-driving cars with Duckietown is a practical introduction to vehicle autonomy. It explores real-world solutions to the theoretical challenges of automation, including their implementation in algorithms and their deployment in simulation as well as on hardware. Using modern software architectures built with Python, Robot Operating System (ROS) and Docker, you will appreciate the complementary strengths of classical architectures and modern machine learning-based approaches. The scope of this introductory course is to go from zero to having a self-driving car safely driving on a road.
This course is presented by Professors and Scientists who are passionate about robotics and accessible education. It uses the Duckietown robotic ecosystem, an open-source platform created at the MIT Computer Science and Artificial Intelligence Laboratory (CSAIL) and now used in over 80 universities worldwide.
We support a track for students to deploy their solutions in a simulation environment and an option for learners to engage in the tangible, hands-on learning experience by procuring a low-cost Jetson Nano-powered Duckiebot kit, e.g., from here.
This course is made possible thanks to the support of the Swiss Federal Institute of Technology in Zurich (ETH Zurich), in collaboration with the University of Montreal (Prof. Liam Paull), the Duckietown Foundation, and the Toyota Technological Institute at Chicago (Prof. Matthew Walter).

What you'll learn
After this course you will be able to program your Duckiebots to navigate (without accidents!) in road lanes of a model city with rubber-duckies-pedestrians-obstacles using predominantly computer vision based techniques. Moreover, you will:

  • recognize essential robot subsystems (sensing, actuation, computation, memory, mechanical) and describe their functions
  • make your Duckiebot drive in arbitrary user-specified paths
  • understand how to command a robot to reach a goal position
  • make your Duckiebot do autonomous decision making according to "traditional approaches" (estimation, planning, control)
  • make your Duckiebot do autonomous decision making according to "modern approaches" (imitation - - -learning, reinforcement learning, deep learning)
  • process streams of images
  • be able to set up an efficient software environment for robotics with state of the art tools (Docker, ROS, Python)
  • program your Duckiebot and make it safely drive in empty roads lanes
  • program your Duckiebot and make it recognize obstacles such as rubber duckies
  • program your Duckiebot and make it avoid obstacles such as rubber duckies
  • program your Duckiebot and make it safely drive down roads with pedestrian duckies

Additional goals (require hardware)

  • independently assemble a Duckiebot and a Duckietown
  • remotely operate your Duckiebot and see with its eye(s)
  • be able to discuss differences between theory, simulation and real word implementation for different approaches
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Computing in Python I: Fundamentals and Procedural Programming (edX) EdX
Georgia Institute of Technology,GTx

Computing in Python I: Fundamentals and Procedural Programming (edX)

Learn the fundamentals of computing in Python, including variables, operators, and writing and debugging your own programs. This course starts from the beginning, covering the basics of how a computer interprets lines of code; how to write programs, evaluate their output, and revise the code itself; how to work with variables and their changing values; and how to use mathematical, boolean, and relational operators.

Self Paced
Self-Paced
Data Science and Machine Learning Capstone Project (edX) EdX
IBM

Data Science and Machine Learning Capstone Project (edX)

Create a project that you can use to showcase your Data Science skills to prospective employers. Apply various data science and machine learning techniques to analyze and visualize a data set involving a real life business scenario and build a predictive model. Now that you've taken several courses on data science and machine learning, it’s time to put your learning to work on a data problem involving a real life scenario. Employers really care about how well you can apply your knowledge and skills to solve real world problems, and the work you do in this capstone project will make you stand out in the job market.

Self Paced
Self-Paced
CS50's Introduction to Computer Science (edX) EdX
HarvardX,Harvard University

CS50's Introduction to Computer Science (edX)

An introduction to the intellectual enterprises of computer science and the art of programming. This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50 teaches students how to think algorithmically and solve problems efficiently.

Self Paced
Self-Paced
Python: aprender a programar (edX) EdX
Universitat Politècnica de València,UPValenciaX

Python: aprender a programar (edX)

Aprende a programar con Python desde cero. Comienza conociendo variables, bucles y funciones y llega a manejar ficheros de texto. Este curso empieza desde 0 para aprender a programar con Python, tratando los fundamentos de programación como son las variables y constantes, las condiciones, los bucles y los módulos y funciones, para acabar introduciendo el tratamiento de cadenas de texto y los ficheros.

Self Paced
Self-Paced
SQL for Data Science (edX) EdX
IBM

SQL for Data Science (edX)

Learn how to use and apply the powerful language of SQL to better communicate and extract data from databases - a must for anyone working in the data science field. Much of the world's data lives in databases. SQL (or Structured Query Language) is a powerful programming language that is used for communicating with and extracting various data types from databases.

Self Paced
Self-Paced
Computing for Data Analysis (edX) EdX
Georgia Institute of Technology,GTx

Computing for Data Analysis (edX)

A hands-on introduction to basic programming principles and practice relevant to modern data analysis, data mining, and machine learning. The modern data analysis pipeline involves collection, preprocessing, storage, analysis, and interactive visualization of data. In the course, you’ll see how computing and mathematics come together.

Aug 24th 2026
13-24 Weeks
Decision-Making for Autonomous Systems (edX) EdX
Chalmers University of Technology,ChalmersX

Decision-Making for Autonomous Systems (edX)

Learn effective tactics for making key decisions when working with autonomous, self-driving vehicles. In autonomous vehicles such as self-driving cars, we find a number of interesting and challenging decision-making problems. Starting from the autonomous driving of a single vehicle, to the coordination among multiple vehicles. This course will teach you the fundamental mathematical model for many of these real-world problems.

Self Paced
Self-Paced