Calendar for CS 105, Spring 2023

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 with an asterisk (*) are especially important; if you are short on time you should concentrate on those ones. (If an asterisk precedes a range of 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
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
18



19
Bits (cont'd)



20
Lab 1: Bits


21



22



23



24
Bits (concl'd)

Floats
Ch. 2.4-2.5
Practice: 2.45-2.46, 2.50-2.52, *2.54
25



26
Floats (concl'd)

x86-64 Assembly
Ch. 3-3.3
27
Lab 1 continued


28



29



30



31
Quiz 1: Data
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)
















February
Sunday Monday Tuesday Wednesday Thursday Friday Saturday












1



2
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
3
Lab 1 Due
Lab 2: Debugger

4



5



6



7
X86 Control Flow (concl'd)

Ch. 3.7
Practice: 3.32, 3.34-3.35
8



9
X86 Procedures


10
Lab 2 Due
Lab 3: Bomb

11



12



13



14
Quiz 2: x86-64 Instructions and Procedures
X86 Arrays
Ch. 3.8
Practice: 3.35-3.38, 3.40
15



16
X86 Structs

Ch. 3.9-3.10
Practice: 3.41-3.44
17
Lab 3 continued


18



19



20



21
Guest Lecturer: Prof. Kampe
X86 Security
Practice: 3.46
22



23
Guest Lecturer: Prof. Kampe
Processes
Ch. 8.2-8.4
Practice: 8.1-8.4
24
Lab 3 Due
Lab 4: Attack!

25



26



27



28
Quiz 3: x86 Data Structures, Processes
Threads
Ch. 12.3-12.5
Practice: 12.6-12.7
















March
Sunday Monday Tuesday Wednesday Thursday Friday Saturday












1



2
Threads (continued)

Ch. 12.7
Practice: 12.13-12.14
3
Midterm available 5 PM
Lab 4 continued

4



5



6



7
Threads (concluded)

Sample threaded program
Exceptions and signals
Ch. 8.1, 8.5, 8.7
Practice: 8.7, 8.8
8



9
LAST DAY TO DROP

Exceptions and signals (cont'd)


10
Midterm due 5 PM
Lab 4 Due (5 PM)

11



12



13
Spring break



14
Spring break



15
Spring break



16
Spring break



17
Spring break



18
Spring break



19



20



21
Quiz 4: Threads, Exceptions, Signals
Exceptions and signals (concl'd)

I/O
Ch. 10
Practice: 10.1-10.4, 12.5
22



23
I/O (cont'd)



24
Lab 5: Ring Buffer


25



26



27



28
Cache
Ch. 6.3-6.6
Practice: 6.8-6.20
29



30
Cache (concl'd)

Virtual Memory I
Ch. 6
31
Lab 5 continued






April
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
























1



2



3



4
Quiz 5: I/O, Cache
Virtual Memory I (cont'd)

Ch. 9.1-9.5
Practice: 9.1-9.2
5



6
Virtual Memory II
Ch. 9.6-9.8
Practice: 9.3-9.4, HW 9.11-9.13
7
Lab 5 Due
Lab 6: Fgrep

8



9



10



11
Virtual Memory III



12



13
Network Programming
Ch. 11.1-11.6
Practice: 11.5
14
LAST DAY TO WITHDRAW

Lab 6 continued

15



16



17



18
Quiz 6: Virtual Memory, Networks
Network Programming (concl'd)

Echo client
Echo server
19



20
Program Performance
Ch. 5.1-5.6
Practice: 5.1-5.4
21
Lab 6 Due
Lab 7: Networks

22



23



24



25
Machine-Dependent Performance
Ch. 5.11-5.15
Practice: 5.9-5.12
26



27
File Systems


28
Lab 7 Due (11:59 PM)


29



30



























May
Sunday Monday Tuesday Wednesday Thursday Friday Saturday




1



2



3



4
Senior final, 9 AM to noon


5



6



7



8



9
Section 1 final, 2-5 PM


10



11
Section 2 final, 2-5 PM


12



13



14



15



16



17



18



19



20



21



22



23



24



25



26



27



28



29



30



31
















© 2023, Geoff Kuenning

This page is maintained by Geoff Kuenning.