Paul Bodily About Courses Research Outreach Tips for Communicating Teaching Philosophy Vitae

Schedule

Reading assignments refer to sections in the CS: APP3e book. Unless otherwise specified, reading quizzes and homework assignments are due by the time class starts on the day on which they are listed and labs are due by 11:00 pm on the day on which they are listed. All quizzes, assignments, and labs are administered via Moodle. Note that all section and problem numbers listed are specific to the hardcopy version of the book with the ISBN number as listed in the syllabus. An errata for the textbook cataloging known errors in the current version can be found here.

DateClass Period & Lecture TopicReadingAssignment
Aug 23 Syllabus, policies, business, goals, intro
Aug 25 Command line basics Join Discord
Finish "Configuring a server" on Lab 1
Aug 30 C basics C tutorial (through Arrays) Lab 1: EC2 Tutorial
Sep 1 C basics II, makefiles C tutorial (through Command Line Arguments)
and makefiles
Sep 6 Bits and Bytes 2.0.0-2.1.3
Using gdb to debug C
Sep 8 Strings, Code, and Booleans 2.1.4-2.1.9 Hwk 1
Lab 2: C Calculator
Sep 13 Integer Representations 2.2.0-2.2.4 Hwk 2
Sep 15 More on Integer Representations 2.2.5-2.2.8 Hwk 3
Sep 20 Integer Addition and Negation 2.3.0-2.3.3 Hwk 4
Sep 22 Integer Multiplication and Division 2.3.4-2.3.8 Hwk 5
Lab 3: C Bit Calculator
Sep 27 Floating Point 2.4.0-2.4.6 Hwk 6
Sep 29 Program Encodings 3.0.0-3.1.0 (optional)
3.2.0-3.2.3
Hwk 7
Oct 4 Data Formats, Access, and Movement 3.3.0-3.4.4
Oct 6 Arithmetic and Logical Operations 3.5.0-3.5.5
gdb cheat sheet
Hwk 8
Oct 11 Midterm Exam (on Moodle, closes midnight)
Oct 13 Control Flow 3.6.0-3.6.5 Hwk 9
Oct 18 Loops and Switches3.6.6-3.6.8
note error on p. 234 (see errata)
Hwk 10
Oct 20 Procedures3.7.0-3.7.6Hwk 11
Oct 25 Bomb LabLab 4: Bomb Lab spec
Oct 27 Array Allocation and Access3.8.0-3.8.5Bomb Lab Phases 1&2
Nov 1 Heterogenous Data Structures3.9.0-3.9.3
Nov 3 Bomb Lab Q&A
Nov 8 Combining Control and Data3.10.0-3.10.5 Lab 4: Bomb Lab (due Fri 9/11 @ 11pm)
Nov 10 Attack Lab Lab 5: Attack Lab spec
Nov 15 Y86-64 Processor Architecture, Exceptions and Programs 4.0.0-4.1.6
Nov 17 Logic Design and Hardware Control Language 4.2.0-4.2.5
Nov 22 Fall Break
Nov 24 Fall Break
Nov 29 Attack Lab Q&A
Dec 1 Locality and The Memory Hierarchy 6.2.0-6.3.2
Dec 6 Cache Memory 6.4.0-6.4.7 Lab 5: Attack Lab
Dec 8 Final Review
Dec 15 Final (on Moodle, closes midnight)

The schedule is subject to change.