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.
Remembrallocator: code Implement a memory allocator.

What we missed in Spring 2020

Due to mid-semester changes in response to the COVID-19 pandemic, we missed some topics and the following assignments usually included in CS 240:

  • 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.

Feel free to try them out if you are curious!