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