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 | 1/18/2023 | Introduction Slides: blank | |
2 | 1/20/2023 | Boolean algebra Readings: Booleans (first 2 sections) - Slides: blank 9am 1pm | Quiz 0 |
3 | 1/23/2023 | binary arithmetic, ssh Readings: Bits - Slides: blank 9am 1pm | |
LAB 1 | 1/24/2023 | ssh, bash, and the command line | |
4 | 1/25/2023 | binary arithmetic Readings: Bits - Slides: blank 9am 1pm | |
5 | 1/27/2023 | bitwise Readings: Bits - Slides: blank 9am 1pm | Quiz 1 |
6 | 1/30/2023 | floating point Readings: Booleans (Bit-wise) - Slides: blank 9am 1pm | |
LAB 2 | 1/31/2023 | hex editor | add deadline |
7 | 2/1/2023 | adder; clocks Readings: Booleans (Fancier Logic) - Slides: blank 9am 1pm | |
8 | 2/3/2023 | clocks, registers Readings: Fancier Logic Components - Slides: blank 9am 1pm | Quiz 2 |
9 | 2/6/2023 | code and circuits Readings: Components - Slides: blank 9am 1pm | Homework 1 due |
LAB 3 | 2/7/2023 | circuits | |
10 | 2/8/2023 | building to a computer Readings: Designing a Processor - Slides: blank 9am 1pm | |
11 | 2/10/2023 | fetch-decode-execute, ISA Readings: Designing a Processor - Slides: blank 9am 1pm | Quiz 3 |
12 | 2/13/2023 | writing machine code Readings: Designing a Processor - Slides: blank 9am 1pm | Homework 2 due |
LAB 4 | 2/14/2023 | simulator | |
13 | 2/15/2023 | writing machine code Readings: Designing a Processor - Slides: blank 9am 1pm | |
14 | 2/17/2023 | writing machine code Readings: Designing a Processor - Slides: blank 9am 1pm | Quiz 4 |
15 | 2/20/2023 | variables, arrays, ISAs Slides: blank 9am 1pm | |
LAB 5 | 2/21/2023 | binary Fibonacci | |
16 | 2/22/2023 | review Slides: blank | Homework 3 due (updated) |
2/24/2023 | Exam 1 | ||
17 | 2/27/2023 | ISAs, stack pointer, backdoors, adjacency and pointers Readings: Storing Data - Slides: blank 9am 1pm AMD64 | |
LAB 6 | 2/28/2023 | git, ToyASM | |
18 | 3/1/2023 | addressing modes, endianness, assembly Readings: Storing Data - Slides: blank 9am 1pm | drop deadline |
19 | 3/3/2023 | x86-64 assembly, functions, compilation Readings: x86-64 Summary - Slides: blank 9am 1pm | Homework 4 due |
3/6-10/2023 | Spring Break | ||
20 | 3/13/2023 | x86-64 assembly, debugger overview Slides: blank 9am 1pm | |
LAB 7 | 3/14/2023 | debugger | |
21 | 3/15/2023 | the stack, x86-64 examples Slides: blank | withdraw deadline |
22 | 3/17/2023 | patents, assembly examples Readings: Complation - Slides: blank | Quiz 5 |
23 | 3/20/2023 | copyrights, patents, stack, lea Readings: Complation C Reference - Slides: blank 9am 1pm | Homework 5 due |
LAB 8 | 3/21/2023 | escape room | |
24 | 3/22/2023 | compilation, C introduction Readings: Wikipedia C Reference - Slides: blank 9am 1pm | |
25 | 3/24/2023 | C introduction Readings: Wikipedia C Reference - Slides: blank 9am 1pm | Quiz 6 |
26 | 3/27/2023 | C introduction Slides: blank 9am 1pm | Homework 6 due |
LAB 9 | 3/28/2023 | char* | |
27 | 3/29/2023 | C introduction Slides: blank 9am 1pm swap.c | |
28 | 3/31/2023 | C Introduction Slides: blank 9am 1pm | Quiz 7 |
29 | 4/3/2023 | C Introduction, directives Slides: blank 9am 1pm | Homework 7 due |
LAB 10 | 4/4/2023 | file-based chat | |
30 | 4/5/2023 | review Slides: blank | |
4/7/2023 | Exam 2 | ||
31 | 4/10/2023 | C Introduction, memory, malloc and free Readings: Memory - Slides: blank 9am 1pm | |
LAB 11 | 4/11/2023 | memory errors | |
32 | 4/12/2023 | switch, header files, memory Slides: blank 9am 1pm | |
33 | 4/14/2023 | malloc examples, memory errors Readings: Man and Library Conventions - Slides: blank 9am 1pm | Quiz 8 |
34 | 4/17/2023 | memory, manual pages Slides: blank 9am 1pm | Homework 8 due |
LAB 12 | 4/18/2023 | args and inputs | |
35 | 4/19/2023 | memory, string.h, C std library conventions Slides: blank 9am 1pm list.c | |
36 | 4/21/2023 | string.h, C std library conventions Slides: blank 9am 1pm | Quiz 9 |
37 | 4/24/2023 | stdio.h and varargs, unistd.h and so on Slides: blank 9am 1pm | Homework 9 due |
LAB 13 | 4/25/2023 | sockets | |
38 | 4/26/2023 | unistd.h and so on Slides: blank 9am 1pm | |
39 | 4/28/2023 | buffer overrun, reporting exploits, memory errors Readings: Memory CVE - Slides: blank 9am 1pm | Quiz 10 |
40 | 5/1/2023 | buffer overrun, reporting exploits, finale Slides: blank 9am 1pm | Homework 10 due |
LAB 14 | 5/2/2023 | review (optional) | |
5/4/2023 | Final Exam (combined) 7-10pm |