Advanced Compilers: The Self-Guided Online Course

A free build-your-own coding course drops, and the comments instantly start grading it

TLDR: Cornell put a free, self-guided course online teaching how code-building software works, complete with videos, readings, and coding exercises. The comments instantly turned into a debate over whether it’s really “advanced,” with side quests into abandoned ideas, machine-learning rumors, and beginners begging for a simpler version first.

A free, self-guided version of Cornell’s graduate-level compiler course has landed online, and instead of quietly celebrating, the internet did what it does best: immediately started arguing about the syllabus. The course, created by Adrian Sampson, offers videos, notes, paper readings, and coding tasks for people who want to learn how the software behind software gets built. It’s open source on GitHub, comes with “imagination credits,” and cheekily tells students their final assignment is basically to change the world. Casual!

But the real fireworks are in the reactions. One of the biggest debates? Whether this thing is even truly “advanced.” One commenter squinted at the topic list and basically said, hold on, aren’t things like dead code cleanup and program analysis more like Compilers 101 than elite wizard school? Another commenter was more blunt about one section, saying the material on dynamic compilers leans hard on a once-hyped approach that has been “abandoned repeatedly” — ouch — before still giving the overall course a polite gold star.

And then, because no comment thread can stay normal, things got delightfully weird. One person wandered in asking what famous researcher Alexia Massalin is doing these days besides cashing patent checks. Another recalled hearing that the Rust compiler used machine learning to guess whether your code might crash your system, which feels like exactly the kind of sentence that sends programmers into the replies at top speed. Meanwhile, the most relatable comment of all simply asked: great, but where’s the self-guided course for basic compilers first? In other words, the class may be self-paced, but the comment section is moving at full speed.

Key Points

  • CS 6120 is a PhD-level Cornell course on programming language implementation taught by Adrian Sampson.
  • The course covers both standard compiler topics and research-oriented topics such as parallelization, just-in-time compilation, and garbage collection.
  • The self-guided curriculum includes a linear sequence of lessons, paper readings, videos, written notes, and some open-ended implementation tasks.
  • Course tasks use LLVM and a custom educational intermediate representation created specifically for the class.
  • The self-guided version differs from the university course by removing deadlines and Zulip participation, while the course materials are open source on GitHub.

Hottest takes

"trace compilation is a dead end" — titzer
"what makes this course 'advanced'" — j2kun
"Is there also a self guided course for 'basic compilers'" — awesomeMilou
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.