Schedule
- Lectures
- Recitations
- Labs
- Written
- Integrated (lectures, recitations, Labs, and writtens all in one big mess)
Lectures
| Date | Topic | Release | Deadlines |
|---|---|---|---|
| Jan 13 | Overview, Notes | Lab 0 | Jan 14: Questionnaire Jan 19: Team Formation |
| Jan 15 | Register Allocation, Notes | Lab 1 | Jan 24: Tests & Checkpoint Jan 28: Compiler |
| Jan 20 | Register Allocation / Intro to SSA | Written 1 | Jan 28 |
| Jan 22 | Instruction Selection, Notes | ||
| Jan 27 | SSA | Lab 2 | Feb 4: Tests Feb 14: Compiler |
| Jan 29 | Middle End, Notes | ||
| Feb 3 | IR-tree, Liveness, Lexing, IR Notes, Liveness Notes | Written 2 | Feb 11 |
| Feb 5 | Lexing and Parsing | ||
| Feb 10 | Shift-reduce Parsing | ||
| Feb 12 | Typechecking | ||
| Feb 13 | Lab 3 | Feb 21: Tests Feb 28: Compiler | |
| Feb 17 | Calling Conventions | Written 3 | Feb 25 |
| Feb 19 | Dataflow Analysis | ||
| Feb 24 | Dataflow Analysis II | ||
| Feb 26 | LLVM | ||
| Feb 27 | Lab LLVM | Mar 14 | |
| Mar 3 | Spring Break (No Class) | ||
| Mar 5 | Spring Break (No Class) | ||
| Mar 10 | Dynamic Semantics | Written 4 | Mar 18 |
| Mar 12 | Mutable Store | ||
| Mar 13 | Lab 4 | Mar 21: Tests Mar 28: Compiler | |
| Mar 17 | Structs | ||
| Mar 19 | Optimization I | ||
| Mar 24 | SSA II | ||
| Mar 26 | Optimization II | ||
| Mar 27 | Lab 5 | Apr 11: Tests & CheckPoint Apr 25: Compiler May 2: Report | |
| Mar 31 | Dependence Analysis | ||
| Apr 2 | Loop/Locality Optimizations | ||
| Apr 7 | Partial Redundancy Elimination | ||
| Apr 9 | Spring Carnival (No Class) | ||
| Apr 14 | Alias Analysis/Load-Store Elimination | ||
| Apr 16 | GVN/Inlining/SSA-revisited | ||
| Apr 21 | Guest TBA | ||
| Apr 23 | wrap-up |
Recitations
| Date | Recitation | Solution |
|---|---|---|
| Jan 16 | Lab 1 Intro / Course Overview | Solution |
| Jan 23 | Instruction Selection | Solution |
| Jan 30 | SSA | Solution |
| 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 |
Integrated Schedule
The deadlines may not be accurate, please check the Labs and Written schedules for accurate deadlines. All deadlines are 11:59pm of the day listed.
| Week | Date | Topic | Release | Deadline | |
|---|---|---|---|---|---|
| 1 | Tue | Jan 13 | Lecture: Overview, Notes | Lab 0 | |
| Wed | Jan 14 | Lab 0 Questionnaire | |||
| Thu | Jan 15 | Lecture: Register Allocation, Notes | Lab 1 | ||
| Fri | Jan 16 | Recitation: Lab 1 Intro / Course Overview, Solution | |||
| 2 | Mon | Jan 19 | Lab 0 Team Formation | ||
| Tue | Jan 20 | Lecture: Register Allocation / Intro to SSA | Written 1 | ||
| Thu | Jan 22 | Lecture: Instruction Selection, Notes | |||
| Fri | Jan 23 | Recitation: Instruction Selection, Solution | |||
| Sat | Jan 24 | Lab 1 Tests Lab 1 Checkpoint | |||
| Sun | Jan 25 | ||||
| 3 | Tue | Jan 27 | Lecture: SSA | Lab 2 | |
| Wed | Jan 28 | Lab 1 Compiler Written 1 | |||
| Thu | Jan 29 | Lecture: Middle End, Notes | |||
| Fri | Jan 30 | Recitation: SSA, Solution | |||
| 4 | Tue | Feb 3 | Lecture: IR-tree, Liveness, Lexing, IR Notes, Liveness Notes | Written 2 | |
| Wed | Feb 4 | Lab 2 Tests | |||
| Thu | Feb 5 | Lecture: Lexing and Parsing | |||
| Fri | Feb 6 | Recitation: Statics Semantics | |||
| 5 | Tue | Feb 10 | Lecture: Shift-reduce Parsing | ||
| Wed | Feb 11 | Written 2 | |||
| Thu | Feb 12 | Lecture: Typechecking | |||
| Fri | Feb 13 | Recitation: Lexing and Parsing | Lab 3 | ||
| Sat | Feb 14 | Lab 2 Compiler | |||
| Sun | Feb 15 | ||||
| 6 | Tue | Feb 17 | Lecture: Calling Conventions | Written 3 | |
| Thu | Feb 19 | Lecture: Dataflow Analysis | |||
| Fri | Feb 20 | Recitation: Calling Conventions | |||
| Sat | Feb 21 | Lab 3 Tests | |||
| Sun | Feb 22 | ||||
| 7 | Tue | Feb 24 | Lecture: Dataflow Analysis II | ||
| Wed | Feb 25 | Written 3 | |||
| Thu | Feb 26 | Lecture: LLVM | |||
| Fri | Feb 27 | Recitation: LLVM | Lab LLVM | ||
| Sat | Feb 28 | Lab 3 Compiler | |||
| Sun | Mar 1 | ||||
| 8 | Tue | Mar 3 | Spring Break (No Class) | ||
| Thu | Mar 5 | Spring Break (No Class) | |||
| 9 | Tue | Mar 10 | Lecture: Dynamic Semantics | Written 4 | |
| Thu | Mar 12 | Lecture: Mutable Store | |||
| Fri | Mar 13 | Recitation: Dynamic Semantics | Lab 4 | ||
| Sat | Mar 14 | Lab LLVM Compiler | |||
| Sun | Mar 15 | ||||
| 10 | Tue | Mar 17 | Lecture: Structs | ||
| Wed | Mar 18 | Written 4 | |||
| Thu | Mar 19 | Lecture: Optimization I | |||
| Fri | Mar 20 | Recitation: Optimizations I | |||
| Sat | Mar 21 | Lab 4 Tests | |||
| Sun | Mar 22 | ||||
| 11 | Tue | Mar 24 | Lecture: SSA II | ||
| Thu | Mar 26 | Lecture: Optimization II | |||
| Fri | Mar 27 | Recitation: Optimizations II | Lab 5 | ||
| Sat | Mar 28 | Lab 4 Compiler | |||
| Sun | Mar 29 | ||||
| 12 | Tue | Mar 31 | Lecture: Dependence Analysis | ||
| Thu | Apr 2 | Lecture: Loop/Locality Optimizations | |||
| 13 | Tue | Apr 7 | Lecture: Partial Redundancy Elimination | ||
| Thu | Apr 9 | Spring Carnival (No Class) | |||
| Sat | Apr 11 | Lab 5 Tests Lab 5 CheckPoint | |||
| Sun | Apr 12 | ||||
| 14 | Tue | Apr 14 | Lecture: Alias Analysis/Load-Store Elimination | ||
| Thu | Apr 16 | Lecture: GVN/Inlining/SSA-revisited | |||
| 15 | Tue | Apr 21 | Lecture: Guest TBA | ||
| Thu | Apr 23 | Lecture: wrap-up | |||
| Sat | Apr 25 | Lab 5 Compiler | |||
| Sun | Apr 26 | ||||
| 16 | Sat | May 2 | Lab 5 Report | ||
| Sun | May 3 | ||||