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-01-21
- Lab: permissions— on 2026-01-28
- HW: warmup— due 2026-01-30
- Lab: fork lab— on 2026-02-04
- HW: timing— due 2026-02-06
- Lab: empty loop— on 2026-02-11
- HW: fork HW— due 2026-02-13
- Lab: virtual memory exploration— on 2026-02-18
- Lab: sync games— on 2026-02-25
- HW: pagetable part 1— due 2026-02-27
- Lab: cache exercises— on 2026-03-11
- HW: pagetable part 2 (pre code review) due BEFORE FIRST LAB — normal late policy does not apply— on 2026-03-18
- Lab: code reviews— on 2026-03-18
- HW: pagetable 3 (post code review)— due 2026-03-20
- Lab: pthreads (dining philosophers)— on 2026-03-25
- Lab: openmp— on 2026-04-01
- HW: TLB— due 2026-04-03
- Lab: networking— on 2026-04-08
- HW: life— due 2026-04-10
- Lab: secure channels lab— on 2026-04-15
- HW: pool— due 2026-04-17
- Lab: side channel— on 2026-04-22
- HW: OOO— due 2026-04-24
- HW: (previous semester homework; may be turned into quiz replacement)— on
- Lab: C++ OR templates (writeup tentative)— on never
- Lab: signal handling (writeup tentative)— on