NOTE: The current schedule is tentative and subject to change. Nonetheless it gives an idea of the material to be covered in this course.

Key to readings: A = Appel. The readings are not required, but may help your understanding of the lecture material.

The lecture notes here contain material from lecture notes by Greg Morrisett and Jean-Baptiste Tristan.

Lec. Date Topic Readings Notes Projects P1 P2 P3 P4 P5 P6 P7 P8
1Tue 4-Sep Introduction PDF
2Thu 6-Sep Assembly PDF Project 1 released P1
Lexing and Parsing P1
3Tue 11-Sep Lexical Analysis A2 PDF
4Thu 13-Sep Recursive parsing A3 PDF
Project 2 released P1 P2
5Tue 18-Sep LL Parsing PDF P1 P2
6Thu 20-Sep LR Parsing PDF
Steve away
Guest lecturer Aaron Bembenek
Project 1 due P1 P2
7Tue 25-Sep Simple code generation PDF Project 3 released P2 P3
Code generation P2 P3
8Thu 27-Sep Compiling functions PDF
Steve away
Guest lecturer Shrutarshi Basu
P2 P3
9Tue 2-Oct Data and memory management PDF
Steve away
Guest lecturer Ming Kawaguchi
Project 4 released P2 P3 P4
10Thu 4-Oct Runtime systems A13 PDF Project 2 due P2 P3 P4
11Tue 9-Oct Objects A14 PDF Project 3 due P3 P4
12Thu 11-Oct Closures and environments A15 PDF Project 5 released P4 P5
Optimization and analysis P4 P5
13Tue 16-Oct Functional programming optimizations A15 PDF P4 P5
14Thu 18-Oct Type checking A5, A16 PDF P4 P5
15Tue 23-Oct Local optimization I PDF Project 6 released P4 P5 P6
16Thu 25-Oct Local optimization II PDF Project 4 due P4 P5 P6
17Tue 30-Oct Control flow graph and data flow analysis A10, A17 PDF Project 7 released P5 P6 P7
18Thu 1-Nov Loop optimizations I A18 PDF P5 P6 P7
19Tue 6-Nov Loop optimizations II PDF P5 P6 P7
Register allocation and instruction selection P5 P6 P7
20Thu 8-Nov Register allocation I A11 PDF P5 P6 P7
21Tue 13-Nov Register allocation II PDF Project 5 due
Project 8 released
P5 P6 P7 P8
22Thu 15-Nov Guest lecture: Vijay Janapa Reddi, Energy efficiency P6 P7 P8
Additional topics P6 P7 P8
23Tue 20-Nov Static single assignment A19 PDF Project 6 due P6 P7 P8
Thanksgiving P7 P8
24Tue 27-Nov Compiling control flow PDF P7 P8
25Thu 29-Nov Guest lecture: Evan Czaplicki, The Elm Compiler PDF Project 7 due P7 P8
26Tue 4-Dec Guest lecture: Vijay Janapa Reddi, Dynamic compilation PDF P8
-Sat 8-Dec - Project 8 due P8
Wed 12-Dec Final Exam