This is not the current version of the class.

Schedule

The schedule will remain tentative all term.

Recommended readings are generally from the textbook, CS:APP3e. Problem set deadlines are for college; DCE students’ deadlines are 1 day later.

Weekly Schedule

Mon Tue Wed Thu Fri
Week 1 9/3 Unit 1: Data representation
9/4 Overview & Exploring memory
9/5 9/6 Objects, memory, integer representation
CS:APP3e §1, 2.1-2.2, 9.11
9/7
Week 2 9/10 9/11 Layout
CS:APP3e §3.7–3.9
9/12 9/13 Pointer arithmetic, undefined behavior
CS:APP3e §2.2–2.3
Sunday 9/16-Monday 9/17 Problem set 1
intermediate checkin due
Week 3 9/17 9/18 Integer undefined behavior, bitwise 9/19 9/20 Arena allocation
CS:APP3e §9.9–9.11
Sunday 9/23 Problem set 1 due
Week 4 9/24 Unit 2: Assembly & machine programming
9/26 Instructions, data movement
CS:APP3e §3.2–3.6
9/26 9/27 Calling convention
CS:APP3e §3.7, §7 (skim)
9/28
Week 5 10/1 10/2 Optimizations and assembly
CS:APP3e §3.6, 3.8, 3.9; §8.1 (preview)
10/3 Unit 3: Storage hierarchy
10/4 Buffer overflows; Caches
CS:APP3e §6.1-6.2, 10.1-10.4
10/5 Problem set 2 due
Week 6 10/8 10/9 Cache model
CS:APP3e §10.5, 10.10–10.11
10/10 10/11 Cache costs and optimizations
CS:APP3e §6.5-6.6
10/12
Week 7 10/15 10/16 Dirty and clean slots
CS:APP3e §9.8
10/17 Midterm Unit 4: Kernel programming
10/18 Virtual Memory
Sunday 10/21 Problem set 3 due
Week 8 10/22 10/23 Privilege and exceptional control flow
CS:APP3e §8.1–8.3
10/24 10/25 Processes and protection
CS:APP3e §8.4, 9.4–9.5, 9.8.2–9.8.3
10/26
Week 9 10/29 10/30 Fork and process control
CS:APP3e §8.4
10/31 11/1 Subprocesses and signals
CS:APP3e §8.5–8.7
11/2
Week 10 11/5 Unit 5: Process management
11/6 Exec and Wait
CS:APP3e §12.1
11/7 Problem set 4 due 11/8 Pipes and redirection
CS:APP3e §8.5, 10.9
11/9
Week 11 11/12 11/13 Signals, race conditions, and blocking 11/14 Unit 6: Concurrency
11/15 Synchronization
11/16
Week 12 11/19 11/20 Networking 11/21 Problem set 5 due 11/22 11/23 Problem set 5 due for extension
Week 13 11/26 11/27 Building a robust server 11/28 11/29 Implementing synchronization 11/30
Week 14 12/3 12/4 Last class 12/5 12/6 12/7
Reading period 12/10 12/11 12/12 Assignment 6 due by extension 12/13 12/14
Finals week 12/17 12/18 12/19 12/20 12/21

Google Calendar

Information on the Google Calendar is subject to udpate throughout the term. Please check frequently for latest information.