Assignments
CS 240 assignments have a few forms:
- lab Short weekly pre-lab assignments prepare for hands-on work during the upcoming lab meeting. Pre-lab assignments are posted on the lab web page 1 or 2 days before lab.
- ex Written exercises practice concepts in the small.
- code Large applied assignments involve signficant effort on programming, reverse engineering, and debugging.
Assignments
This list may change. lab assignments are listed separately on the lab web page.
- Entrance Gates: ex Introduce yourself and work with digital logic gates.
- assign: Tuesday, 01 September
- due: Tuesday, 08 September
- Integer Arithmancy: ex Practice number representation and computer arithmetic.
- assign: Tuesday, 08 September
- due: Tuesday, 15 September
- Bit Transfiguration: code Transfigure data with bit-level operations.
- assign: Tuesday, 08 September
- checkpoint: Tuesday, 15 September
- due: Thursday, 17 September
- Circuit Divination: ex Derive circuits and extend basic processor components.
- assign: Friday, 18 September
- due: Friday, 25 September
- Pointer Potions: code Brew a command parser with C pointers and arrays.
- assign: Wednesday, 07 October
- due: Monday, 19 October
- Binary Whizbangs and x86 Runes: code Reverse engineer compiled x86 runes to defuse a binary whizbang.
- assign: Wednesday, 21 October
- checkpoint: Tuesday, 27 October
- due: Thursday, 29 October
- Dark Buffer Arts: code Smash the stack to understand calling conventions and security concerns.
- assign: Friday, 30 October
- due: Monday, 09 November
- Cache Sleuth: lab (Continued from lab) Use performance impact to reveal cache dimensions.
- assign: Wednesday, 11 November
- due: Friday, 13 November
- Shell Spells: code Build a shell to explore the process model.
- assign: Wednesday, 18 November
- checkpoint: Thursday, 03 December
- due: Monday, 07 December
- Remembrallocator: code Implement a memory allocator.
- assign: Wednesday, 02 December
- due: Friday, 18 December