🏗 Work
Contents
Lecture Preparation
Lab Preparation
Assignments
- Gates: Work with digital logic gates.
-
- assign: Wednesday 8 September
- due: Tuesday 14 September
- Zero: Starting from scratch in CS 240.
-
- assign: Wednesday 8 September
- due: Wednesday 15 September
- due: Thursday 16 September
- Bits: Manipulate data with bit-level operations.
-
- assign: Tuesday 14 September
- checkpoint: Tuesday 21 September
- due: Friday 24 September
- Circuits: Grow logic circuits and processor components.
-
- assign: Friday 24 September
- due: Friday 1 October
- Arch: Inspect and manipulate memories and a processor architecture.
-
- assign: Friday 1 October
- due: Friday 8 October
- Pointers: Build a command parser with C pointers and arrays.
-
- assign: Tuesday 19 October
- due: Friday 29 October
- x86: Reverse engineer x86 code to navigate an adventure.
-
- assign: Friday 29 October
- due: Tuesday 9 November
- Buffer: Smash the stack to understand calling conventions and security concerns.
-
- assign: Tuesday 9 November
- due: Tuesday 16 November
- Profile: Profile a person who change{d,s} computer systems.
-
- assign: Tuesday 14 September
- checkpoint: Friday 22 October
- due: Tuesday 14 December
- Malloc: Build a memory allocator.
-
- assign: Tuesday 30 November
- checkpoint: Tuesday 7 December
- due: Tuesday 14 December
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.
Exams
- HW Exam: Computational Building Blocks
-
- preview: Friday 8 October
- available: 3:30pm Friday 15 October
- due: 11:59pm Monday 18 October
- ISA Exam: Hardware-Software Interface
-
- preview: Friday 12 November
- available: 3:30pm Friday 19 November
- due: 11:59pm Tuesday 23 November
Extra Fun
Parts of these assignments will be used in lab activities, but completing them in full is not required this semester. They are linked here if you are curious to explore further.