Key: PA = Programming Assignment, WA = Written Assignment

Date Lecture Topic Assigned Due
3/30 Tuesday 1 Course Overview
4/2 Thursday 2 Cool: The Course Project
4/7 Tuesday 3 Lexical Analysis PA1
4/9 Thursday 4 Finite Automata WA1
4/14 Tuesday 5 Introduction to Parsing
4/16 Thursday 6 Syntax-Directed Translation PA2, WA2PA1, WA1
4/21 Tuesday 7 Top-Down Parsing & Bottom-Up Parsing I
4/23 Thursday 8 Bottom-Up Parsing II
4/27 Monday WA2
4/28 Tuesday 9 Semantic Analysis and Type Checking I PA3PA2
4/30 Thursday In-class Midterm
5/5 Tuesday 10 Type Checking II
5/7 Thursday 11 Runtime Organization
5/12 Tuesday 12 Code Generation WA3
5/14 Thursday 13 Operational Semantics PA4, OptimizerPA3
5/19 Tuesday 14 Local Optimization WA3
5/21 Thursday 15 Global Optimization WA4
5/26 Tuesday 16 Register Allocation
5/28 Thursday 17 Garbage Collection PA4
6/2 Tuesday 18 TBD WA4
6/3 Wednesday Last Day of Classes PA5