| week | class | date | class topic | assignment | |||
| 1 | 1 | 4-Sep | introduction I | ||||
| 2 | 6-Sep | introduction II | written assignment 1 | ||||
| 2 | 3 | 11-Sep | review of scanning | scanner project | |||
| 4 | 13-Sep | parsing I | written assignment 2 | ||||
| 3 | 5 | 18-Sep | parsing II | scanner due, parser project | |||
| 6 | 20-Sep | syntax-directed translation I | |||||
| 4 | 7 | 25-Sep | syntax-directed translation II | ||||
| 8 | 27-Sep | function, scope, naming | |||||
| 5 | 9 | 2-Oct | parameter passing | parser due, expr gen project (454 interpreter) | |||
| 10 | 4-Oct | run-time envrionment | |||||
| 08-Oct fall break | |||||||
| 6 | 11 | 9-Oct | function code gen | ||||
| 12 | 11-Oct | data type, polymorphism I | expr gen due (454 interp), func gen project (454 poly) | ||||
| 7 | 13 | 16-Oct | review | ||||
| 14 | 18-Oct | mid-term exam (in class) | |||||
| 8 | 15 | 23-Oct | class, module, interface | ||||
| 16 | 25-Oct | inheritance, composition | |||||
| 9 | 17 | 30-Oct | polymorphism II | func gen (454 poly), ext scanner project | |||
| 18 | 1-Nov | exception | |||||
| 10 | 19 | 6-Nov | intermediate representation | ||||
| 20 | 8-Nov | local data flow analysis | |||||
| 11 | 21 | 13-Nov | register allocation | ext. scanner due, reg alloc project | |||
| 22 | 15-Nov | slack | |||||
| 12 | 23 | 20-Nov | functional programming I | ||||
| 21-Nov - 26-Nov Thanksgiving holiday | |||||||
| 13 | 24 | 27-Nov | functional programming II | written assignment 3 | |||
| 25 | 29-Nov | logic programming | |||||
| 14 | 26 | 4-Dec | advanced topic: cache management | ||||
| 27 | 6-Dec | slack | |||||
| 15 | 28 | 11-Dec | review | reg alloc due | |||
| reading period | |||||||
| TBD | final exam (between 16th and 22nd) | ||||||