topic denotes readings and class activities, listed separately on the working schedule.
lab denotes pre-lab assignments and lab activities, listed separately on the lab web page.
pencil denotes written assignments, listed below.
code denotes applied assignments, listed below.

Introductions: Introduce yourself!
Entrance Gates: pencil Work with digital logic gates.
Integer Arithmancy: pencil Practice number representation and computer arithmetic.
Bit Transfiguration: code Transfigure data with bit-level operations.
Circuit Herbology: pencil Grow logic circuits and processor components.
Pensieve Processing: pencil Inspect and manipulate memories and a processor design.
Pointer Potions: code Brew a command parser with C pointers and arrays.
x86 Runes: code Reverse engineer compiled x86 runes to recover the Sourceror's Code.
Dark Buffer Arts: code Smash the stack to understand calling conventions and security concerns.
Cache Divination: pencil Use performance impact to reveal cache dimensions.
Shell Spells: code Build a shell to explore the process model.
Remembrallocator: code Implement a memory allocator.