This page lists all lab and homework assignments. There are also quizzes before and after each week of lecture.
Labs which allow submission are due by 8:59am the following morning 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 1:59pm Eastern Time (before the first lab) unless otherwise noted.
If an assignment is linked but tentative, there may be some changes, perhaps very substantial changes, to the assignment before it is officially released.
- Lab: make— on 2023-01-25
- Lab: signal handling— on 2023-02-01
- HW: warmup— due 2023-02-01
- Lab: permissions— on 2023-02-08
- HW: timing— due 2023-02-08
- Lab: networking— on 2023-02-15
- HW: pagetable part 1— due 2023-02-15
- HW: pagetable 2 (pre code review)— due 2023-02-22
- Lab: code reviews— on 2023-02-22
- HW: pagetable 3 (post code review)— due 2023-03-01
- Lab: secure channels lab— on 2023-03-01
- Lab: cache exercises— on 2023-03-15
- HW: cache programs— due 2023-03-22
- Lab: fork lab— on 2023-03-22
- HW: TLB— due 2023-03-29
- Lab: sync games— on 2023-03-29
- HW: fork HW— due 2023-04-05
- Lab: pthreads (dining philosophers)— on 2023-04-05
- HW: life— due 2023-04-12
- Lab: openmp— on 2023-04-12
- Lab: side channel— on 2023-04-19
- HW: pipeline— due 2023-04-26
- Lab: C++ OR templates— on 2023-04-26
- HW: OOO— due 2023-05-03