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