A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Lecture | Date | Day | Topics content | Readings | Project Assigned | Project Due Date | |||||||||||||||
2 | 1 | 31-Aug | Wed | Intro / Systems Tour | CS:APP 1.0-1.10 | |||||||||||||||||
3 | 2 | 2-Sep | Fri | From Java to C | C for Java Programmers (CJP): 1-8, 9.1, 12, (optional: online tutorial, intro and file I/O sections) | |||||||||||||||||
4 | 3 | 7-Sep | Wed | Bits, Bytes, Ints I | CS:APP 2.1.6-2.1.9, 2.2-2.3 (you can skip derivations) | P1: Store | 22-Sep | |||||||||||||||
5 | 4 | 9-Sep | Fri | Floats, Images, Audio, Memory, preview partitions (stack, heap, data, text) | CS:APP 2.1, Skim: 2.4-2.4.3 (108-119) | |||||||||||||||||
6 | 5 | 14-Sep | Wed | Pointers | CJP: 9.2-9.4 | |||||||||||||||||
7 | 6 | 16-Sep | Fri | Debugging | CJP: 13.1-13.4 | |||||||||||||||||
8 | 7 | 21-Sep | Wed | Dynamic memory allocation & Linked Structs | CJP: 9.5-9.9, 10, 13, CS:APP 9.11, (optional: OSTEP: 14) | P2: Key-Value Deserialization | 6-Oct | |||||||||||||||
9 | 8 | 23-Sep | Fri | Code as Bits / Machine Prog: Basics | CS:APP 3.1-3.5, CJP: 13.5 | |||||||||||||||||
10 | 9 | 28-Sep | Wed | Code as Bits / Machine Prog: Basics + Control | CS:APP 3.6 | |||||||||||||||||
11 | 30-Sep | Fri | MIDTERM I Postponed | Lectures 1-8 | ||||||||||||||||||
12 | 5-Oct | Wed | MIDTERM I | |||||||||||||||||||
13 | 10 | 7-Oct | Fri | Code as Bits / Machine Prog: Control | See above | |||||||||||||||||
14 | 11 | 12-Oct | Wed | Code as Bits / Machine Prog: Procedures | CS:APP 3.7 | P3: Bomb | 30-Oct | |||||||||||||||
15 | 12 | 14-Oct | Fri | Code as Bits / Machine Prog: Data | CS:APP 3.8-3.9 | |||||||||||||||||
16 | 13 | 19-Oct | Wed | Code as Bits /Machine Prog: Arrays and Buffer Overflow | CS:APP 3.10 (pp 276-284), | P4: Attack | 8-Nov | |||||||||||||||
17 | 14 | 21-Oct | Fri | Function pointers, Executables, Compilation, Make, Linking | CS:APP 3.10 (pp 277-278 about function pointers), CJP: 11 (compilation, linking, review 12), CS:APP 7.1-7.5 (pp 669-678), 7.8-7.10 (pp 695-701) | |||||||||||||||||
18 | 15 | 26-Oct | Wed | Storage Technologies and Locality | CS:APP 6.1-6.2 (pp 579-608) | |||||||||||||||||
19 | 16 | 28-Oct | Fri | Caching | CS:APP 6.3-6.4.2 (pp 609-624) (optional 6.4.3-6.4.4) | |||||||||||||||||
20 | 17 | 2-Nov | Wed | ECF: Exceptions & Processes | CS:APP 8.1-8.3 (pp 721-737) | P5: Key-Value Cache | 22-Nov | |||||||||||||||
21 | 18 | 4-Nov | Fri | Process Fork & Exec | CS:APP 8.4 (pp 738-753) (Optional 8.5) | Note: lab L18 is optional/EC due on 11/16 | ||||||||||||||||
22 | 19 | 9-Nov | Wed | Virtual Memory: Concepts | CS:APP 9.1-9.6 (up to 9.6.1, pages 801-816) | |||||||||||||||||
23 | 11-Nov | Fri | MIDTERM II | Lectures 9-18 | ||||||||||||||||||
24 | 20 | 16-Nov | Wed | Virtual Memory: II | CS:APP 9.8 (pp 833-839) | Note: lab L20 is optional/EC | ||||||||||||||||
25 | 21 | 18-Nov | Fri | Memory Allocation: Explicit Free lists, Simple Segregated Storage (Segregated Fits) | CS:APP 9.9-9.9.4 (pp 839-846), 9.9.13 & 9.9.14 (pp 862-864) ( (optional OSTEP 14) | P6: Malloc | 6-Dec | |||||||||||||||
26 | 23-Nov | Thanksgiving break: no class or discussion (cancelled 11/21) | ||||||||||||||||||||
27 | 25-Nov | |||||||||||||||||||||
28 | 22 | 30-Nov | Wed | Concurrent programming: Types, threads | OSTEP: 26.1-26.2, 27.1-27.2 | |||||||||||||||||
29 | 23 | 2-Dec | Fri | Concurrent programming: Races & Mutual Exclusion | OSTEP: 26.3-26.5, 27.3, 29.1 | P7: Threads project is deprecated. | ||||||||||||||||
30 | 24 | 7-Dec | Wed | Concurrent programming: Issues | OSTEP: 29.2, 32 | Lab L24 is opt-EC | ||||||||||||||||
31 | 25 | 9-Dec | Fri | Material in scope, but not covered due to lack of time: Garbage Collection, Performance Analysis | Optional reading: we will not discuss, no L25 quiz. CS:APP 9.10 (pp 866-870) and 9.12 (pp 875-876) | No lab L25 | ||||||||||||||||
32 | 9-Dec | Fri | Concurrency quiz | |||||||||||||||||||
33 | No final Exam | |||||||||||||||||||||
34 | ||||||||||||||||||||||
35 | ||||||||||||||||||||||
36 | ||||||||||||||||||||||
37 | ||||||||||||||||||||||
38 | ||||||||||||||||||||||
39 | ||||||||||||||||||||||
40 | ||||||||||||||||||||||
41 | ||||||||||||||||||||||
42 | ||||||||||||||||||||||
43 | ||||||||||||||||||||||
44 | ||||||||||||||||||||||
45 | ||||||||||||||||||||||
46 | ||||||||||||||||||||||
47 | ||||||||||||||||||||||
48 | ||||||||||||||||||||||
49 | ||||||||||||||||||||||
50 | ||||||||||||||||||||||
51 | ||||||||||||||||||||||
52 | ||||||||||||||||||||||
53 | ||||||||||||||||||||||
54 | ||||||||||||||||||||||
55 | ||||||||||||||||||||||
56 | ||||||||||||||||||||||
57 | ||||||||||||||||||||||
58 | ||||||||||||||||||||||
59 | ||||||||||||||||||||||
60 | ||||||||||||||||||||||
61 | ||||||||||||||||||||||
62 | ||||||||||||||||||||||
63 | ||||||||||||||||||||||
64 | ||||||||||||||||||||||
65 | ||||||||||||||||||||||
66 | ||||||||||||||||||||||
67 | ||||||||||||||||||||||
68 | ||||||||||||||||||||||
69 | ||||||||||||||||||||||
70 | ||||||||||||||||||||||
71 | ||||||||||||||||||||||
72 | ||||||||||||||||||||||
73 | ||||||||||||||||||||||
74 | ||||||||||||||||||||||
75 | ||||||||||||||||||||||
76 | ||||||||||||||||||||||
77 | ||||||||||||||||||||||
78 | ||||||||||||||||||||||
79 | ||||||||||||||||||||||
80 | ||||||||||||||||||||||
81 | ||||||||||||||||||||||
82 | ||||||||||||||||||||||
83 | ||||||||||||||||||||||
84 | ||||||||||||||||||||||
85 | ||||||||||||||||||||||
86 | ||||||||||||||||||||||
87 | ||||||||||||||||||||||
88 | ||||||||||||||||||||||
89 | ||||||||||||||||||||||
90 | ||||||||||||||||||||||
91 | ||||||||||||||||||||||
92 | ||||||||||||||||||||||
93 | ||||||||||||||||||||||
94 | ||||||||||||||||||||||
95 | ||||||||||||||||||||||
96 | ||||||||||||||||||||||
97 | ||||||||||||||||||||||
98 | ||||||||||||||||||||||
99 | ||||||||||||||||||||||
100 |