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 2025-01-22
- Lab: permissions— on 2025-01-29
- HW: warmup— due 2025-01-31
- Lab: signal handling— on 2025-02-05
- Lab: fork lab— on 2025-02-12
- HW: timing— due 2025-02-17
- Lab: virtual memory exploration— on 2025-02-19
- HW: fork HW— due 2025-02-21
- Lab: sync games (writeup tentative)— on 2025-02-26
- HW: pagetable part 1— due 2025-02-28
- Lab: cache exercises— on 2025-03-05
- HW: pagetable part 2 (pre code review) due BEFORE FIRST LAB — normal late policy does not apply— on 2025-03-19
- Lab: code reviews— on 2025-03-19
- HW: pagetable 3 (post code review)— due 2025-03-21
- HW: cache exercises due— due 2025-03-25
- Lab: openmp— on 2025-03-26
- HW: cache programs— due 2025-03-28
- Lab: pthreads (dining philosophers)— on 2025-04-02
- HW: TLB— due 2025-04-04
- Lab: networking— on 2025-04-09
- HW: life— due 2025-04-11
- Lab: secure channels lab— on 2025-04-16
- HW: pipeline— due 2025-04-18
- Lab: side channel— on 2025-04-23
- HW: OOO— due 2025-04-25
- Lab: C++ OR templates (writeup tentative)— on never