WeEK # | DAY 1 | DAY 2 | DAY 3 | DAY 4 |
---|---|---|---|---|
1 | L1: Course Administration Information and Overview (S) | P1: Scanner/Parser Assigned R1: Scanner Parser Project | ||
2 | L2: Overview of Programming Languages (M) | L3: Regular Expressions, Language Specification by Formal Grammars (M) | L4: Parse Table Construction (M) | L5: Top-down Parsing (M) |
3 | P1: Scanner/Parser Project Due P2: Semantic Checker Project Assigned | R2: Project Information Session | ||
4 | L6: Intermediate Representations (M) | L7: Semantic Analysis (M) | ||
5 | Q1: In-class Quiz | M1: One-on-One Meeting | M1: One-on-One Meeting (cont.) | P2: Semantic Checker Project Due P3: Code Generator Project Assigned |
6 | R3: Project Information Session | L8: Unoptimized Code Generation (S) M2: One-on-One Meeting | ||
7 | L9: Unoptimized Code Generation (cont.) (S) M2: One-on-One Meeting (cont.) | |||
8 | P3: Code Generator Project Checkpoint | |||
9 | P3: Code Generator Project Due L10: Introduction to Program Analysis and Optimization (M) P4: Data-flow Optimizer Project Assigned | L11: Data-flow Analysis (M) | L12: Data-flow Optimizations (M) M3: One-on-One Meeting | L13: Foundations of Data-flow Analysis (M) M3: One-on-One Meeting (cont.) |
10 | Q2: In-class Quiz | R4: Project Information Session | ||
11 | P4: Data-flow Optimizer Project Checkpoint | |||
12 | P4: Data-flow Optimizer Project Due P5: Instruction Optimizer Project Assigned | |||
13 | R5: Project Information Session | L14: Instruction Scheduling (S) | L15: Instruction Scheduling (cont.) (S) | L16: Register Allocation (S) |
14 | L17: Putting it all Together (S) | Q3: In-class Quiz | ||
15 | P5: Instruction Optimizer Project Due | L18: Compiler Derby (S) |