CS 7638: Artificial Intelligence for Robotics

Instructional Team

Sebastian Thrun

Sebastian Thrun

Jay Summet
Instructor, Senior Lecturer


In Artificial Intelligence for Robotics, learn from Sebastian Thrun, the leader of Google and Stanford's autonomous driving team, how to program all the major systems of a robotic car. This class will teach students basic methods in Artificial Intelligence, including probabilistic inference, planning and search, localization, tracking, mapping and control, all with a focus on robotics. Extensive programming examples and assignments will apply these methods in the context of building self-driving cars and autonomous vehicles.  

Students will be expected to complete six problem sets and multiple projects that apply the methods learned in this class.

This course counts towards the following specialization(s):

Foundational Course
Computational Perception & Robotics Specialization Elective

Course Goals

Upon successfully completing this course, you will be able to:

  • Implement filters (including Kalman and particle filters) in order to localize moving objects whose locations are subject to noise.
  • Implement search algorithms (including A*) to plan the shortest path from one point to another subject to costs on different types of movement.
  • Implement PID controls to smoothly correct an autonomous robot’s course.
  • Implement a SLAM algorithm for a robot moving in at least two dimensions.


Course Overview

Sample Lesson

Sample Syllabi

Spring 2021 syllabus (PDF)
Fall 2020 syllabus and schedule (PDF)
Summer 2020 syllabus and schedule (PDF)

Note: Sample syllabi are provided for informational purposes only. For the most up-to-date information, consult the official course documentation.

Course Videos

You can view the lecture videos for this course here.

Before Taking This Class...

Suggested Background Knowledge

Students should know Python or have enough experience with other languages to pick up what they need on their own. Check out Udacity's Introductory CS class (in Python) if you'd like some review. Students should also have strong knowledge of probability and linear algebra (see Prof. Thrun's free Udacity course on statistics).

For prospective students who are unsure if their computer science experience provides sufficient background for this course, the questions below will help gauge preparedness. If you answer "no" to any of the following questions, it may be beneficial to refresh your knowledge of this material prior to taking CS 7638:

  1. Do you have programming experience, preferably in Python?
  2. Do you have a strong understanding of linear algebra (undergraduate level)?
  3. Do you have a strong understanding of probability (undergraduate level)?
  4. Have you taken any courses (either from your undergraduate studies or MOOCs) in machine learning, computer vision, or robotics?
Technical Requirements and Software
  • Browser and connection speed: An up-to-date version of the Chrome browser with Honorlock extension is required for taking exams. We support Mozilla Firefox or Microsoft Edge for all other activities. 2+ Mbps connection speed is recommended.
  • Python (version 3.8 or higher) development environment
  • Operating system:
    • PC: Windows 10 with latest updates installed
    • Mac: OS X 10.14 or higher with latest updates installed
    • Linux: any recent distribution that has the supported browsers installed (may need access to Windows/Mac for Honorlock extension on exams)

Academic Integrity

All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code. This course may impose additional academic integrity stipulations; consult the official course documentation for more information.