Spring 2025 Course Schedule

Week Day Date Topic Lecture Slides Lecture Notes Readings Lab/Assignment
1 Tu 1/21 Intro and 1+1=2
Th 1/23 Numbers and C Intro
  • [P&H] 2.4, 3.2
  • [C] Ch. 1
2 Tu 1/28 Float, Types
  • [P&H] 3.5
A2: Minifloat (Due: 2/5)
Th 1/30 Arrays & Pointers Arrays & Pointers (notes) Arrays & Pointers Arrays, Pointers, Bit Packing
3 Tu 2/4 Heap & Allocation The Stack & Heap (notes) The Stack & Heap Strings, Memory Allocation A3: Huffman (Due: 2/12)
Th 2/6 Gates, Logic Gates (notes) Gates [P&H] A.1-A.3, A.5-A.6 (Appendix)
4 Tu 2/11 State State (notes) State [P&H] A.7-A.8,A.11 (Appendix) Lab 4: GDB (Due: 2/14)
Th 2/13 RISC-V ISA (1) RISC-V (1) (notes) RISC-V [P&H] 2.1-2.3, 2.5-2.6
5 Tu 2/18 February Break! A5: CPU Simulation (Due: 2/26)
Th 2/20 RISC-V ISA (2), CPU Stages, & Prelim 1 RISC-V (2), CPU Stages CPU Stages [P&H] 2.7, 2.20
6 Tu 2/25 RISC-V: Data Memory & Control Flow RISC-V: Data Memory & Control Flow RISC-V: Data Memory & Control Flow [P&H] 2.3-2.4, 2.7, 2.14, 5.1-5.2 A6: Assembly (Due: 3/5)
Th 2/27 Pipelining & Performance Pipelining & Performance Pipelining & Performance [P&H] 4.1 - 4.3
7 Tu 3/4 Calling Conv. (1) Calling Conv (notes) [P&H] 2.8 A7: Functions (Due: 3/12)
Th 3/6 Calling Conv. (2) [P&H] 2.13
8 Tu 3/11 Compiling

RISC, CISC, & ISAs
[P&H] 2.12

[P&H] 2.16-2.18, 2.22
Buffer Overflow
Th 3/13 Caches (1)
9 Tu 3/18 Caches (2) Blocking
Th 3/20 Caches (3)
10 Tu 3/25 Processes Happy Spring Break!
Th 3/27 System Calls
Tu 4/1 Spring Break
Th 4/3 Spring Break
11 Tu 4/8 Virtual Memory Shell
Th 4/10 Prelim 2
12 Tu 4/15 Threads Concurrent Hash Table
Th 4/17 Atomics
13 Tu 4/22 Synchronization (1) Raycasting
Th 4/24 Synchronization (2)
14 Tu 4/29 Parallelism
Th 5/1 Races & Deadlock
15 Tu 5/6 Parallelism

Reading Abbreviations

  • [P&H]: Computer Organization and Design RISC-V Edition: The Hardware Software Interface, 2nd Edition by David A. Patterson and John L. Hennessy (ISBN: 9780128245583)
  • [C]: Modern C by Jens Gustedt
  • [OSTEP]: Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau

Lab Sections

Lab sections are split 50/50 between Thursday and Friday. The work in each lab is meant to help you get started on the assignment that is out that week. There is nothing separate to turn in from lab; the work you do in lab will get turned in as part of that week’s assignment.

Exams

There are three exams:

  • Two preliminary exams:
    • Prelim 1 at February 20 at 7:30pm
    • Prelim 2 at April 10 at 7:30pm
  • The final exam, on TBA