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 | ||
| 8/26 | Scanning | pptx pdf mp4  | W1 | C2 | |||
| 8/28 | Defining Syntax | pptx pdf mp4  | P1 | C3 | |||
Week 2 Lab: BISON (available to view before lab this week) | |||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | ||
| 8/31 | Ambiguous Syntax | pptx pdf mp4  | T1 Due at 9/14 11:59 PM | C4 | |||
| 9/2 | SDD |
| W2 | W1 | C5 | ||
| 9/4 | ASTs | pptx pdf mp4  | 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) |
| T2 | P1 Due at 9/9 11:59 PM , W2 | C7 | ||
| 9/11 | Quiz 1 | P2 | Q1 | ||||
Week 4 Lab: Graphviz (available to view before lab this week) | |||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | ||
| 9/14 | FIRST Sets | pptx pdf mp4  | T1 Due at 9/14 11:59 PM | C8 Due at 9/20 3:00 PM | |||
| 9/16 | FOLLOW Sets |
| W3 | P2 Due at 9/16 11:59 PM | C9 Due at 9/20 3:00 PM | ||
| 9/18 | SDT | Notes released soon | P3 | C10 Due at 9/20 3:00 PM | |||
Week 5 Lab: Dynamic Dispatch (available to view before lab this week) | |||||||
| 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 Due at 9/25 11:59 PM | 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 10/21 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 | P5 Due at 10/21 11:59 PM | C22 | ||
| 10/23 | x64 Intro | Released after 10/21 | P6 | 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 | C26 | ||||
| 11/4 | Statement Codegen | Released after 11/2 | W9 | W8 | C27 | ||
| 11/6 | Function Codegen | Released after 11/4 | P6 | C28 | |||
Week 12 Lab: Buffer Overflows | |||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | ||
| 11/9 | Other Codegen | Released after 11/6 | P7, 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 | 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 | P8 | 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 | P8 | - | |||
| 12/9 | Beyond Compilers | Released after 12/7 | T8 Due at 12/9 11:59 PM | - | |||
| 12/11 | Stop Day | ||||||
Finals week | |||||||
| Date | Time | Event | |||||
| 12/16 | 1:30 PM | Final Exam (cumulative) | |||||