| Date | Topic |
| 1/14 | Course introduction, regular expressions |
| 1/16 | Lexing, lexer builders |
| 1/21 | Finite state automata |
| 1/23 | LL Parsing |
| 1/28 | LR Parsing |
| 1/30 | jcup |
| 2/04 | More on parsing |
| 2/06 | Error recovery |
| 2/11 | Abstract parse trees, actions, Symbol tables |
| 2/13 | Lake type system, generating parse trees |
| 2/18 | Type checking, activation frames |
| 2/20 | Implementing activation frames, intermediate code |
| 2/25 | Code exploring, more typechecking, translation to IC |
| 2/27 | Midterm exam |
| 3/06 | Supporting OO |
| 3/11 | More translation, canonical form |
| 3/13 | Control flow |
| 3/25 | Canonical transformations, instruction selection |
| 3/27 | CISC instructions, dataflow equations |
| 4/01 | Solving DF equations |
| 4/03 | Implementing instruction selection |
| 4/08 | Liveness, intro to optimization |
| 4/10 | Intro to loop optimization, loop induction |
| 4/15 | Register allocation |
| 4/17 | DF optimization |
| 4/22 | Runtime/Debugger support |
| 4/24 | Software engineering tools |
| 4/29 | Review |