🏗 Work
Contents
Lecture Preparation
Lab Preparation
Assignments
- Intros: Introduce yourself.
-
- assign: Tuesday 21 January
- due: Friday 24 January
- Gates: Work with digital logic gates.
-
- assign: Thursday 23 January
- checkpoint: Tuesday 28 January
- due: Monday 3 February
- Zero: Starting from scratch in CS 240.
-
- assign: Sunday 2 February
- due: Wednesday 5 February
- Bits: Manipulate data with bit-level operations.
-
- assign: Wednesday 5 February
- checkpoint: Monday 10 February
- due: Friday 14 February
- Arch: Grow your own processor architecture.
-
- assign: Sunday 16 February
- checkpoint: Thursday 20 February
- due: Tuesday 25 February
- Pointers: Build a command parser with C pointers and arrays.
-
- assign: Tuesday 25 February
- checkpoint: Monday 3 March
- due: Tuesday 11 March
- x86: Reverse engineer x86 code to navigate an adventure.
-
- assign: Tuesday 11 March
- checkpoint: Monday 24 March
- due: Friday 28 March
- Buffer: Smash the stack to understand calling conventions and security concerns.
-
- assign: Friday 28 March
- due: Tuesday 8 April
- Concurrency: Explore the process model.
-
- assign: Tuesday 8 April
- due: Friday 18 April
- Malloc: Build a memory allocator.
-
- assign: Friday 18 April
- checkpoint: Friday 25 April
- due: Friday 2 May
Exams
- HW Exam: Computational Building Blocks
-
- info: Friday 28 February
- ISA Exam: Hardware-Software Interface
-
- info: Friday 25 April
- inclass: Wednesday 30 April
- revisions: Tuesday 6 May
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.