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