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