🏗 Projects
- Zero: Starting from scratch in CS 240.
-
- assign: Tuesday, 16 Feb
- due: Friday, 19 Feb
- Bits: Manipulate data with bit-level operations.
-
- assign: Wednesday, 17 Feb
- due: Friday, 26 Feb
- Pointers: Build a command parser with C pointers and arrays.
-
- assign: Friday, 26 Feb
- due: Friday, 5 Mar
- x86: Reverse engineer x86 code to recover a secret.
-
- assign: Friday, 5 Mar
- due: Friday, 12 Mar
- Buffer: Smash the stack to understand calling conventions and security concerns.
-
- assign: Friday, 12 Mar
- due: Friday, 19 Mar
- People who Change Systems:
-
- assign: Friday, 19 Feb
- checkpoint: Friday, 26 Feb
- due: Friday, 26 Mar
- Malloc: Build a memory allocator.
-
- assign: Friday, 19 Mar
- checkpoint: Monday, 22 Mar
- checkpoint: Friday, 26 Mar
- due: Tuesday, 30 Mar
A note on assignments as of Fall 2020:
Assignments in versions of this course from Spring 2015 through Spring 2020 integrated the theme of different courses at a school of magic from a popular book series, as we gradually showed that there is no magic inside a computer. The instructors decided it was time to remove this theme in Fall 2020. If you encounter any lingering traces that we missed, please let us know.