Schedule
Note: the following schedule is tentative and subject to change.
Week 1 Lab: Flex (available to view before lab this week) | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 8/24 | Flex & Overview | Notes released soon | Survey Due at 8/24 11:59 PM | Survey Due at 8/24 11:59 PM | C1 Due at 8/30 3:00 PM | |
| 8/26 | Scanning |
| W1 | C2 Due at 8/30 3:00 PM | ||
| 8/28 | Defining Syntax | Released after 8/26 | P1 | C3 | ||
Week 2 Lab: BISON | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 8/31 | Ambiguous Syntax | Released after 8/28 | T1 | C4 | ||
| 9/2 | SDD | Released after 8/31 | W2 | W1 | C5 | |
| 9/4 | ASTs | Released after 9/2 | C6 | |||
Week 3 (No lab this week) | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 9/7 | Labor Day | |||||
| 9/9 | Parsing and LL(1) | Released after 9/7 | T2 | P1 Due at 9/9 11:59 PM , W2 | C7 | |
| 9/11 | Quiz 1 | P2 | Q1 | |||
Week 4 Lab: Graphviz | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 9/14 | FIRST Sets | Released after 9/11 | T1 | C8 | ||
| 9/16 | FOLLOW Sets | Released after 9/14 | W3 | P2 Due at 9/16 11:59 PM | C9 | |
| 9/18 | SDT | Released after 9/16 | P3 | C10 | ||
Week 5 Lab: Dynamic Dispatch | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 9/21 | LR Parsers | Released after 9/18 | C11 | |||
| 9/23 | SLR Parsers | Released after 9/21 | W4 | W3 | C12 | |
| 9/25 | Scope | Released after 9/23 | T3 | T2 | C13 | |
Week 6 Lab: Preprocessing | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 9/28 | Semantic Analysis | Released after 9/25 | C14 | |||
| 9/30 | Typesystems | Released after 9/28 | W5 | P3 Due at 9/30 11:59 PM , W4 | C15 | |
| 10/2 | Type Checking | Released after 9/30 | P4 | C16 | ||
Week 7 | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 10/5 | Error Reports | Released after 10/2 | T4 | T3 | C17 | |
| 10/7 | Parameters | Released after 10/5 | W6 | W5 | C18 | |
| 10/9 | Quiz 2 | Q2 | ||||
Week 8 | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 10/12 | Runtimes | Released after 10/9 | P4 | C19 | ||
| 10/14 | 3AC Intro | Released after 10/12 | P5 Due at 11/2 11:59 PM | W6 | C20 | |
| 10/16 | 3AC Translation | Released after 10/14 | T5 | T4 | C21 | |
Week 9 (No lab this week) | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 10/19 | Fall Break | |||||
| 10/21 | ISAs | Released after 10/19 | W7 | C22 | ||
| 10/23 | x64 Intro | Released after 10/21 | C23 | |||
Week 10 Lab: Undefined Behavior | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 10/26 | x64 Memory | Released after 10/23 | C24 | |||
| 10/28 | x64 Practice | Released after 10/26 | W8 | W7 | C25 | |
| 10/30 | Quiz 3 | Q3 | ||||
Week 11 Lab: VTables | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 11/2 | Activation Records | Released after 10/30 | P5 | C26 | ||
| 11/4 | Statement Codegen | Released after 11/2 | P6, W9 | W8 | C27 | |
| 11/6 | Function Codegen | Released after 11/4 | C28 | |||
Week 12 Lab: Buffer Overflows | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 11/9 | Other Codegen | Released after 11/6 | T6 | T5 | C29 | |
| 11/11 | Heap Management | Released after 11/9 | W9 | C30 | ||
| 11/13 | Postcompilation | Released after 11/11 | C31 | |||
Week 13 Lab: X64 by Hand | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 11/16 | MC Optimization | Released after 11/13 | T7 | T6 | C32 | |
| 11/18 | Flowgraphs | Released after 11/16 | W10 | P6 Due at 11/18 11:59 PM | C33 | |
| 11/20 | Dataflow | Released after 11/18 | P7 | C34 | ||
Week 14 (No lab this week) | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 11/23 | Abstract Interpretation | Released after 11/20 | C35 | |||
| 11/25 | Thanksgiving Break | |||||
| 11/27 | Thanksgiving Break | |||||
Week 15 Lab: X64 Debugging | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 11/30 | SSA | Released after 11/27 | C36 | |||
| 12/2 | LLVM Bitcode | Released after 11/30 | T8 | T7 Due at 12/2 11:59 PM | C37 | |
| 12/4 | Quiz 4 | Q4 | ||||
Week 16 Lab: LLVM | ||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | |
| 12/7 | Partial Evaluation | Released after 12/4 | - | |||
| 12/9 | Beyond Compilers | Released after 12/7 | P7 Due at 12/9 11:59 PM , T8Due at 12/9 11:59 PM | - | ||
| 12/11 | Stop Day | |||||
Finals week | ||||||
| Date | Time | Event | ||||
| 12/16 | 1:30 PM | Final Exam (cumulative) | ||||