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)
LAB 1 09/02/2025 ssh, bash, and the command line
Wed 09/03/2025 binary arithmetic
Readings & Resources: Bits
Slides: Hott (blank)
Fri 09/05/2025 bitwise
Readings & Resources: Bits
Slides: Hott (blank)
Quiz 1 (due Sun)
Mon 09/08/2025 floating point
Readings & Resources: Booleans (Bit-wise)
LAB 2 09/09/2025 hex editor
Wed 09/10/2025 adder; clocks
Readings & Resources: Booleans (Fancier Logic)
Fri 09/12/2025 clocks, registers
Readings & Resources: Fancier Logic - Components
Quiz 2 (due Sun)
Mon 09/15/2025 code and circuits
Readings & Resources: Components
Homework 1 due
LAB 3 09/16/2025 circuits
Wed 09/17/2025 building to a computer
Readings & Resources: Designing a Processor
Fri 09/19/2025 fetch-decode-execute, ISA
Readings & Resources: Designing a Processor
Quiz 3 (due Sun)
Mon 09/22/2025 writing machine code
Readings & Resources: Designing a Processor
Homework 2 due
LAB 4 09/23/2025 simulator
Wed 09/24/2025 writing machine code
Readings & Resources: Designing a Processor
Fri 09/26/2025 writing machine code
Readings & Resources: Designing a Processor
Quiz 4 (due Sun)
Mon 09/29/2025 variables, arrays, ISAs Homework 3 due
LAB 5 09/30/2025 programming in binary
Wed 10/01/2025 review
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

Copyright © 2025 John Hott, portions Luther Tychonievich.
Released under the CC-BY-NC-SA 4.0 license.
Creative Commons License