| Date | Topics | Readings |
| Feb 5 | Introduction | Appel 1 |
| Feb 7 | OCaml | RWO 1-9 |
| Feb 12 | X86lite | Appel 6 |
| Feb 14 | Intermediate representations I (example code) | |
| Feb 19 | Intermediate representations II (example code) | Appel 8 |
| Feb 21 | LLVM I (LLVMlite spec) | |
| Feb 26 | LLVM II | |
| Feb 28 | Lexing (example code) | Appel 2 |
| Mar 5 | Parsing I (example code) | Appel 3 |
| Mar 7 | Parsing II (example code) | |
| Mar 12 | Parsing III | |
| Mar 14 | Midterm | |
| Mar 19,21 | Spring break | |
| Mar 26 | Types I (example code) | |
| Mar 28 | Types II | |
| Apr 2 | Types III | |
| Apr 4 | Data Flow Analysis & Optimization I | Appel 17 |
| Apr 9 | Cancelled | |
| Apr 11 | Data Flow Analysis & Optimization II | |
| Apr 16 | Data Flow Analysis & Optimization III | |
| Apr 18 | Register Allocation | Appel 10 |
| Apr 23 | Control flow | |
| Apr 25 | Loop Optimizations | Appel 18 |
| Apr 30 | High-level languages | Appel 13,14,15 |
| May 2 | Wrap-up |
| Component | Weight |
| Homework | 60% |
| Midterm Exam | 20% |
| Final Exam | 20% |