Main navigation | Main content
Week | Date | Topics | Readings | Assignments due |
---|---|---|---|---|
1 | 09/03 Mo | No class, Labor Day | ||
09/05 We | Introduction | 1.1–1.10 | ||
09/07 Fr | C Basics 1 | CTut 1–8, 14 | ||
2 | 09/10 Mo | C Basics 2 | CTut 10–11, 20 | |
09/12 We | C Basics 3 | CTut 9, 15, 21 | ||
09/14 Fr | Data representation 1 | 2.1 | ||
3 | 09/17 Mo | Data representation 2 | 2.2 | |
09/19 We | Data representation 3 | 2.3 | ||
09/21 Fr | Data representation 4 | 2.4 | ||
4 | 09/24 Mo | Machine-level code 1 | 3.1–3.5 | |
09/25 Tu | HA1 due | |||
09/26 We | Machine-level code 2 | 3.6 | ||
09/28 Fr | Machine-level code 3 | 3.6, cont'd | ||
5 | 10/01 Mo | Machine-level code 4 | 3.7 | Ex. 1 due |
10/03 We | Machine-level code 5 | |||
10/05 Fr | Midterm 1 review | |||
6 | 10/08 Mo | Midterm 1 in class | ||
10/10 We | Machine-level code 6 | 3.7, cont'd | ||
10/12 Fr | Data structures and memory 1 | 3.8–3.9 | HA2 due | |
7 | 10/15 Mo | Data structures and memory 2 | 3.10 | |
10/17 We | Data structures and memory 3 | 9.11 | Ex. 2 due | |
10/19 Fr | Data structures and memory 4 | 9.9.0–9.9.5 | ||
8 | 10/22 Mo | Data structures and memory 5 | 9.9.6–9.9.14 | |
10/24 We | CPU architecture 1 | 4.1 | ||
10/26 Fr | CPU architecture 2 | 4.2 | HA3 due | |
9 | 10/29 Mo | CPU architecture 3 | 4.2, cont'd | |
10/31 We | CPU architecture 4 | 4.3 | ||
11/02 Fr | CPU architecture 5 | 4.4–4.5 | ||
10 | 11/05 Mo | Caches 1 | 6.1–6.3 | |
11/07 We | Caches 2 | 6.4 | ||
11/09 Fr | Caches 3 | 6.4, cont'd | ||
11 | 11/12 Mo | Optimization 1 | 5.1–5.3 | Ex. 3 due |
11/14 We | Midterm 2 review | |||
11/16 Fr | Midterm 2 in class | |||
12 | 11/19 Mo | Optimization 2 | 5.1–5.3 | |
11/21 We | Optimization 3 | 5.4–5.6, 5.13–5.14 | ||
11/23 Fr | No class, Thanksgiving break | |||
13 | 11/26 Mo | Optimization 4 | 6.5–6.6 | |
11/28 We | Virtual memory 1 | 9.1–9.3 | Ex. 4 due | |
11/30 Fr | Virtual memory 2 | 9.6–9.7 | ||
14 | 12/03 Mo | Virtual memory 3 | 9.4–9.5, 8.1–8.2 | |
12/05 We | Side channel vulnerabilities | Optional details: 1, 2, 3 | ||
12/07 Fr | Linking 1 | 7.1–7.9 | ||
15 | 12/10 Mo | Linking 2 | 7.10–7.12 | |
12/12 We | Last lecture, final exam review | HA5 due | ||
16 | 12/17 Mo | Final exam, 8:00–10:00am |
Readings shown with only a section number are from the primary textbook: Computer Systems: A Programmer's Perspective, third edition, by Randal Bryant and David O'Hallaron.
"CTut" in the readings refers to The GNU C Programming Tutorial, edition 4.1, by Mark Burgess and Ron Hale-Evans. Feel free to substitute a different C language book if you prefer it; we've given reading suggestions from this one because it is free (in both the "free speech" and "free beer" senses). The PDF version of the tutorial is available here, and the Texinfo source is here.