Key: PA = Programming Assignment, WA = Written Assignment

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