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— on 2026-09-16
- Test (CBTF): test 1 (between 2026-09-16 and 2026-09-18); topics:
- makefiles
- permissions
- ?exceptions
- Lab: empty loop— on 2026-09-23
- HW: timing— due 2026-09-25
- Lab: virtual memory exploration— on 2026-09-30
- HW: fork HW— due 2026-10-02
- Lab: sync games— on 2026-10-07
- Test (CBTF): test 2 (between 2026-10-07 and 2026-10-09); topics:
- exceptions (w/ I/O)
- fork, waitpid, dup2
- virutal memory
- ?direct-mapped caches
- HW: pagetable part 1— due 2026-10-09
- Lab: cache exercises— on 2026-10-14
- HW: pagetable part 2 (pre code review) due BEFORE FIRST LAB — normal late policy does not apply— on 2026-10-21
- Lab: code reviews— on 2026-10-21
- HW: pagetable 3 (post code review)— due 2026-10-23
- Lab: pthreads (dining philosophers)— on 2026-10-28
- Test (CBTF): test 3 (between 2026-10-28 and 2026-10-30); topics:
- set-associative caches
- TLBs
- threading, ?barriers, ?locks
- HW: TLB— due 2026-10-30
- Lab: openmp— on 2026-11-04
- HW: life— due 2026-11-06
- Lab: networking— on 2026-11-11
- HW: pool— due 2026-11-13
- Lab: secure channels lab— on 2026-11-18
- Test (CBTF): test 4 (between 2026-11-18 and 2026-11-20); topics:
- deadlock
- monitors
- networking
- secure channels
- Lab: side channel— on 2026-12-02
- HW: OOO— 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