Class Schedule

Week Date Topic Reading Assignment
1 Feb 1 Introduction Worksheet 1: Syllabus
Feb 3 Compiling 7.1-7.4
Feb 5 Symbols 7.5-7.6
2 Feb 8 Executables 7.8-7.9 Worksheet 2: Github, Symbols
Lab 1: Symbol Table
Feb 10 Exceptions 8.1
Feb 12 Processes 8.2
3 Feb 15 System Calls 8.4 - 8.4.3 Worksheet 3: System Calls
Feb 17 System Calls 8.4.4 - 8.4.6
Feb 19 Signals 8.5-8.5.4
4 Feb 22 Signal Handling 8.5.5-8.5.6 Worksheet 4: gdb, strace, ltrace
Lab 2: Scavenger Hunt
Feb 24 Strace Strace Zine
Feb 26 File I/O 10.1-10.4
5 March 1 Files 10.6 Worksheet 5: File handling
March 3 Sharing Files 10.8
March 5 Virtual Memory 9.1-9.2
6 March 8 Virtual Memory and Caching 9.3 Worksheet 6: Virtual Memory
March 10 Paging 9.4-9.5
March 12 Address Translation 9.6
7 March 15 Case Study 9.7 Worksheet 7: Virtual Memory
Lab 3: Shell
March 17 Memory Mapping 9.8
March 19 Memory Wrap-Up
8 March 22 Spring Break Worksheet 7: Network Programming
March 24 Networks 11.1-11.2
March 26 IP & DNS 11.3-11.3.2
9 March 29 Connections 11.3.3 Worksheet 8: Network Programming
March 31 Sockets 11.4
April 2 HTTP & The Web 11.5
10 April 5 Lab 3 Worksheet 9: Threads
Lab 4: Web Server
April 7 Concurrency 12.1
April 9 I/O Concurrency 12.2
11 April 12 NO CLASS
April 14 Threads 12.3
April 16 Sharing & Threads 12.4
12 April 19 Mutual Exclusion 12.5 - 12.5.3 Worksheet 10: Elevator 1
Lab 5: Concurrency
April 21 Synchronization Problems 12.5.5 - 12.5.4
April 23 Threads & Parallelism 12.6
13 April 26 Other Threading Issues 12.7 - 12.7.4 Worksheet 11: Elevator 2
April 28 Deadlock 12.7.5
April 30 Lab 5
14 May 3 Class Wrap Up