Schedule
Integrated Schedule
| Week | Date | Topic | Release | Deadline |
|---|---|---|---|---|
| 1 | Jan 13 | Lecture: Overview, Notes | Lab 0 | |
| Jan 15 | Lecture: Register Allocation | Lab 1 | Lab 0 Questionnaire | |
| Jan 16 | Recitation: Lab 1 Intro / Course Overview | |||
| 2 | Jan 20 | Lecture: Register Allocation / Intro to SSA | Written 1 | Lab 0 Team Formation |
| Jan 22 | Lecture: Instruction Selection | |||
| Jan 23 | Recitation: Instruction Selection | |||
| Jan 25 | Lab 1 Tests Lab 1 Checkpoint | |||
| 3 | Jan 27 | Lecture: SSA | Lab 2 | |
| Jan 29 | Lecture: Middle End | Lab 1 Compiler Written 1 | ||
| Jan 30 | Recitation: SSA | |||
| 4 | Feb 3 | Lecture: IR-tree, Liveness, Typechecking | Written 2 | |
| Feb 5 | Lecture: Lexing and Parsing | Lab 2 Tests | ||
| Feb 6 | Recitation: Statics Semantics | |||
| 5 | Feb 10 | Lecture: Shift-reduce Parsing | ||
| Feb 12 | Lecture: Typechecking | Written 2 | ||
| Feb 13 | Recitation: Lexing and Parsing | Lab 3 | ||
| Feb 15 | Lab 2 Compiler | |||
| 6 | Feb 17 | Lecture: Calling Conventions | Written 3 | |
| Feb 19 | Lecture: Dataflow Analysis | |||
| Feb 20 | Recitation: Calling Conventions | |||
| Feb 22 | Lab 3 Tests | |||
| 7 | Feb 24 | Lecture: Dataflow Analysis II | ||
| Feb 26 | Lecture: LLVM | Written 3 | ||
| Feb 27 | Recitation: LLVM | Lab LLVM | ||
| Mar 1 | Lab 3 Compiler | |||
| 8 | Mar 3 | Spring Break (No Class) | ||
| Mar 5 | Spring Break (No Class) | |||
| 9 | Mar 10 | Lecture: Dynamic Semantics | Written 4 | |
| Mar 12 | Lecture: Mutable Store | |||
| Mar 13 | Recitation: Dynamic Semantics | Lab 4 | ||
| Mar 15 | Lab LLVM Compiler | |||
| 10 | Mar 17 | Lecture: Structs | ||
| Mar 19 | Lecture: Optimization I | Written 4 | ||
| Mar 20 | Recitation: Optimizations I | |||
| Mar 22 | Lab 4 Tests | |||
| 11 | Mar 24 | Lecture: SSA II | ||
| Mar 26 | Lecture: Optimization II | |||
| Mar 27 | Recitation: Optimizations II | Lab 5 | ||
| Mar 29 | Lab 4 Compiler | |||
| 12 | Mar 31 | Lecture: Dependence Analysis | ||
| Apr 2 | Lecture: Loop/Locality Optimizations | |||
| 13 | Apr 7 | Lecture: Partial Redundancy Elimination | ||
| Apr 9 | Spring Carnival (No Class) | |||
| Apr 12 | Lab 5 Tests Lab 5 CheckPoint | |||
| 14 | Apr 14 | Lecture: Alias Analysis/Load-Store Elimination | ||
| Apr 16 | Lecture: GVN/Inlining/SSA-revisited | |||
| 15 | Apr 21 | Lecture: Guest TBA | ||
| Apr 23 | Lecture: wrap-up | |||
| Apr 26 | Lab 5 Compiler | |||
| May 3 | Lab 5 Report |
Recitations
| Date | Recitation | Solution |
|---|---|---|
| Jan 16 | Lab 1 Intro / Course Overview | |
| Jan 23 | Instruction Selection | |
| Jan 30 | SSA | |
| Feb 6 | Statics Semantics | |
| Feb 13 | Lexing and Parsing | |
| Feb 20 | Calling Conventions | |
| Feb 27 | LLVM | |
| Mar 6 | No Recitation | |
| Mar 13 | Dynamic Semantics | |
| Mar 20 | Optimizations I | |
| Mar 27 | Optimizations II |