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 | Jan 13 2025 | Introduction Slides: slides | |
2 | Jan 15 2025 | Boolean algebra Readings: Booleans (first 2 sections) - Slides: slides video | |
3 | Jan 17 2025 | binary arithmetic, ssh Readings: Bits - Slides: slides video | |
LAB 1 | Jan 21 2025 | ssh, bash, and the command line | |
4 | Jan 22 2025 | binary arithmetic Readings: Bits - Slides: slides video | |
5 | Jan 24 2025 | bitwise Readings: Bits - Slides: slides video | |
6 | Jan 27 2025 | Bit-wise And floating point (Part 1) Readings: Booleans (Bit-wise) - Slides: slides video | |
LAB 2 | Jan 28 2025 | hex editor | add deadline |
7 | Jan 29 2025 | Muxes clocks Readings: Booleans (Fancier Logic) - Slides: slides video | |
8 | Jan 31 2025 | clocks, registers Readings: Fancier Logic Components - Slides: slides video | |
9 | Feb 3 2025 | code and circuits Readings: Components - Slides: slides video | Homework 1 due 11:59 pm |
LAB 3 | Feb 4 2025 | circuits | |
10 | Feb 5 2025 | building to a computer Readings: Designing a Processor - Slides: slides video | |
11 | Feb 7 2025 | fetch-decode-execute, ISA Readings: Designing a Processor - Slides: slides video Two Instruction Machine Simulations | |
12 | Feb 10 2025 | writing machine code Readings: Designing a Processor - Slides: slides video | Homework 2 due 5:30 pm |
LAB 4 | Feb 11 2025 | Simulator | |
13 | Feb 12 2025 | writing machine code Readings: Designing a Processor - Slides: slides video | |
14 | Feb 14 2025 | push, pop and functions Readings: Designing a Processor - Slides: slides video | |
15 | Feb 17 2025 | Overview from gates to our toy processor Slides: slides video | Homework 3 due 11:59 pm |
LAB 5 | Feb 18 2025 | Fibonacci | |
16 | Feb 19 2025 | ISAs, stack pointer, functions Slides: slides video | |
17 | Feb 21 2025 | Executing instructons on our Toy Processor Readings: Storing Data - Slides: slides video | |
Feb 24 2025 | Exam 1 - Review | drop deadline | |
Feb 25 2025 | Exam 1 | ||
18 | Feb 26 2025 | addressing modes, endianness, assembly Readings: Storing Data - Slides: slides video | |
19 | Feb 28 2025 | Toy Assembly Slides: slides | |
20 | Mar 3 2025 | x86-64 assembly, functions, compilation Readings: x86-64 Summary - Slides: slides video | Homework 4 due 11:59pm |
LAB 6 | Mar 4 2025 | git, ToyASM | |
21 | Mar 5 2025 | x86-64 assembly, debugger overview Slides: slides video | |
22 | Mar 7 2025 | computed Jumps, x86-64 examples Slides: slides video | |
Mar 10 2025 | Spring Recess | ||
Mar 11 2025 | Spring Recess No labs. | ||
Mar 12 2025 | Spring Recess | ||
Mar 14 2025 | Spring Recess | ||
23 | Mar 17 2025 | lea vs mov examples, assembly examples Readings: Assembly Examples - Slides: slides video | Homework 5 due 11:59pm |
LAB 7 | Mar 18 2025 | debugger | |
24 | Mar 19 2025 | Jump Tables and C Readings: Wikipedia C Reference - Slides: slides video | |
25 | Mar 21 2025 | C introduction Readings: Wikipedia C Reference - Slides: slides video | |
26 | Mar 24 2025 | C introduction Slides: slides video | |
LAB 8 | Mar 25 2025 | escape room | |
27 | Mar 26 2025 | C introduction Slides: slides video swap.c | |
28 | Mar 28 2025 | C Introduction Slides: slides Video | |
Mar 31 2025 | Exam 2 - Review | ||
Apr 1 2025 | Exam 2 | ||
29 | Apr 2 2025 | C Introduction, directives Slides: slides video | |
30 | Apr 4 2025 | C Introduction, Undefined Behavior Readings: Memory - Slides: slides video | |
31 | Apr 7 2025 | header files, memory Slides: slides First 2 Pages of Exam video | Homework 6 due 11:59pm |
LAB 9 | Apr 8 2025 | char * | |
32 | Apr 9 2025 | malloc examples, memory errors Slides: slides Video | |
33 | Apr 11 2025 | malloc examples, memory errors Readings: Man and Library Conventions - Slides: slides video | |
34 | Apr 14 2025 | function Pointers Part I Slides: slides video | Homework 7 due 11:59pm |
LAB 10 | Apr 15 2025 | memcp, etc string.h, C std library convention | |
35 | Apr 16 2025 | Function Pointers Part II Slides: slides video | |
36 | Apr 18 2025 | buffer overrun, reporting exploits, memory errors Readings: Memory CVE - Slides: slides Video | |
37 | Apr 21 2025 | Socket Based Chat walk through Slides: slides video | Homework 8 Due 11:59pm |
LAB 11 | Apr 22 2025 | memory errors | |
38 | Apr 23 2025 | TBD | |
39 | Apr 25 2025 | TBD | |
40 | Apr 28 2025 | TBD | |
LAB 12 | Apr 29 2025 | TBD | |
TBD | Exam Review Q&A (time and location TBD) | ||
TBD | Final Exam (time and location TBD) |