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 |
---|---|---|---|
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 Switches | 3.6.6-3.6.8 note error on p. 234 (see errata) | Hwk 10 |
Mar 16 | Bomb Lab | Lab 4 Specification | |
Mar 21 | Spring Break | ||
Mar 23 | Spring Break | ||
Mar 28 | Procedures | 3.7.0-3.7.6 | Hwk 11 |
Mar 30 | Array Allocation and Access | 3.8.0-3.8.5 | Bomb Lab Phases 1&2 |
Apr 4 | Heterogenous Data Structures | 3.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 Data | 3.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.