This page lists all lab and homework assignments. There are also quizzes before and after each week of lecture.
Labs are due by the end of the day (11:59pm Eastern Time) unless otherwise noted.
Homeworks are due at 9:29am Eastern Time 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: getting C+Unix-like environment— on 2023-01-25
- Lab: bomb lab— on 2023-02-01
- HW: bomb HW— due 2023-02-08
- Lab: bit-fiddling lab (writeup tentative)— on 2023-02-08
- HW: bit-fiddling HW (tentative)— due 2023-02-15
- Lab: linking+ISA lab— on 2023-02-15
- HW: linking+ISA HW— due 2023-02-22
- Lab: HCL1 (pc)— on 2023-02-22
- HW: HCL2 (irmovq + rrmovq + jmp) (tentative)— due 2023-03-01
- Lab: HCL3 (seqlab)— on 2023-03-01
- HW: HCL4 (seqhw)— due 2023-03-15
- Lab: HCL5 (pipelab1)— on 2023-03-15
- HW: HCL6 (pipehw1)— due 2023-03-22
- Lab: HCL7 (pipelab2)— on 2023-03-22
- HW: HCL8 (pipehw2)— due 2023-03-29
- Lab: CacheLab— on 2023-03-29
- HW: pipeline tradeoff simulator— due 2023-04-05
- Lab: cache programs (lab)— on 2023-04-05
- HW: cache programs (hw)— due 2023-04-12
- Lab: LoopLab (writeup tentative)— on 2023-04-12
- HW: Rotate— due 2023-04-19
- HW: Smooth checkpoint (no SIMD)— due 2023-04-19
- Lab: SIMDLab— on 2023-04-19
- HW: Smooth— due 2023-04-26
- Lab: work on memory/smooth HW (no lab) (2023-04-26)
- HW: Memory (tentative)— due 2023-05-03