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.
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.
- Integer Arithmancy: ex Practice number representation and computer arithmetic.
- Bit Transfiguration: code Transfigure data with bit-level operations.
- Circuit Divination: ex Derive circuits and extend basic processor components.
- Pointer Potions: code Brew a command parser with C pointers and arrays.
- Binary Whizbangs and x86 Runes: code Reverse engineer compiled x86 runes to defuse a binary whizbang.
- Dark Buffer Arts: code Smash the stack to understand calling conventions and security concerns.
- Cache Sleuth: lab (Continued from lab) Use performance impact to reveal cache dimensions.
- Shell Spells: code Build a shell to explore the process model.
- Remembrallocator: code Implement a memory allocator.