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 |
---|---|---|---|
0 | 8/24/2022 | Introduction | |
LAB 0 | 8/25/2022 | shell | |
1 | 8/26/2022 | Boolean algebra Readings: Booleans (first 2 sections) - Slides: both | Quiz 0 |
2 | 8/29/2022 | binary arithmetic Readings: Bits - Slides: 2pm 3pm | |
LAB 1 | 8/30/2022 | git and information theory | |
3 | 8/31/2022 | binary arithmetic Readings: Bits - Slides: 2pm 3pm | |
4 | 9/2/2022 | binary arithmetic Readings: Bits - Slides: 2pm 3pm | Quiz 1 |
5 | 9/5/2022 | bitwise Readings: Booleans (Bit-wise) - Slides: 2pm 3pm | |
LAB 2 | 9/6/2022 | hex editor | add deadline |
6 | 9/7/2022 | bitwise; git Readings: Booleans (Fancier Logic) - Slides: 2pm 3pm | |
7 | 9/9/2022 | adder; clocks Readings: Fancier Logic Components - Slides: 2pm 3pm | Quiz 2 |
8 | 9/12/2022 | clocks Readings: Components - Slides: 2pm 3pm | |
LAB 3 | 9/13/2022 | information theory and tools help | |
9 | 9/14/2022 | code and circuits Slides: 2pm 3pm | Homework 1 Due (updated) |
10 | 9/16/2022 | code and circuits, fetch-decode-execute Readings: Designing a Processor - Slides: 2pm 3pm | Quiz 3 |
11 | 9/19/2022 | writing machine code Readings: Designing a Processor - Slides: 2pm 3pm | Homework 2 Due |
LAB 4 | 9/20/2022 | simulator | |
12 | 9/21/2022 | writing machine code Readings: Designing a Processor - Slides: 2pm 3pm | |
13 | 9/23/2022 | writing machine code Readings: Designing a Processor - Slides: 2pm 3pm | Quiz 4 |
14 | 9/26/2022 | arrays, ISAs Slides: 2pm 3pm AMD64 | Homework 3 Due |
LAB 5 | 9/27/2022 | binary Fibonacci | |
15 | 9/28/2022 | review Slides: blank | |
9/30/2022 | Exam 1 | ||
10/3/2022 | Fall Reading Days | ||
16 | 10/5/2022 | stack pointer, addressing modes, patents Readings: Storing Data - Slides: 2pm 3pm | |
17 | 10/7/2022 | endianness, adjacency and pointers Readings: Storing Data - Slides: 2pm 3pm | Quiz 5 |
18 | 10/10/2022 | assembly, x86-64 Readings: x86-64 Summary - Slides: 2pm 3pm | |
LAB 6 | 10/11/2022 | debugger | HW4 due, drop deadline |
19 | 10/12/2022 | x86-64 assembly, functions, compilation Slides: 2pm 3pm example.s | |
20 | 10/14/2022 | the stack Slides: 2pm 3pm example.s | Quiz 6 |
21 | 10/17/2022 | back doors Readings: Complation - Slides: 2pm 3pm | |
LAB 7 | 10/18/2022 | bomb | withdraw deadline |
22 | 10/19/2022 | compilation, C introduction Readings: Complation C Reference - Slides: 2pm 3pm | Homework 5 Due |
23 | 10/21/2022 | C introduction Readings: Wikipedia C Reference - Slides: 2pm 3pm | Quiz 7 |
24 | 10/24/2022 | C introduction Readings: Wikipedia C Reference - Slides: 2pm 3pm | Homework 6 Due |
LAB 8 | 10/25/2022 | char* | |
25 | 10/26/2022 | C introduction Slides: 2pm 3pm swap.c | |
26 | 10/28/2022 | C introduction Slides: 2pm 3pm | Quiz 8 |
27 | 10/31/2022 | C introduction Slides: 2pm 3pm | Homework 7 Due |
LAB 9 | 11/1/2022 | fchat | |
28 | 11/2/2022 | review Slides: blank | |
11/4/2022 | Exam 2 | ||
29 | 11/7/2022 | C introduction Slides: 2pm 3pm | |
LAB | 11/8/2022 | Election Day (no lab) | |
30 | 11/9/2022 | directives, global, stack, heap, malloc and free Readings: Memory - Slides: 2pm 3pm | |
31 | 11/11/2022 | malloc and free (Guest Lecture) Slides: slides | |
11/14/2022 | |||
LAB | 11/15/2022 | ||
32 | 11/16/2022 | memory, malloc and free, examples Slides: 2pm 3pm | |
33 | 11/18/2022 | memory errors, malloc and free examples Slides: 2pm 3pm list code | |
34 | 11/21/2022 | string.h, C std library conventions Readings: Man and Library Conventions - Slides: slides code | |
LAB 10 | 11/22/2022 | args and inputs (on your own) | |
11/23/2022 | Thanksgiving Holiday | ||
11/25/2022 | Thanksgiving Holiday | ||
35 | 11/28/2022 | stdio.h and varargs Slides: 2pm 3pm | |
LAB 11 | 11/29/2022 | sockets | |
36 | 11/30/2022 | stdio.h and varargs Slides: 2pm 3pm code | |
37 | 12/2/2022 | unistd.h and so on Slides: 2pm 3pm code | Quiz 9 (optional) |
38 | 12/5/2022 | buffer overrun, reporting exploits, memory errors Readings: Memory - Slides: 2pm 3pm CVE | Homework 8-10 Due |
12/15/2022 | Final Exam (combined) 7-10pm |