
In the week before the one in which a lab is due, there will be two recitation sessions on Monday and Thursday at 5 to 6pm in 703. The project sessions are led by Qing Guo and Hao Luo with the help from the two workshop leaders. Since the material overlaps, you are adviced to come to one of the recitation sessions each week.
In the other weeks, there will be two workshops run by Willie Reed and Emily Eisenburg. The days, Mondays and Thursdays, and the location, CSB 703, are the same as the project sessions, but the time is two hours later, 7pm to 8pm.
Lecture notes will be posted after each class.
Readings refer to the chapter number(s) in the textbook.
| Date | Lecture notes | Readings |
| Jan 17, Thursday | Overview | 1 |
| Jan 22, Tuesday | Bits, Bytes, Ints | 2.1-2 |
| Jan 24, Thursday | Int Arithmetric and Floating Point | 2.3-4 |
| Jan 29, Tuesday | Ruby object encoding | notes by Jacob Brock |
| Jan 31, Thursday | Machine Prog: Basics | 3.1-5, 3.13.1-3 |
| Feb 5, Tuesday | Machine Prog: Control | 3.6, 3.13.4 |
| Feb 7, Thursday | Machine Prog: Procedures | 3.7 |
| Feb 12, Tuesday | Machine Prog: Proc (cont'd) | 3.8-9 |
| Feb 14, Thursday | Machine Prog: Data, Advanced | 3.10-12, 3.13.5, 3.14-15 |
| Feb 19, Tuesday | Evolution of Comp. Arch. | slides |
| Feb 21, Thursday | Mach. / Prog. Balance | slides |
| Feb 26, Tuesday | Memory Hierarchy (Qing) | 6.1-3 |
| Feb 28, Thursday | Cache and Performance (Hao) | 6.4-7 |
| Mar 5, Tuesday | Intro to locality theory | slides |
| March 7, Thursday | mid-term exam (chapters 1-6) | |
| March 19, Tuesday | Safe Parallel Programming (Gernhardt) | slides |
| March 21, Thursday | Linking, Static/Dynamic Libraries | 7 |
| March 26, Tuesday | Processes | 8.1-4 |
| March 28, Thursday | Processes (cont'd) | 8.1-4 |
| April 2, Tuesday | Signal, Shell | 8.5-8 |
| April 4, Thursday | Signal, Shell (cont'd) | 8.5-8 |
| April 9, Tuesday | VM: Concepts | 9.1-6 |
| April 11, Thursday | VM: Systems (board photos on slides 2 and 9) | 9.7-8 |
| April 16, Tuesday | Dynamic Allocation: Basics | 9.9 |
| April 18, Thursday | Dynamic Allocation: Advanced | 9.10-12 |
| April 23, Tuesday | I/O | 10 |
| April 25, Thursday | Networking | 11 |
| April 30, Tuesday | Threading and synchronization | 12 |
| May 2, Thursday | Review and exam practice | |
| May 9, Thursday 4pm | Final exam (chapters 7-12) |