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.
Date | Class Period & Lecture Topic | Reading | Assignment |
---|---|---|---|
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 Switches | 3.6.6-3.6.8 note error on p. 234 (see errata) | Hwk 10 |
Oct 20 | Procedures | 3.7.0-3.7.6 | Hwk 11 |
Oct 25 | Bomb Lab | Lab 4: Bomb Lab spec | |
Oct 27 | Array Allocation and Access | 3.8.0-3.8.5 | Bomb Lab Phases 1&2 |
Nov 1 | Heterogenous Data Structures | 3.9.0-3.9.3 | |
Nov 3 | Bomb Lab Q&A | ||
Nov 8 | Combining Control and Data | 3.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.