Assignments
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!
 - 
- assign: Tuesday, 3 September
 - due: Friday, 6 September
 
 - Entrance Gates: pencil Work with digital logic gates.
 - 
- assign: Tuesday, 3 September
 - due: Tuesday, 10 September
 
 - Integer Arithmancy: pencil Practice number representation and computer arithmetic.
 - 
- assign: Tuesday, 10 September
 - due: Tuesday, 17 September
 
 - Bit Transfiguration: code Transfigure data with bit-level operations.
 - 
- assign: Monday, 16 September
 - due: Tuesday, 24 September
 
 - Circuit Herbology: pencil Grow logic circuits and processor components.
 - 
- assign: Tuesday, 24 September
 - due: Tuesday, 1 October
 
 - Pensieve Processing: pencil Inspect and manipulate memories and a processor design.
 - 
- assign: Tuesday, 1 October
 - due: Tuesday, 8 October
 
 - Pointer Potions: code Brew a command parser with C pointers and arrays.
 - 
- assign: Friday, 18 October
 - due: Wednesday, 30 October
 
 - x86 Runes: code Reverse engineer compiled x86 runes to recover the Sourceror's Code.
 - 
- assign: Monday, 28 October
 - due: Friday, 8 November
 
 - Dark Buffer Arts: code Smash the stack to understand calling conventions and security concerns.
 - 
- assign: Friday, 8 November
 - due: Friday, 15 November
 
 - Cache Divination: pencil Use performance impact to reveal cache dimensions.
 - 
- assign: Friday, 15 November
 - work: Monday, 18 November
 - due: Tuesday, 19 November
 
 - Shell Spells: code Build a shell to explore the process model.
 - 
- assign: Monday, 25 November
 - due: Tuesday, 10 December
 
 - Remembrallocator: code Implement a memory allocator.
 - 
- assign: Monday, 9 December
 - due: Friday, 20 December
 
 
