Semester Schedule
The schedule will be flexible as we cover each topic. We might spend some extra time on topics, so we will update the schedule as we progress through the semester.
Mtg | Date | Topic | Notes |
---|---|---|---|
1 | 8/28/2024 | Introduction Slides: slides | |
2 | 8/30/2024 | Boolean algebra Readings: Booleans (first 2 sections) - Slides: slides video | |
3 | 9/2/2024 | binary arithmetic, ssh Readings: Bits - Slides: slides video | |
LAB 1 | 9/3/2024 | ssh, bash, and the command line | |
4 | 9/4/2024 | binary arithmetic Readings: Bits - Slides: slides video | |
5 | 9/6/2024 | bitwise Readings: Bits - Slides: slides video | |
6 | 9/9/2024 | Bit-wise And floating point (Part 1) Readings: Booleans (Bit-wise) - Slides: slides video | |
LAB 2 | 9/10/2024 | hex editor | add deadline |
7 | 9/11/2024 | Muxes clocks Readings: Booleans (Fancier Logic) - Slides: slides video | |
8 | 9/13/2024 | clocks, registers Readings: Fancier Logic Components - Slides: slides video | |
9 | 9/16/2024 | code and circuits Readings: Components - Slides: slides video | Homework 1 due 11:59 pm |
LAB 3 | 9/17/2024 | circuits | |
10 | 9/18/2024 | building to a computer Readings: Designing a Processor - Slides: slides video | |
11 | 9/20/2024 | fetch-decode-execute, ISA Readings: Designing a Processor - Slides: slides video Two Instruction Machine Simulations | |
12 | 9/23/2024 | writing machine code Readings: Designing a Processor - Slides: slides video | Homework 2 due 5:30 pm |
LAB 4 | 9/24/2024 | Simulator | |
13 | 9/25/2024 | writing machine code Readings: Designing a Processor - Slides: slides video | |
14 | 9/27/2024 | push, pop and functions Readings: Designing a Processor - Slides: slides video | |
15 | 9/30/2024 | Overview from gates to our toy processor Slides: slides video | Homework 3 due 11:59 pm |
LAB 5 | 10/1/2024 | Fibonanci | |
10/02/2024 | Exam 1 Review | ||
10/04/2024 | Exam 1 | ||
16 | 10/07/2024 | ISAs, stack pointer, functions Slides: slides video | |
LAB 6 | 10/08/2024 | git, ToyASM | |
17 | 10/09/2024 | Executing instructons on our Toy Processor Readings: Storing Data - Slides: slides video | |
18 | 10/11/2024 | Toy Assembly Slides: slides | Homework 4 due 11:59pm |
10/14/2024 | Fall Reading Days | ||
10/15/2024 | Fall Reading Days No labs. | drop deadline | |
19 | 10/16/2024 | addressing modes, endianness, assembly Readings: Storing Data - Slides: slides video | |
20 | 10/18/2024 | x86-64 assembly, functions, compilation Readings: x86-64 Summary - Slides: slides video | |
21 | 10/21/2024 | x86-64 assembly, debugger overview Slides: slides video | |
LAB 7 | 10/22/2024 | debugger | |
22 | 10/23/2024 | computed Jumps, x86-64 examples Slides: slides video | |
23 | 10/25/2024 | lea vs mov examples, assembly examples Readings: Assembly Examples - Slides: slides video | |
24 | 10/28/2024 | Jump Tables and C Readings: Wikipedia C Reference - Slides: slides video | Homework 5 due 11:59pm |
LAB 8 | 10/29/2024 | escape room | |
25 | 10/30/2024 | C introduction Readings: Wikipedia C Reference - Slides: slides video | |
26 | 11/01/2024 | C introduction Slides: slides video | |
27 | 11/04/2024 | C introduction Slides: slides video swap.c | |
11/05/2024 | Election Day (No Lab) (Remember, Remember the .. ) | ||
28 | 11/06/2024 | C Introduction Slides: slides Video | |
29 | 11/08/2024 | C Introduction, directives Slides: slides video | |
11/11/2024 | Exam 2 Review | ||
LAB 9 | 11/12/2024 | Exam 2 | |
30 | 11/13/2024 | C Introduction, Undefined Behavior Readings: Memory - Slides: slides video | |
31 | 11/15/2024 | header files, memory Slides: slides First 2 Pages of Exam video | |
32 | 11/18/2024 | malloc examples, memory errors Slides: slides Video | Homework 6 due 11:59pm |
LAB 10 | 11/19/2024 | char * | |
33 | 11/20/2024 | malloc examples, memory errors Readings: Man and Library Conventions - Slides: slides video | |
34 | 11/22/2024 | function Pointers Part I Slides: slides video | |
35 | 11/25/2024 | Function Pointers Part II Slides: slides video | Homework 7 due 11:59pm |
LAB 11 | 11/26/2024 | memcp, etc string.h, C std library convention | |
36 | 12/02/2024 | buffer overrun, reporting exploits, memory errors Readings: Memory CVE - Slides: slides Video (TBR) | |
LAB 12 | 12/03/2024 | memory errors | |
37 | 12/04/2024 | Socket Based Chat walk through Slides: slides video | |
38 | 12/06/2024 | Exam Review Q&A (Last lecture 15 minutes) | Homework 8 Due 11:59pm |
12/10/2024 | Final Exam 7:00pm - 10:00pm |