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