| week | class | date | topics | reading | projects | homework | |
| 1 | 1 | 19-Jan | introduction | Chapter 1 | account setup | ||
| 2 | 2 | 24-Jan | binary representation | Chapter 2 | Proj 1: bit twiddling, 1/24, trivia due 1/29 noon, project due 2/3 midnight | ||
| 3 | 26-Jan | integer | |||||
| 3 | 4 | 31-Jan | floating point | ||||
| 5 | 2-Feb | assembly overview, encoding | Chapter 3, w/o 3.14 and 3.15 | Proj 2: binary bomb, 2/3, trivia due 2/8 noon, project due 2/17 midnight | |||
| 4 | 6 | 7-Feb | access, arithmetic | ||||
| 7 | 9-Feb | control | |||||
| 5 | 8 | 14-Feb | arrays and structures | ||||
| 9 | 16-Feb | pipelining | 4.4 and 4.5 | Proj 3: buffer bomb, 2/17, trivia due 2/21 noon, project due 2/23 midnight | |||
| 6 | 10 | 21-Feb | computer architecture | hw1, 2/16, due 2/23 | |||
| 11 | 23-Feb | code improvement | Chapter 5 | ||||
| 7 | 12 | 28-Feb | memory hierarchy | Chapter 6 | |||
| 13 | 2-Mar | mid-term | Proj 4: perf. tuning, 3/2, trivia due 3/6 noon, project due 3/24 midnight | ||||
| 8 | 14 | 7-Mar | four models of locality | handouts | |||
| 15 | 9-Mar | ||||||
| Spring break | |||||||
| 9 | 16 | 21-Mar | reference affinity | ||||
| 17 | 23-Mar | linking | Chapter 7 w/o 7.12 | ||||
| 10 | 18 | 28-Mar | libraries | Proj 5: Unix shell, 3/24, trivia due 3/27 noon, project due 4/6 midnight | |||
| 19 | 30-Mar | exceptions, processes, signals | Chapter 8 | ||||
| 11 | 20 | 4-Apr | the rest of control flow | ||||
| 21 | 6-Apr | measuring time | 9.1, 9.4, 9.5 | ||||
| 12 | 22 | 11-Apr | dynamic memory | Chapter 10 | Proj 6: malloc, 4/11, trivia due 4/14 noon, project due 4/19 noon | ||
| 23 | 13-Apr | virtual memory | |||||
| 13 | 24 | 18-Apr | address translation | hw2, 4/11, due 4/20 | |||
| 25 | 20-Apr | network programming | Chapter 12 | Proj 7: network prog., 4/20, trivia due 4/24 noon, project due 5/3 noon | |||
| 14 | 26 | 25-Apr | virtual machines | handouts | |||
| 27 | 27-Apr | course evaluation | |||||
| 15 | 28 | 2-May | final exam | ||||