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.

19 Jan
welcome
1pmvideo1 and qa.txt
21 Jan
Boolean algebraBooleans §1–2
1pmvideo1 and audio1 and gate1.png and gate2.png and slides.pdf
24 Jan
binary arithmeticBits §2.1–2.4
1pmvideo1 and audio1 and slides.pdf
Grahamgraham-slides.pdf
26 Jan
binary arithmeticBits §2.1–2.4
1pmvideo1 and audio1 and slides.pdf
27 Jan
git and information theoryin-lab description
Lab01
28 Jan
gates, wires, bitwiseBooleans §4
1pmvideo1 and audio1 and slides.pdf
31 Jan
mux, demux, adderBooleans §3
1pmvideo1 and audio1 and slides.pdf
Grahamgraham.pdf
02 Feb
Add deadline
clocksParts §2–3 and d flip-flop
1pmvideo1 and audio1 and slides.pdf
03 Feb
hex editorin-lab description
Lab02
04 Feb
other hardwareParts §1–5
1pmvideo1 and audio1 and slides.pdf
07 Feb
flex day
1pmvideo1 and audio1 and slides.pdf
09 Feb
fetch-decode-executeISA §1–3
1pmvideo1 and audio1 and slides.pdf
10 Feb
simulatorin-lab description
Lab03
11 Feb
fetch-decode-executeISA §1–3
1pmvideo1 and audio1 and slides.pdf
HW02: worksheet
14 Feb
writing machine code
1pmvideo1 and audio1 and slides.pdf
16 Feb
writing machine code
1pmvideo1 and audio1 and slides.pdf and sqrt
HW03: mult
17 Feb
tools helpin-lab description
Lab04
18 Feb
addressing modes and endiannessISA §3.3 and Bits §1–3
1pmvideo1 and audio1 and slides.pdf
21 Feb
adjacency and pointers and back doorsData and back doors
1pmvideo1 and audio1 and slides.pdf
24 Feb
25 Feb
assembly and x86-64assembly and x86-64 summary
1pmvideo1 and audio1 and hello.s and slides.pdf
28 Feb
x86-64 and the stackx86-64 summary and ISA §3.4.2
1pmvideo1 and audio1 and slides.pdf
02 Mar
Drop deadline
debugger demo and guest instructordebugger example and guest instructor
HW04: fib
03 Mar
debuggerin-lab description
Lab05
04 Mar
Class canceled
14 Mar
compilationCompilation
1pmvideo1 and audio1 and demo.c and slides.pdf
16 Mar
C introductionwikipedia and language reference
1pmvideo1 and audio1 and hello.c and hello.o and slides.pdf
HW05: assembly
17 Mar
bombin-lab description
Lab06
18 Mar
21 Mar
23 Mar
Withdraw deadline
C introductionwikipedia and language reference
12pmvideo1 and audio1 and structasm.c and structasm-parallel.s and switch.c and switch.s
1pmvideo1 and audio1 and structasm.c and structasm-parallel.s and switch.c and switch.s
HW06: bomb
24 Mar
char*in-lab description
Lab07
28 Mar
global, stack, heapmemory writeup
12pmvideo1 and audio1 and slides2.pdf
1pmvideo1 and audio1 and slides.pdf
30 Mar
malloc and freememory writeup
12pmvideo1 and audio1 and badstack.c and slides1.pdf
1pmvideo1 and audio1 and badstack2.c and slides2.pdf
HW07: smallc
31 Mar
fchatin-lab description
Lab08
01 Apr
memory errors and malloc examplesmemory writeup §6 and malloc examples
12pmvideo1 and audio1 and 12pm-list.c and 12pm-list.h and 12pm-use_list.c and slides1.pdf
1pmvideo1 and audio1 and 1pm-list.c and 1pm-list.h and 1pm-useList.c and slides2.pdf
04 Apr
malloc examples
12pmvideo1 and audio1 and slides1.pdf
1pmvideo1 and audio1 and 1pm-textcat.c and slides2.pdf
07 Apr
08 Apr
string.h and C std library conventionsstring.h and writeup
12pmvideo1 and audio1 and 12pm-usestrsep.c and slides1.pdf
1pmvideo1 and audio1 and slides2.pdf and 1pm-usestrsep.c
13 Apr
14 Apr
args and inputsin-lab description
Lab09
15 Apr
stdio.h and varargs
12pmvideo1 and audio1 and 12pm-badwrite.c and 12pm-mycat.c and slides1.pdf
1pmvideo1 and audio1 and 1pm-mywrite.c and slides2.pdf
18 Apr
unistd.h and so on
12pmvideo1 and audio1 and 12pm-pig.c and slides1.pdf
1pmvideo1 and audio1 and 1pm-pig.c and slides2.pdf
20 Apr
buffer overrun and reporting exploits and memory errorsbuffer overrun and reporting exploits and memory writeup §6
12pmvideo1 and audio1 and slides1.pdf
1pmvideo1 and audio1 and slides2.pdf
21 Apr
socketsin-lab description
Lab10
25 Apr
defensive programmingwikipedia
12pmvideo1 and audio1 and 12pm-bad.c and 12pm-better.c and slides1.pdf
1pmvideo1 and audio1 and 1pm-bad.c and 1pm-better.c
27 Apr
languages safer than Crust and rust-lang and ownership and borrowing and lifetimes
12pmvideo1 and audio1 and slides1.pdf
1pmvideo1 and audio1 and slides2.pdf
HW09: postfix
28 Apr
29 Apr
ask me anything
03 May
HW10: schat
09 May
Final for CS2130-001 at 09:00
Final for CS2130-002 at 14: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 2:00 pm if you are in the 12:00 section and 9:00 am if you are in the 1:00 section. The final is an in-person on-paper exam administered in the usual classroom.