This page does not represent the most current semester of this course; it is present merely as an archive.

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.

27 Aug
Courses begin
30 Aug
Boolean algebravideo.webm and audio.mp3 and Booleans §1–2 and slides.pdf
2 Sep
4 Sep
binary arithmeticvideo.webm and audio.mp3 and Bits §2.1–2.4 and slides.pdf
git and information theoryin-lab description
5 Sep
git and information theoryin-lab description
Lab01
6 Sep
gates, wires, bitwisevideo.webm and audio.mp3 and Booleans §1–2, 4 and slides.pdf
9 Sep
mux, demux, addervideo.webm and audio.mp3 and Booleans §3 and slides.pdf and quiz.txt
10 Sep
Add deadline
12 Sep
hex editorin-lab description
Lab02
13 Sep
other hardwarevideo.webm and audio.mp3 and Parts §1–5 and slides.pdf
16 Sep
moves, memory, ALU opsvideo.webm and audio.mp3 and ISA §3.1 and slides.pdf
18 Sep
fetch-decode-executevideo.webm and audio.mp3 and ISA §1–3 and slides.pdf and code.txt
simulatorin-lab description
19 Sep
simulatorin-lab description
Lab03
20 Sep
writing machine codevideo.webm and audio.mp3 and slides.pdf and euclid.c
23 Sep
conditional jumpvideo.webm and audio.mp3 and slides.pdf
25 Sep
addressing modes and endiannessvideo.webm and audio.mp3 and ISA §3.3 and Bits §1–3 and slides.pdf
tools helpin-lab description
26 Sep
tools helpin-lab description
Lab04
27 Sep
adjacency and pointers and back doorsvideo.webm and audio.mp3 and slides.pdf
1 Oct
2 Oct
assembly and x86-64video.webm and audio.mp3 and x86-64 summary and slides.pdf and hello.s
Exam
3 Oct
Exam
9 Oct
the stack and tracing variablesvideo.webm and audio.mp3 and ISA §3.4.2 and debugger example and slides.pdf
debuggerin-lab description
10 Oct
debuggerin-lab description
Lab05
11 Oct
compilationvideo.webm and audio.mp3 and slides.pdf and hello.c
12 Oct
14 Oct
compile-time infovideo.webm and audio.mp3 and slides.pdf and ptr.c and ptr.s and sobig1.java and sobig2.java
15 Oct
Drop deadline
16 Oct
pilot town hall
bombin-lab description
17 Oct
21 Oct
22 Oct
Withdraw deadline
24 Oct
28 Oct
29 Oct
31 Oct
1 Nov
malloc examplesvideo.webm and audio.mp3 and slides.pdf and arraylist.c and arraylist.h and test_al.c
6 Nov
C std library conventionsvideo.webm and audio.mp3 and writeup and slides.pdf and use_strsep.c
Exam
7 Nov
Exam
8 Nov
string.hvideo.webm and audio.mp3 and slides.pdf and mcp-big.c and mcp.c and mcp.s
11 Nov
stdio.h and varargsvideo.webm and audio.mp3 and slides.pdf and fpftest.c and pftest.c
13 Nov
stdio.h and varargsvideo.webm and audio.mp3 and slides.pdf and pig.c
socketsin-lab description
14 Nov
socketsin-lab description
Lab09
15 Nov
unistd.h and so onvideo.webm and audio.mp3 and slides.pdf and pig2.c and repeater.c and use_scanf.c
20 Nov
buffer overrun; reporting exploitsvideo.webm and audio.mp3 and slides.pdf
cppin-lab description
21 Nov
25 Nov
defensive programmingvideo.webm and audio.mp3 and wikipedia and slides.pdf
2 Dec
languages safer than Cvideo.webm and audio.mp3 and rust and rust-lang and ownership and borrowing and lifetimes and slides.pdf
5 Dec
6 Dec
Courses end
reviewvideo.webm and audio.mp3 and review page and slides.pdf and qa.txt
14 Dec
Final Exam

To subscribe to the above calendar, add http://www.cs.virginia.edu/luther/COA1/F2019/cal.ics to your calender application of choice.


The final exam schedule puts our final Saturday 14 December at 9:00 am. The final is an in-person on-paper exam administered in the usual classroom.