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 | pptx pdf mp4  | Survey | Survey | C1 Due at 8/30 3:00 PM |
| 8/26 | Scanning | pptx pdf mp4  | W1 Due at 9/2 3:00 PM | C2 Due at 8/30 3:00 PM | |
| 8/28 | Defining Syntax | Notes released soon | P1 Due at 9/9 11:59 PM | C3 Due at 8/30 3:00 PM | |
Week 2 Lab: BISON (available to view before lab this week) | |||||
| Date | Topic / Reading | Notes | Out | Due | Check-in |
| 8/31 | Ambiguous Syntax | Notes released soon | T1 | C4 Due at 9/6 3:00 PM | |
| 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) | |||