🏗 Work
Contents
Lecture Preparation
Lab Preparation
Assignments
- Intros: Introduce yourself.
-
- assign: Monday 23 January
- due: Tuesday 24 January
- Gates: Work with digital logic gates.
-
- assign: Thursday 26 January
- due: Friday 3 February
- Zero: Starting from scratch in CS 240.
-
- assign: Sunday 29 January
- checkpoint: Tuesday 31 January
- due: Friday 3 February
- Bits: Manipulate data with bit-level operations.
-
- assign: Friday 3 February
- checkpoint: Thursday 9 February
- due: Tuesday 14 February
- Circuits: Grow logic circuits and processor components.
-
- assign: Tuesday 14 February
- due: Wednesday 22 February
- Arch: Inspect and manipulate memories and a processor architecture.
-
- assign: Wednesday 22 February
- due: Friday 3 March
- Pointers: Build a command parser with C pointers and arrays.
-
- assign: Sunday 5 March
- checkpoint: Friday 10 March
- due: Tuesday 21 March
- x86: Reverse engineer x86 code to navigate an adventure.
-
- assign: Wednesday 22 March
- due: Tuesday 11 April
- Buffer: Smash the stack to understand calling conventions and security concerns.
-
- assign: Tuesday 11 April
- due: Tuesday 18 April
- Malloc: Build a memory allocator.
-
- assign: Tuesday 18 April
- checkpoint: Friday 21 April
- due: Monday 8 May
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
- ISA Exam: Hardware-Software Interface
-
- preview: Tuesday 18 April
- available: Handed out in class Friday 21 April
- due: The regular deadline is the beginning of lecture on Fri Apr 28. (or slip under the door to Lyn's office = SCI W120). If Lyn has granted you an extension, abide by the agreed-to extension deadline rather that tne original deadline of Friday 28 April
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.