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