Link Search Menu Expand Document

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

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