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