Reading assignments are in red. Readings may be done before or after class, whichever works best for you.
Practice problems are in purple. Practice problems are best done after the associated lecture. Practice problems marked iwith an asterisk (*) are especially important; if you are short on time you should concentrate on those ones. (If an asterisk precedes a range or practice problems, all of them are important.)
January | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
1
|
2
|
3
|
4
|
|||
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
Bits, Bytes, Ints Ch. 1, Ch. 2.1-2.3 Practice: *2.1, 2.3-2.7, *2.8, 2.9-2.10, *2.12, 2.14, *2.15-2.17, 2.19, *2.21, 2.23, 2.27, *2.30, 2.33, 2.40, *2.42-2.44 |
22
|
23
Bits (cont'd) |
24
Lab 1: Bits |
25
|
26
|
27
|
28
Bits (concl'd) |
29
|
30
Floats Ch. 2.4-2.5 Practice: 2.45-2.46, 2.50-2.52, *2.54 |
31
Lab 1 continued |
February | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
1
|
||||||
2
|
3
|
4
Quiz 1: Data x86-64 Assembly Ch. 3-3.3 |
5
|
6
X86 Assembly (cont'd) Ch. 3.4-3.5 Practice: *3.1, 3.2-3.5, *3.6-3.8, 3.9-3.10, 3.11 (A & B) |
7
Lab 1 Due Lab 2: Debugger |
8
|
9
|
10
|
11
X86 Assembly (concl'd) X86 Control Flow Ch. 3.6 Practice: 3.14, 3.16-3.17, *3.18, 3.20-3.21, 3.23-3.28, *3.29-3.30, 3.31 |
12
|
13
X86 Control Flow (cont'd) X86 Procedures Ch. 3.7 Practice: 3.32, 3.34-3.35 |
14
Lab 2 Due Lab 3: Bomb |
15
|
16
|
17
|
18
Quiz 2: x86-64 Instructions X86 Procedures (cont'd) |
19
|
20
X86 Arrays Ch. 3.8 Practice: 3.35-3.38, 3.40 |
21
Lab 3 continued |
22
|
23
|
24
|
25
Guest Lecturer: Prof. Stone X86 Structs X86 Security Ch. 3.9-3.10 Practice: 3.41-3.43, 3.4-3.49 |
26
|
27
Guest Lecturer: Prof. Stone Return-Oriented Programming |
28
Midterm available 5 PM Lab 3 Due Lab 4: Attack! |
29
|
March | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
1
|
2
|
3
Processes Ch. 8.2-8.4 Practice: 8.1-8.4 |
4
|
5
Processes (continued) |
6
Midterm due 5 PM Lab 4 continued |
7
|
8
|
9
|
10
Quiz 3: x86-64 Data; Processes Threads Sample threaded program Ch. 12.3-12.4 Practice: 12.6-12.7 |
11
|
12
LAST DAY TO DROP Threads (continued) |
13
Lab 4 Due (end of lab) Lab 5 will be released on March 30 |
14
|
15
|
16 Spring break |
17 Spring break |
18 Spring break |
19 Spring break |
20 Spring break |
21
|
22
|
23 COVID-19 break |
24 COVID-19 break |
25 COVID-19 break |
26 COVID-19 break |
27 COVID-19 break Cesar Chavez Day |
28
|
29
|
30
Lab 5: Ring Buffer |
31
Exceptions and signals (PDF) Ch. 8.1, 8.5, 8.7 Practice: 8.7, 8.8 |
April | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
1
|
2
I/O (PDF) Ch. 10 Practice: 10.1-10.5 |
3
Lab 5 continued |
4
|
|||
5
|
6
|
7
Quiz 4: Asynchrony and I/O Cache (PDF) Ch. 6.3-6.6 Practice: 6.8-6.20 |
8
|
9
Cache (cont'd) Ch. 6 |
10
Lab 5 due Lab 6: Cache |
11
|
12
|
13
|
14
Virtual Memory I (PDF) Ch. 9.1-9.5 Practice: 9.1-9.2 |
15
|
16
Virtual Memory II (PDF) Ch. 9.6-9.8 Practice: 9.3-9.4, HW 9.11-9.13 |
17
Lab 6 continued |
18
|
19
|
20
|
21
Quiz 5: Cache and Virtual Memory Network Programming (PDF) Echo client Echo server Ch. 11.1-11.4 Practice: 11.4 |
22
|
23
Program Performance (PDF) Machine-Dependent Performance (PDF) Ch. 5.1-5.6 Practice: 5.1-5.4 |
24
Lab 6 Due Lab 7: Networks |
25
|
26
|
27
|
28
Machine-Dependent Performance (cont'd) File Systems (PDF) Ch. 5.7-5.15 Practice: 5.5-5.12 |
29
|
30
File Systems (cont'd) |
May | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
1
Lab 7 Due (11:59 PM) |
2
|
|||||
3
|
4
|
5
|
6
Final available 9 AM |
7
|
8
|
9
|
10
|
11
|
12
|
13
Final due 5 PM (including seniors) |
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
29
|
30
|
31
|
© 2020, Geoff Kuenning
This page is maintained by Geoff Kuenning.