🏗 Work
Contents
Lecture Preparation
Lab Preparation
Assignments
- Intros: Introduce yourself.
-
- assign: Wednesday 21 January
- due: Friday 23 January
- Gates: Work with digital logic gates.
-
- assign: Wednesday 21 January
- due: Wednesday 28 January
- Zero: Starting from scratch in CS 240.
-
- assign: Monday 26 January
- due: Thursday 29 January
- Bits: Manipulate data with bit-level operations.
-
- assign: Thursday 29 January
- checkpoint: Wednesday 4 February
- due: Monday 9 February
- Arch: Grow your own processor architecture.
-
- assign: Monday 9 February
- due: Thursday 19 February
- Pointers: Build a command parser with C pointers and arrays.
-
- assign: Thursday 19 February
- due: Thursday 26 February
- Commands: Build on your pointer skills to parse commands
-
- assign: Thursday 26 February
- due: Thursday 5 March
- x86: Reverse engineer x86 code to navigate an adventure.
-
- assign: Monday 9 March
- checkpoint: Wednesday 25 March
- due: Monday 30 March
- Buffer: Smash the stack to understand calling conventions and security concerns.
-
- assign: Monday 30 March
- due: Monday 6 April
- Concurrency: Explore the process model.
-
- assign: Monday 6 April
- due: Monday 13 April
- Malloc: Build a memory allocator.
-
- assign: Thursday 23 April
- checkpoint: Wednesday 29 April
- due: Monday 4 May
Exams
- HW Exam: Computational Building Blocks
-
- info: Monday 23 February
- inclass: Monday 9 March
- ISA Exam: Hardware-Software Interface
-
- info: Monday 13 April
- inclass: Wednesday 22 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.
- Cache: Use performance impact to reveal cache dimensions.
