| Date | Meeting | Material covered | Relevant reading |
| 1/5 | Lecture 1 | Course overview; binary numbers | Section 2.4 |
| 1/7 | Lecture 2 | Arithmetic and branches in assembly | Sections 2.1-2.7 |
| 1/8 | Lab 1 | Printing primes - practice w/ loops and if statements | |
| 1/9 | Lecture 3 | Memory in assembly | Sections 2.9,2.13-2.14 |
| 1/12 | Lecture 4 | Switch statements, objects, and linked structures in assembly | |
| 1/14 | Lecture 5 | Functions in assembly | Section 2.8; notes |
| 1/15 | Lab 2 | Recursive function implementation | |
| 1/16 | Lecture 6 | Arithmetic in binary | Sections 3.1-3.4 |
| 1/19 | Lecture 7 | Signed integers and floating point numbers | Sections 2.4 and 3.5 |
| 1/21 | Lecture 8 | Karnaugh maps and Gray codes | Sections C.1-C.3 |
| 1/22 | Lab 3 | Computing Gray codes | |
| 1/23 | Lecture 9 | Drawing circuits; circuits for multiplexers, decoders, and comparators | |
| 1/26 | Lecture 10 | Circuits for adders and ALUs; flip-flops | |
| 1/28 | Lecture 11 | Registers and beginning of data paths | Sections 4.1-4.4 |
| 1/29 | Lab 4 | Circuits with Logisim | |
| 1/30 | Lecture 12 | ||
| 2/2 | No class; work on your midterm | ||
| 2/4 | Lecture 13 | Pipelining and hazards | Sections 4.5-4.8 |
| 2/5 | Lab 5 | Spimbot sweeping | |
| 2/6 | Lecture 14 | Exceptions; RISC/CISC | |
| 2/9 | Lecture 15 | loop unrolling; beginning of memory system | |
| 2/11 | Lecture 16 | Caching | Sections 5.1-5.3 |
| 2/12 | Lab 6 | Spimbot scanning | |
| 2/13 | Lecture 17 | Caching examples | |
| 2/16 | Lecture 18 | Virtual memory: segmentation | Section 5.4 |
| 2/18 | Class rescheduled to 2/24 | ||
| 2/19 | Lab 7 | Self-modifying code | |
| 2/20 | Lecture 19 | Paging; interfacing with devices and bus | Sections 6.5 and 6.6 |
| 2/20 | Lecture 20 | Disks; RAID | Sections 6.3 and 6.9 |
| 2/23 | Lecture 21 | Factors affecting performance; Benchmarks; Amdahl's law; classification of parallel systems | Sections 7.1-7.6 |
| 2/25 | Lecture 22 | GPUs; cache coherence schemes | Section 7.7 |
| 2/26 | Lab 8 | CUDA running Game of Life | |
| 2/27 | Lecture 23 | Lab debrief and more multiprocessor computing | |
| 3/2 | Lecture 24 | Discussion of Roadrunner | |
| 3/4 | Lecture 25 | ||
| 3/5 | No class - work on spimbot | ||
| 3/6 | No class - work on spimbot | ||
| 3/9 | Spimbot tournament | ||
| 3/11 | Reading Day | ||