# Syllabus

Key: PA = Programming Assignment, WA = Written Assignment

Lecture | Topic | Assignments
1 | Introduction |
2 | The Cool Programming Language | PA1
3 | Lexical Analysis | PA2
4 | Finite Automata |
5 | Parsing |
6 | Top-Down Parsing | PA3
7 | Bottom-Up Parsing I |
8 | Bottom-Up Parsing II |
9 | Semantic Analysis and Type Checking | PA4
10 | Cool Type Checking |
11 | Runtime Organization |
12 | Code Generation |
13 | Operational Semantics | PA5, Optimizer (optional)
14 | Local Optimization |
15 | Global Optimization |
16 | Register Allocation |
17 | Garbage Collection |
18 | Java |