Cornell's free PhD compilers course, and why a WebAssembly co-founder flags one chapter
CS 6120 hands you video lectures, classic papers, and a toy IR called Bril to hack on, for 'four imagination credits.' Then the co-founder of WebAssembly shows up to say its trace-compilation section is teaching a technique the field keeps abandoning.
CS 6120, Adrian Sampson's Cornell graduate compilers course, is fully self-guided online: 14 lessons from SSA to dynamic compilers, real PLDI/ASPLOS papers, and tasks you implement in Bril, a teaching IL built for the course.
The top comment is a working compiler engineer rerouting the syllabus: trace compilation is 'a dead end,' he says - the concepts that matter are type feedback, speculation and deoptimization.
A graduate compilers course you can actually take, alone
CS 6120 is Adrian Sampson's PhD-level compilers course at Cornell, released in a self-guided form: no enrollment, work at your own pace, for what the page cheerfully calls "four imagination credits (ungraded)." Each of the 14 lessons pairs a recorded video lecture with written notes, a set of research papers from venues like PLDI, ASPLOS and OOPSLA, and an implementation task. The hands-on work runs on two tools - LLVM and Bril, a deliberately minimal intermediate representation Sampson built specifically for teaching. The syllabus walks from program representation and local optimization through data flow, SSA form, loop and interprocedural analysis, alias analysis, memory management, dynamic compilers, and fast compilers.
At 362 points the thread was small but pointed - the most useful comments rewrote parts of the syllabus rather than praising it.
A compiler engineer reroutes the dynamic-compilers chapter
The top voice carried real weight and used it to flag a specific lesson.
"The section on dynamic compilers is more or less all about trace compilation. Generally, trace compilation is a dead end and has been abandoned repeatedly. The more important concepts here are type feedback and speculation and deoptimization, as well as making fast compilers and tiering." — titzer, WebAssembly co-founder and former V8 compiler tech lead
He still endorsed the course overall - the critique was a targeted edit, not a dismissal.
"What makes this 'advanced'?"
A second credentialed reader questioned the framing from the other direction: the topic list reads like a first course, not an advanced one.
"I'm a bit confused about what makes this course 'advanced.' Most of the topics (dead code elimination, data flow, dominator analysis, SSA form) seem like they belong in a first course on compilers." — Jeremy Kun, author of *A Programmer's Introduction to Mathematics*
That tension - canonical material taught at a research altitude, through papers rather than a textbook - is what the "advanced" label actually denotes here.
A perennial favorite, and where to start before it
The course is a recurring HN fixture, resurfacing in 2020, 2023 and 2024 threads, as one reader catalogued. Newcomers asked the practical questions: is there a "basic compilers" on-ramp first, and how does this compare to Nora Sandler's Writing a C Compiler? The honest read of the thread is that CS 6120 is not a from-scratch tutorial - it assumes you can already build a simple compiler and want to study how production compilers analyze and optimize code, with the original research papers as the primary text. The single most valuable thing in the discussion isn't the course link everyone upvoted; it's a sitting compiler engineer telling you which chapter to read skeptically.
Get breakdowns like this every day
The top Hacker News stories, unpacked — by email, Telegram, or RSS.
A site listing 50 places to submit your site; the SEO trick that died
The directory's top pick is Medium, billed as a "high-authority publishing platform." Half the thread points out that in 2026 Medium is mostly AI slop nobody clicks anymore.