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 | Deadlines |
|---|---|---|---|
| Wed | 08/27/2025 | Introduction Slides: Hott (blank) - Xinyao (blank) | |
| Fri | 08/29/2025 | Boolean algebra Readings & Resources: Booleans (first 2 sections) Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Quiz 0 (due Sun) |
| Mon | 09/01/2025 | binary arithmetic, ssh Readings & Resources: Bits Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | |
| LAB 1 | 09/02/2025 | ssh, bash, and the command line | |
| Wed | 09/03/2025 | binary arithmetic Readings & Resources: Bits Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | |
| Fri | 09/05/2025 | bitwise Readings & Resources: Booleans (Bit-wise) Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Quiz 1 (due Sun) |
| Mon | 09/08/2025 | floating point Readings & Resources: Booleans (Bit-wise) - Bits (on non-integral numbers) Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | |
| LAB 2 | 09/09/2025 | bits and bytes | |
| Wed | 09/10/2025 | adder; clocks Readings & Resources: Booleans (Fancier Logic) Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | |
| Fri | 09/12/2025 | clocks, registers Readings & Resources: Fancier Logic - Components Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Quiz 2 (due Sun) |
| Mon | 09/15/2025 | code and circuits Readings & Resources: Components Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Homework 1 due |
| LAB 3 | 09/16/2025 | circuits | |
| Wed | 09/17/2025 | building to a computer Readings & Resources: Designing a Processor Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | |
| Fri | 09/19/2025 | fetch-decode-execute, ISA Readings & Resources: Designing a Processor Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Quiz 3 (due Sun) |
| Mon | 09/22/2025 | writing machine code Readings & Resources: Designing a Processor Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Homework 2 due |
| LAB 4 | 09/23/2025 | simulator | |
| Wed | 09/24/2025 | writing machine code Readings & Resources: Designing a Processor Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | |
| Fri | 09/26/2025 | writing machine code Readings & Resources: Designing a Processor Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Quiz 4 (due Sun) |
| Mon | 09/29/2025 | variables, arrays, ISAs Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Homework 3 due |
| LAB 5 | 09/30/2025 | programming in binary | |
| Wed | 10/01/2025 | review Slides: Hott (blank) - Xinyao (blank) | |
| Fri | 10/03/2025 | Midterm 1 | |
| Mon | 10/06/2025 | ISAs, stack pointer, backdoors, adjacency and pointers Readings & Resources: Storing Data - AMD64 Architecture Programmer's Manual (for reference only) Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | |
| LAB 6 | 10/07/2025 | git, programming in assembly | |
| Wed | 10/08/2025 | addressing modes, endianness, assembly Readings & Resources: Storing Data Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | |
| Fri | 10/10/2025 | x86-64 assembly, functions, compilation Readings & Resources: x86-64 Summary Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Homework 4 due |
| Mon | 10/13/2025 | Fall Reading Days | |
| Wed | 10/15/2025 | x86-64 assembly, debugger overview Readings & Resources: x86-64 Summary Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | |
| Fri | 10/17/2025 | the stack, x86-64 examples, lea Readings & Resources: x86-64 Summary Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) - example.s | Quiz 5 (due Sun) |
| Mon | 10/20/2025 | patents, assembly examples, stack Readings & Resources: Complation Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Homework 5 due |
| LAB 7 | 10/21/2025 | assembly/C puzzle | |
| Wed | 10/22/2025 | patents, compilation Readings & Resources: Complation - C Reference Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | |
| Fri | 10/24/2025 | compilation, C introduction Readings & Resources: Wikipedia - C Reference Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Quiz 6 (due Sun) |
| Mon | 10/27/2025 | C introduction Readings & Resources: Wikipedia - C Reference Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Homework 6 due |
| LAB 8 | 10/28/2025 | programming in C | |
| Wed | 10/29/2025 | C introduction Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | |
| Fri | 10/31/2025 | C introduction Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Quiz 7 (due Sun) |
| Mon | 11/03/2025 | C Introduction Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Homework 7 due |
| Tue | 11/04/2025 | Election Day | |
| Wed | 11/05/2025 | review Slides: Hott (blank) - Xinyao (blank) | |
| Fri | 11/07/2025 | Midterm 2 | |
| Mon | 11/10/2025 | C Introduction, directives, switch, variadic functions Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | |
| LAB 9 | 11/11/2025 | programming in C | |
| Wed | 11/12/2025 | Memory, malloc and free Readings & Resources: Memory - Man and Library Conventions Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | |
| Fri | 11/14/2025 | Memory, malloc and free, examples, memory errors Slides: Hott (blank) - Hott (notes) - Xinyao (blank) - Xinyao (notes) | Quiz 8 (due Sun) |
| Mon | 11/17/2025 | malloc examples, memory errors, man pages Slides: Hott (blank) - Hott (notes) - Hott (list code) - Xinyao (blank) - Xinyao (notes) | Homework 8 due |
| LAB 10 | 11/18/2025 | memory and memory errors | |
| Wed | 11/19/2025 | memory, string.h Slides: Hott (blank) | |
| Fri | 11/21/2025 | string.h, C std library conventions Slides: Hott (blank) | Quiz 9 (due Sun) |
| Mon | 11/24/2025 | stdio.h and varargs, unistd.h and so on Slides: Hott (blank) | Homework 9 due |
| LAB 11 | 11/25/2025 | args and inputs | |
| Wed | 11/26/2025 | Thanksgiving Recess | |
| Fri | 11/28/2025 | Thanksgiving Recess | |
| Mon | 12/01/2025 | unistd.h and so on | |
| LAB 12 | 12/02/2025 | sockets | |
| Wed | 12/03/2025 | unistd.h and so on, buffer overrun | |
| Fri | 12/05/2025 | reporting exploits, memory errors Readings & Resources: Memory - CVE | Quiz 10 (due Sun) |
| Mon | 12/08/2025 | reporting exploits, finale | Homework 10 due |
| LAB 13 | 12/09/2025 | (topic tbd) | |
| Fri | 12/12/2025 | Final Exam | 7-10pm |