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: Tuesday, 26 January
- due: Tuesday, 2 February
- Integer Arithmancy: ex Practice number representation and computer arithmetic.
- assign: Tuesday, 2 February
- due: Tuesday, 9 February
- Bit Transfiguration: code Transfigure data with bit-level operations.
- assign: Tuesday, 2 February
- checkpoint: Monday, 8 February
- due: Thursday, 11 February
- Circuit Herbology: ex Grow circuits and processor components.
- assign: Monday, 15 February
- checkpoint: Tuesday, 23 February
- due: Friday, 26 February
- Pointer Potions: code Brew a command parser with C pointers and arrays.
- assign: Wednesday, 2 March
- checkpoint: Thursday, 10 March
- due: Monday, 14 March
- x86 Whizbangs: code Reverse engineer compiled x86 runes to defuse a binary whizbang.
- assign: Tuesday, 15 March
- checkpoint: Thursday, 31 March
- due: Monday, 4 April
- Dark Buffer Arts: code Smash the stack to understand calling conventions and security concerns.
- assign: Friday, 1 April
- due: Monday, 11 April
- Cache Divination: ex Use performance impact to reveal cache dimensions.
- assign: Tuesday, 12 April
- due: Tuesday, 19 April
- Shell Spells: code Build a shell to explore the process model.
- assign: Friday, 15 April
- checkpoint: Friday, 29 April
- due: Monday, 2 May
- Remembrallocator: code Implement a memory allocator.
- assign: Friday, 29 April
- due: Monday, 16 May