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 | |
LAB 6 | 10/07/2025 | git, programming in assembly | |
Wed | 10/08/2025 | addressing modes, endianness, assembly Readings & Resources: Storing Data | |
Fri | 10/10/2025 | x86-64 assembly, functions, compilation Readings & Resources: x86-64 Summary | Homework 4 due |
Mon | 10/13/2025 | Fall Reading Days | |
Wed | 10/15/2025 | x86-64 assembly, debugger overview | |
Fri | 10/17/2025 | the stack, x86-64 examples | Quiz 5 (due Sun) |
Mon | 10/20/2025 | patents, assembly examples Readings & Resources: Complation | Homework 5 due |
LAB 7 | 10/21/2025 | assembly/C puzzle (TBD) | |
Wed | 10/22/2025 | copyrights, patents, stack, lea Readings & Resources: Complation - C Reference | |
Fri | 10/24/2025 | compilation, C introduction Readings & Resources: Wikipedia - C Reference | Quiz 6 (due Sun) |
Mon | 10/27/2025 | C introduction Readings & Resources: Wikipedia - C Reference | Homework 6 due |
LAB 8 | 10/28/2025 | programming in C (TBD) | |
Wed | 10/29/2025 | C introduction | |
Fri | 10/31/2025 | C introduction | Quiz 7 (due Sun) |
Mon | 11/03/2025 | C Introduction | Homework 7 due |
Tue | 11/04/2025 | Election Day | |
Wed | 11/05/2025 | review | |
Fri | 11/07/2025 | Midterm 2 | |
Mon | 11/10/2025 | C Introduction, directives | |
LAB 9 | 11/11/2025 | programming in C (TBD) | |
Wed | 11/12/2025 | C Introduction, memory, malloc and free Readings & Resources: Memory | |
Fri | 11/14/2025 | switch, header files, memory | Quiz 8 (due Sun) |
Mon | 11/17/2025 | malloc examples, memory errors Readings & Resources: Man and Library Conventions | Homework 8 due |
LAB 10 | 11/18/2025 | memory and memory errors (TBD) | |
Wed | 11/19/2025 | memory, manual pages | |
Fri | 11/21/2025 | memory, string.h, C std library conventions | Quiz 9 (due Sun) |
Mon | 11/24/2025 | string.h, C std library conventions | Homework 9 due |
LAB 11 | 11/25/2025 | args and inputs (TBD) | |
Wed | 11/26/2025 | Thanksgiving Recess | |
Fri | 11/28/2025 | Thanksgiving Recess | |
Mon | 12/01/2025 | stdio.h and varargs, unistd.h and so on | |
LAB 12 | 12/02/2025 | sockets (TBD) | |
Wed | 12/03/2025 | unistd.h and so on | |
Fri | 12/05/2025 | buffer overrun, reporting exploits, memory errors Readings & Resources: Memory - CVE | Quiz 10 (due Sun) |
Mon | 12/08/2025 | buffer overrun, reporting exploits, finale | Homework 10 due |
LAB 13 | 12/09/2025 | (TBD) | |
Fri | 12/12/2025 | Final Exam | 7-10pm |