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 | ||
8/20 | Scanning | pptx pdf mp4  | W1 | C2 | |||
8/22 | 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/25 | Ambiguous Syntax | pptx pdf mp4  | T1 Due at 9/8 11:59 PM | C4 | |||
8/27 | SDD |
| W2 | W1 | C5 | ||
8/29 | ASTs | pptx pdf mp4  | C6 | ||||
Week 3 Lab: Preprocessing (available to view before lab this week) | |||||||
Date | Topic / Reading | Notes | Out | Due | Check-in | ||
9/1 | Labor Day | ||||||
9/3 | Parsing and LL(1) |
| T2 Due at 9/19 11:59 PM | P1, W2 | C7 | ||
9/5 | Quiz 1 | review.mp4 | P2 | Q1 | |||
Week 4 Lab: Graphviz (available to view before lab this week) | |||||||
Date | Topic / Reading | Notes | Out | Due | Check-in | ||
9/8 | FIRST Sets | Notes released soon | T1 Due at 9/8 11:59 PM | C8 Due at 9/14 3:00 PM | |||
9/10 | FOLLOW Sets | Released after 9/8 | W3 | P2 Due at 9/10 11:59 PM | C9 | ||
9/12 | SDT | Released after 9/10 | P3 | 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 | T2 Due at 9/19 11:59 PM | C13 | ||
Week 6 | |||||||
Date | Topic / Reading | Notes | Out | Due | Check-in | ||
9/22 | Semantic Analysis | Released after 9/19 | P3 | C14 | |||
9/24 | Typesystems | Released after 9/22 | P4, 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 (No lab this week) | |||||||
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) |