| week | class | date | class topic | project assignment | |||
| 1 | 1 | 5-Sep | introduction I | ||||
| 2 | 7-Sep | introduction II | sum assignment | ||||
| 2 | 3 | 12-Sep | scanning I | sum assignment due, scanner assignment | |||
| 4 | 14-Sep | scanning II | |||||
| 3 | 5 | 19-Sep | parsing I | scanner due, parser assignment | |||
| 6 | 21-Sep | parsing II | |||||
| 4 | 7 | 26-Sep | syntax-directed translation I | ||||
| 8 | 28-Sep | syntax-directed translation II | |||||
| 5 | 9 | 3-Oct | simple control flow, code gen | parser due, expression generation assignment (454 interpreter) | |||
| 10 | 5-Oct | function calls | |||||
| 09-Oct fall break | |||||||
| 6 | 11 | 10-Oct | name space, parameter passing | ||||
| 12 | 12-Oct | code gen | expression gen due (454 interpreter), function generation assignment (454 polymorphism) | ||||
| 7 | 13 | 17-Oct | data type, polymorphism I | ||||
| 14 | 19-Oct | review | |||||
| 8 | 15 | 24-Oct | mid-term exam | ||||
| 16 | 26-Oct | class, module, interface | |||||
| 9 | 17 | 31-Oct | inheritance, composition | ||||
| 18 | 2-Nov | polymorphism II | func gen (454 polymorphism) | ||||
| 10 | 19 | 7-Nov | exception | ||||
| 20 | 9-Nov | concurrent programming | concurrent programming assignment | ||||
| 11 | 21 | 14-Nov | functional programming I | concurrent programing due, functional programming assignment | |||
| 22 | 16-Nov | functional programming II | |||||
| 12 | 23 | 21-Nov | logic programming | functional programming due, logic programming assignment | |||
| 23-Nov - 27-Nov Thanksgiving | |||||||
| 13 | 24 | 28-Nov | code improvement | last project (to be determined) | |||
| 25 | 30-Nov | data management | |||||
| 14 | 26 | 5-Dec | cache management | logic programming due | |||
| 27 | 7-Dec | slack | |||||
| 15 | 28 | 12-Dec | review | last project due | |||
| reading period | |||||||
| 20-Dec | final exam (9am to 12 noon) | ||||||