Zero: Starting from scratch in CS 240.
Bits: Manipulate data with bit-level operations.
Pointers: Build a command parser with C pointers and arrays.
x86: Reverse engineer x86 code to recover a secret.
Buffer: Smash the stack to understand calling conventions and security concerns.
People who Change Systems:
Malloc: Build a memory allocator.

A note on assignments as of Fall 2020:

Assignments in versions of this course from Spring 2015 through Spring 2020 integrated the theme of different courses at a school of magic from a popular book series, as we gradually showed that there is no magic inside a computer. The instructors decided it was time to remove this theme in Fall 2020. If you encounter any lingering traces that we missed, please let us know.