| week | class | date | topics | reading | assignments | ||
| 1 | 1 | 16-Jan | introduction | Chapter 1 | account setup | ||
| 2 | 2 | 21-Jan | binary representation | Chapter 2 | Proj 1: bit twiddling, 1/21, trivia due 1/24 noon, project due 1/31 midnight | ||
| 3 | 23-Jan | integer | |||||
| 3 | 4 | 28-Jan | floating point | ||||
| 5 | 30-Jan | assembly overview, encoding | Chapter 3, w/o 3.14 and 3.15 | Proj 2: binary bomb, 1/30, trivia due 2/3 noon, project due 2/12 midnight | |||
| 4 | 6 | 4-Feb | access, arithmetic | ||||
| 7 | 6-Feb | control | |||||
| 5 | 8 | 11-Feb | arrays and structures | ||||
| 9 | 13-Feb | other topics of assembly | Proj 3: buffer bomb, 2/13, trivia due 2/17 noon, project due 2/19 midnight | ||||
| 6 | 10 | 18-Feb | pipelining | Chapter 4, w/o 4.2 and 4.3 | |||
| 11 | 20-Feb | pipeline hazards | |||||
| 7 | 12 | 25-Feb | guest lecture: Prof. Huang | ||||
| 13 | 27-Feb | mid-term | Proj 4: comparing systems, 2/27, project due 3/7 noon | ||||
| 8 | 14 | 4-Mar | code inefficiency | 5.1-5.8, 5.10, 5.15 | |||
| 15 | 6-Mar | parallelism, profiling | |||||
| Spring break | |||||||
| 9 | 16 | 18-Mar | memory, locality | Chapter 6 | Proj 5: performance tuning, 3/20, trivia due 3/26 noon, project due 3/28 midnight | ||
| 17 | 20-Mar | locality, cache | |||||
| 10 | 18 | 25-Mar | memory performance | ||||
| 19 | 27-Mar | linking | Chapter 7 w/o 7.12 | ||||
| 11 | 20 | 1-Apr | libraries | Proj 6: Unix shell, 4/1, trivia due 4/3 noon, project due 4/14 midnight | |||
| 21 | 3-Apr | exceptions, processes, signals | Chapter 8 | ||||
| 12 | 22 | 8-Apr | the rest of control flow | ||||
| 23 | 10-Apr | measuring time | 9.1, 9.4, 9.5 | ||||
| 13 | 24 | 15-Apr | virtual memory | Chapter 10 | |||
| 25 | 17-Apr | address translation | Proj 7: malloc, 4/15, trivia due 4/17 noon, project due 4/30 noon | ||||
| 14 | 26 | 22-Apr | dynamic memory | ||||
| 27 | 24-Apr | course evaluation | Chapters 12, 13 | ||||
| 15 | 28 | 29-Apr | final exam | ||||