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
Jan 10 Syllabus, policies, business, goals, intro Join Class Discord Server
Take availability survey
Jan 12 Command line basics Finish through "Configuring a server" on Lab 1
Jan 17 C: variables, literals, loops, makefiles C tutorial (through Arrays)(online, not in book)
Jan 19 C: strings, I/O, functions, gdb C tutorial (through Command Line Arguments) Lab 1: EC2 Tutorial
Jan 24 C: arrays, structs, headers, Lab 2 Specification Lab 2 Specification
Makefiles
Jan 26 C: pointers, argument passing Using gdb to debug C
Jan 31 Bits and Bytes (no class, watch lecture video here) 2.0.0-2.1.3
Feb 2 Strings, Code, and Booleans 2.1.4-2.1.9 Hwk 1
Lab 2: C Calculator
Feb 7 Integer Representations 2.2.0-2.2.4 Hwk 2
Feb 9 More on Integer Representations 2.2.5-2.2.8 Hwk 3
Feb 14 Integer Addition and Negation, Lab 3 Specification
(no class, watch lecture video here)
2.3.0-2.3.3
Lab 3 Specification
Hwk 4
Feb 16 Integer Multiplication and Division 2.3.4-2.3.8 Hwk 5
Feb 21 Floating Point 2.4.0-2.4.6 Hwk 6
Lab 3: C Bit Calculator
Feb 23 Program Encodings 3.0.0-3.1.0 (optional)
3.2.0-3.2.3
Hwk 7
Examity Practice Quiz
Feb 28 Data Formats, Access, and Movement 3.3.0-3.4.4
Mar 2 Midterm Exam (on Moodle, closes midnight)
Mar 7 Arithmetic and Logical Operations 3.5.0-3.5.5
gdb cheat sheet
Hwk 8
Mar 9 Control Flow 3.6.0-3.6.5 Hwk 9
Mar 14 Loops and Switches3.6.6-3.6.8
note error on p. 234 (see errata)
Hwk 10
Mar 16 Bomb LabLab 4 Specification
Mar 21 Spring Break
Mar 23 Spring Break
Mar 28 Procedures3.7.0-3.7.6Hwk 11
Mar 30 Array Allocation and Access3.8.0-3.8.5 Bomb Lab Phases 1&2
Apr 4 Heterogenous Data Structures3.9.0-3.9.3 Bomb Lab Phases 3&4
Apr 6 Bomb Lab Q&A Lab 4: Bomb Lab (due Fri 4/7 @ 11pm)
Apr 11 Attack Lab Lab 5 Specification
Apr 13 Combining Control and Data3.10.0-3.10.5
Apr 18 Attack Lab Q&A Attack Lab Phases 1
Apr 20 Locality and The Memory Hierarchy 6.2.0-6.3.2 Attack Lab Phases 2&3
Apr 25 Cache Memory 6.4.0-6.4.7 Lab 5: Attack Lab
Apr 27 Final Review
May 5 Final (on Moodle, closes midnight)

The schedule is subject to change.