CS 208 Fall 2021
Topics

Subscribe to this calendar (google, iCal, etc.)

DateDescription
September 15 Introduction; Binary & Hexadecimal
Read CSPP: § 1.4.1 (p. 8-10)
September 17 Get to Know You; Bits, Bytes, and C Pointers; The Linux Command Line
Read Pointer Basics and The 5-minute Guide to C Pointers, watch this silly video
September 20 C: Data Representation and Memory Management
Read The Descent to C
September 22 Finishing up Memory Management; Integer Representation
Read CSPP: § 2.2.1 (p. 60-62)
September 24 Integer Arithmetic
Read CSPP: § 2.2.8 (p. 83-84)
September 27 Programming With Bits
Read CSPP: § 2.1.7--2.1.9 (p. 54-58)
September 29 Introduction to x86-64 Assembly
CPSS: § 3.4 through 3.4.1 (p. 179-181)
October 1 Arithmetic in x86-64 Assembly
No reading, but review figures 3.2, 3.3, and 3.10 (p. 180, 181, 192)
October 4 x86-64 Control Flow: Conditionals
Review CSPP figures 3.13, 3.14, and 3.15 (p. 202, 203, 206), (OPTIONAL) read CSPP section 3.6.6
October 6 x86-64 Control Flow: Loops and Switch Statements
Read CSPP § 3.6.3 to learn about indirect jumps
October 8 Data Structure Representation: Arrays
Read CSPP § 3.8.2 on pointer arithmetic
October 11 Data Structure Representation: Structs
No reading
October 13 Memory Layout and The Stack
Make sure you understand figure 3.27 (p. 243)
October 15 Implementing Procedure Calls
Read CSPP: § 3.7.4 and 3.7.5 (p. 248-252)
October 20 Buffer Overflow Attacks
Read the Lab 3 writeup
October 22 Dynamic Memory Allocation: malloc and free
No reading
October 25 Dynamic Memory Allocation: Free Lists
Read CSPP § 9.9.6
October 27 Explicit Free Lists; Lab 4 Overview
Read the Lab 4 writeup
October 29 Caching and the Memory Hierachy
Read CSPP § 6.2 about locality
November 1 Virtual Memory
Read CSPP § 9.3 (p. 805–810)
November 3 The Process Model and Exceptional Control Flow
Read CSPP § 8.1-8.1.2 (p. 723–728) and § 8.2 (p. 732–737)
November 5 System-Level I/O
Read CSPP § 10.1-10.2 (p. 890–893) and § 10.11 (p. 911–913)
November 8 Network Programming
Read CSPP § 11.1 (p. 918–919) and § 11.5 (p. 948–955)
November 10 Concurrent Programming
Read CSPP § 12.1 and 12.3 (p. 973–976 and 985–992)
November 12 Synchronization
Read CSPP § 12.5 through 12.5.4 (p. 995–1008)
November 15 Parallelism
Read CSPP § 12.6 (p. 1013–1020)
November 17 Java vs C
No reading
November 19 Victory lap
No reading