This schedule is an estimate. It may be updated based on the actual pacing of the course material.

Slides linked with text “Reiss’s slides from” references slide deck(s) for the overall topic(s) that Reiss has built over the years. You can see a list of those slidedecks here. Often not everything in the slide deck will be covered in one day (or sometimes, at all in the semester).

DateTopicAssignment
Week 1
Tue 26 Aug

introduction / building intro

 [ 
Reiss's slides from: intrologisticsbuilding
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

overview, (partially) compilation

  • course outline
  • pointers in C (review?)
Wed 27 Aug

(no lab)

Thu 28 Aug

building

 [ 
Reiss's slides from: building
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

compilation, makefiles

  • .o, .a, .so files
  • dynamic and static linking
  • make
    • rules
Fri 29 Aug
Week 2
Tue 02 Sep

accounts

 [ 
Reiss's slides from: buildingaccounts
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

accounts, POSIX permissions

The quality of the 11am audio recording is poorer than usual (not recorded the usual way) though seems acceptable.

  • make (finish)

  • user IDs/account abstraction
  • POSIX permissions, briefly
Wed 03 Sep

Lab: make


lab writeup
Lab assigned
Thu 04 Sep

privilege / exceptions

 [ 
Reiss's slides from: kernel
| 11am screencapture (browser  or download mp4 webm audio ) ]
Reading:

kernel §1-2.2, 3

  • set-user-ID, sudo is not kernel mode
  • kernel mode
  • system calls
  • memory protection
  • context switches
Quiz week02 (quiz for week 2) released, due 2025-09-09 10:45
Fri 05 Sep
Week 3
Tue 09 Sep

exceptions

 [ 
Reiss's slides from: kernelunix-api
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

kernel §2-2.2, 2.3.1.1, 3 / thread §1-3.2

(add deadline)

  • non-system-call exceptions
    • timer interrupt
    • I/O
Quiz week02 (quiz for week 2) due 10:45 (released 2025-09-04)
Wed 10 Sep

Lab: permissions


lab writeup
Lab assigned
Thu 11 Sep

exceptions 2 / processes 1

 [ 
Reiss's slides from: unix-api
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

kernel §2-2.2, 2.3.1.1, threads §3-4.1

  • non-system-call exceptions (fininsh)

  • creating new processes
    • fork, exec*
  • waiting for processees (start)
Quiz week03 (quiz for week 3) released, due 2025-09-16 10:45
Fri 12 Sep
warmup due by 11:59pm
Week 4
Tue 16 Sep

processes 2

 [ 
Reiss's slides from: unix-api
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
  • waiting for processes (finish)
  • kill
  • file descriptors
  • redirection, dup2
Quiz week03 (quiz for week 3) due 10:45 (released 2025-09-11)
Wed 17 Sep

Lab: empty loop


lab writeup
Lab assigned
Thu 18 Sep

virtual memory 1

 [ 
Reiss's slides from: unix-apivm
| 11am screencapture (browser  or download mp4 webm audio ) ]
Reading:

VM §1, 2.2, 3.1

  • dup2 (finish)

  • virtual memory concept
    • address space and address sizes
  • page tables
  • page table lookup examples
  • page tables and context switches
Quiz week04 (quiz for week 4) released, due 2025-09-23 10:45
Fri 19 Sep
Week 5
Tue 23 Sep

virtual memory 2

 [ 
Reiss's slides from: vm
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

VM §2.1, 3.2

  • loading data on demand
  • copy-on-write, other “page table tricks”
  • swapping
  • mmap, linux /proc/$$/maps
  • storing page tables in memory
  • pagetable assignment
Quiz week04 (quiz for week 4) due 10:45 (released 2025-09-18)
Wed 24 Sep

Lab: fork lab


lab writeup
Lab assigned
Thu 25 Sep

virtual memory 3

 [ 
Reiss's slides from: vm
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

VM §2.1, 3.2

  • multi-level page tables
  • multi-level page table examples
Quiz week05 (quiz for week 5) released, due 2025-09-30 10:45
Fri 26 Sep
timing due by 11:59pm
Week 6
Tue 30 Sep

caches 1

 [ 
Reiss's slides from: caching
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

cache

  • virtual memory exercises
  • caching idea, locality
  • direct-mapped caches
    • valid bits, tags
Quiz week05 (quiz for week 5) due 10:45 (released 2025-09-25)
Wed 01 Oct

Lab: virtual memory exploration


lab writeup
Lab assigned
Thu 02 Oct

caches 2

 [ 
Reiss's slides from: caching
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

cache

  • cache parameter exercises
  • set-associative caches
  • replacement policies (start)
Quiz week06 (quiz for week 6) released, due 2025-10-07 10:45
Fri 03 Oct
fork HW due by 11:59pm
Week 7
Tue 07 Oct

caches 3

 [ 
Reiss's slides from: caching
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

cache

  • replacement policies (finish)
  • cache misses and C code
  • cache write policies
Quiz week06 (quiz for week 6) due 10:45 (released 2025-10-02)
Wed 08 Oct

Lab: sync games


lab writeup
Lab assigned
Thu 09 Oct

midterm review

| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio )
Fri 10 Oct
pagetable part 1 due by 11:59pm
Week 8
Tue 14 Oct

(no class)

(drop deadline)

Wed 15 Oct

Lab: cache exercises


lab writeup
Lab assigned
Thu 16 Oct

midterm

Fri 17 Oct
Week 9
Tue 21 Oct

TLB / threads

 [ 
Reiss's slides from: cachingthreads
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

cache, thread §1.3-4, pthreads §1-2

(withdraw deadline)

  • cache write policies

  • the TLB

  • thread use examples (start)

Wed 22 Oct

Lab: code reviews


lab writeup
pagetable part 2 (pre code review) due BEFORE FIRST LAB — normal late policy does not apply
Lab assigned
Thu 23 Oct

synchronization 1 --- reordering and locks

 [ 
Reiss's slides from: sync
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

consistency §1-2, sync §1-2, 4, pthreads §3.1-2

  • thread use examples (finish)

  • problem of synchronization
    • reordering by compilers, processors
  • locks
Quiz week09 (quiz for week 9) released, due 2025-10-28 10:45
Fri 24 Oct
pagetable 3 (post code review) due by 11:59pm
Week 10
Tue 28 Oct

synchronization 2 --- deadlock / producer/consumer

 [ 
Reiss's slides from: syncdeadlock
| 11am screencapture (browser  or download mp4 webm audio ) ]
Reading:

sync §8; deadlock; pthreads §3.3

  • barriers
  • deadlock

  • producer/consumer problem
Quiz week09 (quiz for week 9) due 10:45 (released 2025-10-23)
Wed 29 Oct

Lab: openmp


lab writeup
Lab assigned
Thu 30 Oct

synchronization 3 --- monitors, producer/consumer

 [ 
Reiss's slides from: sync
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

sync §5-7, pthreads §3.5

  • monitors
    • solving producer/consumer problem
Quiz week10 (quiz for week 10) released, due 2025-11-06 10:45
Fri 31 Oct
cache programs due by 11:59pm
Week 11
Tue 04 Nov
(no class)
Wed 05 Nov

Lab: pthreads (dining philosophers)


lab writeup
Lab assigned
Thu 06 Nov

transactions / networking 1

 [ 
Reiss's slides from: syncnetwork
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

sync §9, protocols §1-2

  • reader/writer locks, briefly
  • transactions, briefly

  • networking layers
  • mailbox analogy
  • connections atop mailbox model
  • names and addresses
Quiz week11 (quiz for week 11) released, due 2025-11-11 10:45
Quiz week10 (quiz for week 10) due 10:45 (released 2025-10-30)
Fri 07 Nov
TLB due by 11:59pm
Week 12
Tue 11 Nov

networking 2

 [ 
Reiss's slides from: network
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

protocols §1-6

  • example: a frame
    • layers (link, network, transport)
  • IP
    • addresses (v4, v6)
    • routers
  • port numbers and UDP
  • mapping between addresses and names/other addresses:
    • DNS
  • (briefly) HTTP, network address translation
Quiz week11 (quiz for week 11) due 10:45 (released 2025-11-06)
Wed 12 Nov

Lab: networking


lab writeup
Lab assigned
Thu 13 Nov

secure channels 1

 [ 
Reiss's slides from: networksecure
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

security §1-3

  • cryptography
    • symmetric encryption
    • asymmetric encryption
    • digital signature
  • replay attacks
  • public key infrastructure
Quiz week12 (quiz for week 12) released, due 2025-11-18 10:45
Fri 14 Nov
life due by 11:59pm
Week 13
Tue 18 Nov

secure channels 2 / pipelining 1

 [ 
Reiss's slides from: secureprocessorspipeline
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

processors §1-3

  • cryptography (finish)
    • cryptographic hashes
    • key exchange
    • TLS outline
  • review: single-cycle CPU
  • pipelining idea
  • pipelining for the CPU
Quiz week12 (quiz for week 12) due 10:45 (released 2025-11-13)
Wed 19 Nov

Lab: secure channels lab


lab writeup
Lab assigned
Thu 20 Nov

pipelining 2

 [ 
Reiss's slides from: pipelineooo
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

processors §2-3

  • pipelining tradeoffs
  • hazards and hazard handling
    • stalling
    • branch prediction, briefly
    • forwarding
  • some pipeline exercises

  • idea of multiple issue + out-of-order
Quiz week13 (quiz for week 13) released, due 2025-11-25 10:45
Fri 21 Nov
Week 14
Tue 25 Nov

out-of-order 1

 [ 
Reiss's slides from: ooobpred
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
Reading:

processors §2-3

  • register renaming
  • instruction queues, dispatch

  • (if time) branch prediction ideas
Quiz week13 (quiz for week 13) due 10:45 (released 2025-11-20)
Wed 26 Nov
(no class)
Thu 27 Nov
(no class)
Fri 28 Nov
(no class)
pipeline HW due following TUESDAY
Week 15
Tue 02 Dec

side channels

 [ 
Reiss's slides from: spectre
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
  • side channels generally
  • side channels in the cache
pipeline due by 11:59pm
Wed 03 Dec

Lab: side channel


lab writeup
Lab assigned
Thu 04 Dec

meltdown/spectre

 [ 
Reiss's slides from: spectre
| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio ) ]
  • meltdown:
    • speculation past a priv/protection fault
  • spectre
    • speculation past a bounds chcek
    • using cache side-channels
Quiz week15 (quiz for week 15) released, due 2025-12-09 10:45
Fri 05 Dec
OOO HW due following TUESDAY
Week 16
Tue 09 Dec

exam review

| 11am screencapture (browser  or download mp4 webm audio )| 2pm screencapture (browser  or download mp4 webm audio )
Quiz week15 (quiz for week 15) due 10:45 (released 2025-12-04)
OOO due 10:45am — normal late policy does not apply
Fri 12 Dec

final exam (both sections; 7pm)