This page lists all lab and homework assignments and their currently anticipated due times. The schedule/assignments may change based on the actual pacing of the course material and other factors.
There are also quizzes after each week of lecture.
Labs which allow submission are due by 11:59am (before noon) the following day unless otherwise noted. Labs which do not allow submission must be completed in the lab time (or some special arrangement made with the instructors) unless otherwise noted.
Homeworks are due at 11:59pm Eastern Time unless otherwise noted.
If an assignment is linked but tentative, we expect there may be some significant changes to the assignment before it is officially released or some infrastructure for the assignment is not setup yet for this semester.
- Lab: make— on 2026-09-02
- Lab: permissions— on 2026-09-09
- HW: warmup— due 2026-09-11
- Lab: fork lab (writeup tentative)— on 2026-09-16
- Test (CBTF): test 1 (between 2026-09-17 and 2026-09-21); topics:
- makefiles
- permissions
- ?exceptions
- Lab: empty loop (writeup tentative)— on 2026-09-23
- HW: timing— due 2026-09-25
- Lab: virtual memory exploration (writeup tentative)— on 2026-09-30
- HW: fork HW— due 2026-10-02
- Lab: sync games (writeup tentative)— on 2026-10-07
- Test (CBTF): test 2 (between 2026-10-08 and 2026-10-12); topics:
- exceptions (w/ I/O)
- fork, waitpid, dup2
- virutal memory
- ?direct-mapped caches
- HW: pagetable part 1 (tentative)— due 2026-10-09
- Lab: cache exercises (writeup tentative)— on 2026-10-14
- HW: pagetable part 2 (pre code review) due BEFORE FIRST LAB — normal late policy does not apply (tentative)— on 2026-10-21
- Lab: code reviews (writeup tentative)— on 2026-10-21
- HW: pagetable 3 (post code review)— due 2026-10-23
- Lab: pthreads (dining philosophers) (writeup tentative)— on 2026-10-28
- Test (CBTF): test 3 (between 2026-10-29 and 2026-11-02); topics:
- set-associative caches
- TLBs
- threading, ?barriers, ?locks
- HW: TLB (tentative)— due 2026-10-30
- Lab: openmp (writeup tentative)— on 2026-11-04
- HW: life (tentative)— due 2026-11-06
- Lab: networking (writeup tentative)— on 2026-11-11
- HW: pool (tentative)— due 2026-11-13
- Lab: secure channels lab (writeup tentative)— on 2026-11-18
- Test (CBTF): test 4 (between 2026-11-19 and 2026-11-23); topics:
- deadlock
- monitors
- networking
- secure channels
- Lab: side channel (writeup tentative)— on 2026-12-02
- HW: OOO (tentative)— due 2026-12-04
- Test (CBTF): test 5 (between 2026-12-04 and 2026-12-08); topics:
- pipelining
- out-of-order
- side channels
- Spectre
- HW: (previous semester homework; not currently planned) (tentative)— on
- Lab: C++ OR templates (writeup tentative)— on never
- Lab: signal handling (writeup tentative)— on