| week | class | date | topics | reading | assignments | |
| 1 | 1 | 16-Jan | programming, programs, executions | EAC Ch. 8 | ||
| 2 | 2 | 23-Jan | redandancy removal | |||
| 3 | 3 | 28-Jan | value numbering, local | |||
| 4 | 30-Jan | value numbering, super local | project assigned | |||
| 4 | 5 | 4-Feb | data flow analysis, AVAIL | EAC Ch. 9&10 | ||
| 6 | 6-Feb | data flow analysis, LIVE | AK Ch. 4.4 | |||
| 5 | 7 | 11-Feb | blended analysis guest lecture Ryder | trivial due | ||
| 8 | 13-Feb | data flow properties | ||||
| 6 | 9 | 18-Feb | def-use chains, dead-code removal | weird control flow due | ||
| 10 | 20-Feb | static single assignment | ||||
| 7 | 11 | 25-Feb | instruction-level parallelism | EAC Ch. 12, 13 | local value numbering due | |
| 12 | 27-Feb | mid-term exam | ||||
| 8 | 13 | 3-Mar | register allocation | AK Ch. 1 | ||
| 14 | 5-Mar | PRE, high-level transformation | AK Ch. 2 | |||
| Spring break (3/10-14) | ||||||
| 9 | 15 | 17-Mar | dependence theory | AK Ch. 2 | data flow due | |
| 16 | 19-Mar | distance and direction vectors | ||||
| 10 | 17 | 24-Mar | vectorization | |||
| 18 | 26-Mar | dependence testing | AK 3.2-3.3 (no 3.3.3) | |||
| 11 | 19 | 31-Mar | enhancing parallelism | AK 5.2-5.5 | homework 1 assigned | |
| 20 | 2-Apr | improving locality | AK Ch. 8.4 | |||
| 12 | 21 | 7-Apr | prog. behavior models, guest lecture Gu | Ding+:TOPLAS | ||
| 22 | 9-Apr | control dep, interprocedural analysis | AK 7.3, 11.2.1-2 | |||
| 12 | 23 | 14-Apr | LC language, lambda calculus | LS Ch.8 SS Ch.14 | final project due | |
| 24 | 16-Apr | lambda calculus cont'd | in-class notes | homework 1 due, homework 2 assigned | ||
| 14 | 25 | 21-Apr | call-by-value semantics | |||
| 26 | 23-Apr | call-by-name semantics | ||||
| 15 | 27 | 28-Apr | project presentation, class evaluation | homework 2 due | ||
| 28 | 30-Apr | fast track, guest lecture Kelsey | ||||