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 | P1 Due at 9/3 11:59 PM , 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 | pptx pdf mp4  | T1 Due at 9/8 11:59 PM | C8 | |||
| 9/10 | FOLLOW Sets |
| W3 | P2 Due at 9/10 11:59 PM | C9 | ||
| 9/12 | SDT | pptx mp4  | P3 | C10 | |||
Week 5 Lab: Dynamic Dispatch (available to view before lab this week) | |||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | ||
| 9/15 | LR Parsers | pptx pdf mp4  | C11 | ||||
| 9/17 | SLR Parsers |
| W4 | W3 | C12 | ||
| 9/19 | Scope | pptx pdf mp4  | T3 Due at 9/29 11:59 PM | T2 Due at 9/19 11:59 PM | C13 | ||
Week 6 Lab: Test-Driven Development (available to view before lab this week) | |||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | ||
| 9/22 | Semantic Analysis | pptx pdf mp4  | C14 | ||||
| 9/24 | Typesystems |
| W5 | P3 Due at 9/24 11:59 PM , W4 | C15 | ||
| 9/26 | 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 | ||
| 9/29 | Error Reports | pptx pdf mp4  | T4 Due at 10/8 11:59 PM | T3 Due at 9/29 11:59 PM | C17 | ||
| 10/1 | Parameters |
| W6 | W5 | C18 | ||
| 10/3 | Runtimes | pptx pdf mp4  | P4 | C19 | |||
Week 8 Lab: Undefined Behavior (available to view before lab this week) | |||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | ||
| 10/6 | 3AC Intro | pptx pdf mp4  | P5 Due at 10/24 11:59 PM | C20 | |||
| 10/8 | 3AC Translation |
| T5 | W6, T4 Due at 10/8 11:59 PM | 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 |
| W7 | C22 | |||
| 10/17 | x64 Intro | pptx | C23 | ||||
Week 10 Lab: VTables (available to view before lab this week) | |||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | ||
| 10/20 | x64 Memory | pptx | C24 Due at 10/26 3:00 PM | ||||
| 10/22 | x64 Practice |
| W8 | W7 | C25 Due at 10/26 3:00 PM | ||
| 10/24 | Activation Records | pptx pdf mp4  | P5 Due at 10/24 11:59 PM | C26 Due at 10/26 3:00 PM | |||
Week 11 Lab: Buffer Overflows (available to view before lab this week) | |||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | ||
| 10/27 | Statement Codegen | Notes released soon | P6 | C27 Due at 11/2 3:00 PM | |||
| 10/29 | Function Codegen | Released after 10/27 | W9 | W8 | C28 | ||
| 10/31 | Other Codegen | Released after 10/29 | T6 | T5 Due at 10/31 11:59 PM | C29 | ||
Week 12 Lab: X64 by Hand | |||||||
| Date | Topic / Reading | Notes | Out | Due | Check-in | ||
| 11/3 | Heap Management | Released after 10/31 | P6 | C30 | |||
| 11/5 | Postcompilation | Released after 11/3 | P7 Due at 11/17 11:59 PM | 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 Due at 12/3 11:59 PM , T8Due at 12/3 11:59 PM | - | |||
| 12/5 | Stop Day | ||||||
Finals week | |||||||
| Date | Time | Event | |||||
| 12/8 | 1:30 PM | Final Exam (cumulative) | |||||