The following is the current best guess at course pacing and topics. It may be adjusted as the semester progresses to reflect actual pacing and uptake of material.


View as or ; ; readings can be or as a whole, or clicked on individually to toggle visibility.

17 Jan
welcome
19 Jan
Boolean algebraBooleans §1–2
21 Jan
binary arithmeticBits §2.1–2.4
24 Jan
binary arithmeticBits §2.1–2.4
26 Jan
gates, wires, bitwiseBooleans §1–2, 4
27 Jan
git and information theoryin-lab description
Lab01
28 Jan
mux, demux, adderBooleans §3
31 Jan
02 Feb
Add deadline
other hardwareParts §1–5
03 Feb
hex editorin-lab description
Lab02
04 Feb
flex day
07 Feb
moves, memory, ALU opsISA §3.1
08 Feb
09 Feb
fetch-decode-executeISA §1–3
10 Feb
simulatorin-lab description
Lab03
11 Feb
writing machine code
HW02: worksheet
14 Feb
conditional jump
15 Feb
HW03: mult
16 Feb
addressing modes and endiannessISA §3.3 and Bits §1–3
17 Feb
tools helpin-lab description
Lab04
18 Feb
adjacency and pointers and back doors
21 Feb
22 Feb
HW04: fib
23 Feb
assembly and x86-64assembly and x86-64 summary
24 Feb
25 Feb
28 Feb
the stack and tracing variablesISA §3.4.2 and debugger example
02 Mar
Drop deadline
SIGCSE
03 Mar
debuggerin-lab description
Lab05
04 Mar
SIGCSE
14 Mar
compilation
15 Mar
HW05: assembly
16 Mar
compile-time info
17 Mar
bombin-lab description
Lab06
18 Mar
C introductionwikipedia and language reference
21 Mar
C introductionwikipedia and language reference
22 Mar
HW06: bomb
23 Mar
Withdraw deadline
C introductionwikipedia and language reference
24 Mar
char*in-lab description
Lab07
25 Mar
C introductionwikipedia and language reference
28 Mar
global, stack, heapmemory writeup
29 Mar
HW07: smallc
30 Mar
malloc and freememory writeup
31 Mar
fchatin-lab description
Lab08
01 Apr
malloc examples
04 Apr
06 Apr
C std library conventionswriteup
07 Apr
08 Apr
string.h
11 Apr
stdio.h and varargs
12 Apr
13 Apr
stdio.h and varargs
14 Apr
socketsin-lab description
Lab09
15 Apr
unistd.h and so on
18 Apr
flex day
20 Apr
buffer overrun; reporting exploits
21 Apr
22 Apr
25 Apr
defensive programmingwikipedia
26 Apr
HW09: postfix
27 Apr
languages safer than Crust and rust-lang and ownership and borrowing and lifetimes
28 Apr
29 Apr
ask me anything
02 May
03 May
HW10: schat
09 May
Final for CS2130-001 at 14:00
Final for CS2130-002 at 09:00

To subscribe to the above calendar, add to your calendar application of choice one or more of the following:


The final exam schedule puts our final Monday 9 May at 9:00 am if you are in the 12:00 section and 2:00 pm if you are in the 1:00 section. The final is an in-person on-paper exam administered in the usual classroom.