| Date | Reading | HW Due | Topics | Recording | Resources |
|---|---|---|---|---|---|
| Jan 6 | Introduction | (recording--missing beginning) | Rough lecture notes CS358 Lecture on compiler Structure | ||
| Jan 8 | Ch. 1 | Preliminaries; Integers; Python idioms | (recording) | ||
| Jan 12 @ 4pm | week1 | ||||
| Jan 13 | Ch. 2 | Code Review; Variables | (recording) | ||
| Jan 15 | Implementing Variables | (recording) | |||
| Jan 19 @ 4pm | week2 | ||||
| Jan 20 | Ch. 4 | Code Review; Register Allocation | (recording) | liveness example | |
| Jan 22 | Register Allocation | (recording) | |||
| Jan 26 @ 4pm | week3 | ||||
| Jan 27 | Ch. 5 | Code Review; Booleans and Control Flow | (recording) | ||
| Jan 29 | Implementing Booleans and Control Flow | (recording) | |||
| Feb 2 @ 4pm | week4 | ||||
| Feb 3 | Ch. 6 | Code Review; Loops and Dataflow Analysis | |||
| Feb 5 | Dataflow Analysis | ||||
| Feb 10 | (none) | Midterm (in class) | |||
| Feb 12 | week5 | Optimization | |||
| Feb 16 @ 4pm | week6 | ||||
| Feb 17 | Ch. 7 | Code review; Tuples and Garbage Collection | |||
| Feb 19 | Implementing GC | ||||
| Feb 23 @ 4pm | week7 | ||||
| Feb 24 | Ch. 8 | Code review; More Garbage Collection | |||
| Feb 26 | Functions; Implementing Functions | ||||
| Mar 3 | (none) | Compiler Verification | |||
| Mar 5 | Java Virtual Machine and Interpretation | ||||
| Mar 9 @ 4pm | week8 | ||||
| Mar 10 | Nystrom Ch.2 | Bytecode and efficient interpretation | |||
| Mar 12 | Execution Architectures | ||||
| Thursday Mar 19 | Final exam (11:10am-1pm) |