Assignments
topic readings are listed separately on the working schedule.
lab assignments are listed separately on the lab web page.
ex denotes written exercises.
code denotes larger applied assignments
- Entrance Gates: ex Introduce yourself and work with digital logic gates.
- assign: Thursday, 26 January
- due: Thursday, 2 February
- Integer Arithmancy: ex Practice number representation and computer arithmetic.
- assign: Thursday, 2 February
- due: Monday, 6 February
- Circuit Herbology: ex Grow circuits and processor components.
- assign: Monday, 6 February
- due: Monday, 13 February
- Bit Transfiguration: code Transfigure data with bit-level operations.
- assign: Thursday, 9 February
- checkpoint: Thursday, 16 February
- due: Tuesday, 21 February
- Pensieve Processing: ex Inspect and manipulate memories and a processor design.
- assign: Tuesday, 21 February
- checkpoint: Monday, 27 February
- due: Tuesday, 28 February
- Pointer Potions: code Brew a command parser with C pointers and arrays.
- assign: Monday, 6 March
- checkpoint: Thursday, 9 March
- due: Monday, 13 March
- x86 Runes: code Reverse engineer compiled x86 runes to recover the Sourceror's Code.
- assign: Monday, 13 March
- checkpoint: Monday, 20 March
- due: Friday, 24 March
- Dark Buffer Arts: code Smash the stack to understand calling conventions and security concerns.
- assign: Monday, 3 April
- checkpoint: Thursday, 6 April
- due: Monday, 10 April
- Cache Divination: ex Use performance impact to reveal cache dimensions.
- assign: Monday, 10 April
- due: Tuesday, 18 April
- Shell Spells: code Build a shell to explore the process model.
- assign: Monday, 24 April
- due: Monday, 1 May
- Remembrallocator: code Implement a memory allocator.
- assign: Monday, 1 May
- due: Monday, 15 May