| week | class | date | topics | reading | assignments | ||
| 1 | 1 | 1-Sep | programming and programs | EAC Ch. 8 | |||
| 2 | 2 | 6-Sep | redandancy removal | ||||
| 3 | 8-Sep | value numbering, local | project assigned | ||||
| 3 | 4 | 13-Sep | value numbering, local | ||||
| 5 | 15-Sep | value numbering, global | trivial due | ||||
| 4 | 6 | 20-Sep | AVAIL | EAC Ch. 9 | |||
| 7 | 22-Sep | LIVE | code gen due | ||||
| 5 | 8 | 27-Sep | guest lecture by Danel Stefankovic | ||||
| 9 | 29-Sep | data flow analysis properties | |||||
| 6 | 10 | 4-Oct | def-use chains, dead-code removal | AK Ch. 4.4 | value numbering due | ||
| 11 | 6-Oct | static single assignment | EAC Ch. 10 | ||||
| 7 | 12 | 11-Oct | partial redundancy elimination, ILP | ||||
| 13 | 13-Oct | ILP, register allocation | EAC Ch. 12 | control flow due | |||
| 8 | 14 | 18-Oct | high-level parallelism | EAC Ch. 13 | |||
| 15 | 20-Oct | mid-term | AK Ch. 1 | ||||
| 9 | 16 | 25-Oct | dependence theory | AK Ch. 2 | |||
| 17 | 27-Oct | dependence theory | data flow due (bonus due) | ||||
| 10 | 18 | 1-Nov | vectorization | ||||
| 19 | 3-Nov | dependence testing | AK Ch. 3 | homework 1 assigned | |||
| 11 | 20 | 8-Nov | parallelism | AK Ch. 5 & 6 | |||
| 21 | 10-Nov | control flow | AK Ch. 7 | ||||
| 12 | 22 | 15-Nov | locality | AK Ch. 8 | |||
| 23 | 17-Nov | interprocedural analysis | AK Ch. 11 | final submission due (competition) | |||
| 13 | 24 | 22-Nov | functional languages | lecture notes | homework 1 due, homework 2 assigned | ||
| Thanksgiving recess (11/23-27) | |||||||
| 14 | 25 | 29-Nov | call-by-value semantics | ||||
| 26 | 1-Dec | call-by-name semantics | |||||
| 15 | 27 | 6-Dec | project presentation, class evaluation | homework 2 due | |||
| 28 | 8-Dec | final exam | |||||