Skip to main content Link Menu Expand (external link) Document Search Copy Copied

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

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