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)