The calendar below provides information on the course's lecture, recitation, one-on-one meeting, project, and quiz sessions. For the one-on-one meetings, students read assigned papers and discuss the papers in individual meetings with the professors or teaching assistants.
Calendar Legend
L: Lecture
P: Project
R: Recitation
Q: Quiz
M: Meeting
(S): Session taught by Professor Saman Amarasinghe
(M): Session taught by Professor Martin Rinard
Course schedule.
| 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) |
|