| Week |
Topic |
Notes |
Assigned |
Due |
|
|
|
|
|
|
|
|
| Jan 07 |
|
|
|
|
|
|
Course Overview |
 |
|
|
|
|
| Project Overview |
 |
|
|
|
| Jan 12 |
Lexical Analysis I |
 |
Prj I |
|
|
|
| Lexical Analysis II |
 |
HW1 |
|
|
|
| Discussion |
 |
|
|
|
| Jan 19 |
No class |
|
|
|
|
|
| Introduction to Parsing |
 |
|
|
|
|
| Discussion |
 |
|
|
|
| Jan 26 |
Error Handling, AST, Recursive Descent |
|
Prj 2 |
Prj 1 |
|
|
| Top-Down Parsing |
|
HW 2 |
HW1 |
|
|
| Discussion |
 |
|
|
|
| Feb 02 |
Bottom-Up Parsing Intro |
|
|
|
|
|
| Bottom-Up Parsing II |
|
|
|
|
|
| Discussion |
 |
|
|
|
|
|
|
|
|
|
|
| Feb 09 |
Class Cancelled Due to Fire |
|
|
|
|
|
| Bottom-Up Parsing Wrap-Up |
|
Prj 3/4 |
Prj 2 |
|
|
|
| Discussion |
 |
|
|
|
|
|
|
|
|
|
|
| Feb 16 |
Midterm Review |
|
|
|
|
| Feb 18 |
Midterm |
|
|
|
|
|
|
|
|
| Discussion |
 |
|
|
|
| Feb 20 |
Semantic Analysis I (Make-Up Lecture) |
|
| Feb 23 |
Winter Recess
|
| Mar 02 |
Semantic Analysis II |
|
HW3 |
|
|
|
| Intermediate Representation |
|
|
|
|
|
| Discussion |
 |
|
|
|
|
|
|
|
|
|
|
| Mar 09 |
Runtime - Storage and Layout |
| Prj 4 |
Prj 3 |
|
|
| Garbage Collection |
|
|
|
|
|
| Discussion |
 |
|
|
|
|
|
|
|
|
|
| Mar 16 |
Runtime Structures for OOL |
 |
|
|
|
|
| Code Shape |
 |
HW4 |
HW3 |
|
|
|
|
|
|
|
|
|
| Discussion |
 |
|
|
|
| Mar 23 |
Project 5: Code Generation |
 |
Prj 5 |
Prj 4 |
|
|
Instruction Selection |
 |
|
|
|
|
|
|
|
|
|
|
|
|
| Discussion |
 |
|
|
|
| Mar 30 |
Instruction Scheduling |
 |
|
|
|
|
| Register Allocation |
|
HW5 |
HW4 |
|
|
|
|
|
|
|
|
| Discussion |
 |
|
|
|
| Apr 06 |
Code Optimizations |
|
|
|
|
|
| Dataflow Analysis |
|
|
|
|
|
|
|
|
|
|
|
| Apr 13 |
Control Flow Analysis |
|
|
|
|
|
| Security, Automated Debugging |
|
| HW5 |
|
|
|
|
|
| |
|
| Apr 20 |
Finals Review |
|
| Prj 5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Apr
29 |
Finals |