freerobotics

The full curriculum

Six months, one page

119 lectures, about 95 hours of video, 6 projects. Roughly 2 hours a day: one of lectures, one of code.

whole path0/54 · 0%
  1. M0

    optional

    Python and your setup

    Only if you've never coded. Skip it if you already write Python.

    The Python Tutorial + MuJoCo tutorial notebook

    ~4 weeks, 1 h a day

    done0/6 · 0%
  2. M1

    The math that everything else stands on

    Vectors, matrices and least squares, taught as tools, not proofs.

    ENGR108

    ~18.5 h of video + practice

    done0/7 · 0%
  3. M2

    The robot's body

    How an arm moves, where its hand is, and how much force its motors need.

    CS223A

    ~19 h of video + practice

    done0/8 · 0%
  4. M3

    How a robot sees and senses

    Cameras, IMUs and lidar, and the neural networks that read them.

    CS231N + EE259

    ~17 h of video + practice

    done0/7 · 0%
  5. M4

    Planning and control

    How a robot decides what to do next, when it knows how the world works.

    AA203

    ~15.5 h of video + practice

    done0/8 · 0%
  6. M5

    Teaching robots instead of programming them

    Imitation learning and reinforcement learning, from Chelsea Finn and the AA203 team.

    AA203, lectures 13 to 19 + CS224R

    ~17 h of video + practice

    done0/9 · 0%
  7. M6

    The frontier, and your first robot

    Talks from the people building robot AI, and one project that proves everything.

    9 talks & seminars

    ~8.5 h of talks + final project

    done0/9 · 0%

How to actually finish this

  1. 01Watch at 1.25x. Most lectures stay easy to follow, and it saves about 19 hours over the whole path.
  2. 02Never watch more than two lectures without writing code. The practice tasks are the course. The videos are support.
  3. 03Keep the free textbooks open next to the video. When a professor goes too fast, the book usually explains it slower.
  4. 04Put every project on GitHub from day one, with a README about what broke and how you fixed it.
  5. 05Budget 2 hours a day: 1 hour of lectures, 1 hour of code. Keep your job while you do this.