Provisional Schedule - D100 - Joseph

Course Schedule for Spring 2026 D100 - Joseph Lunderville (Burnaby)

This schedule, especially the lecture topics, may be updated through the term. Significant corrections and changes to important due date will be communicated through Piazza; minor corrections and updates, such as the sequencing of lecture content, may not be announced.

Readings are from

  • TLPI - The Linux Programming Interface: A Linux and UNIX System Programming Handbook, Michael Kerrisk, 2010, or
  • OSTEP - Operating Systems: Three Easy Pieces, Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
Week Date Work Due Presenting/Notes Optional Reading
1 Jan 6 Welcome to CMPT 201 TLPI Chap. 1 - 3
Jan 8 Tour of Computer Systems; Jan 8 Recording
Jan 11 Lab 0 Suggested completion -- no submission
2 Jan 13 sleep() ; Jan 13 recording TLPI Chap. 6, 23 - 27
Jan 15 fork() and exec(); Jan 15 recording
Jan 16 A0, A1, A2 Push final A0, A1, A2 commits to GitHub
Jan 16 Lab 1 Submit code on CourSys
3 Jan 20 wait() and errno; signals; Jan 20 recording TLPI Chap. 20 - 22
Jan 22 Signals (continued from Jan 20); scheduling; Jan 22 recording OSTEP Chap. 7-9
Jan 23 A3, A4 Push final A3, A4 commits to GitHub
Jan 23 Lab 2 Submit code on CourSys
4 Jan 27 Quiz rescheduled Scheduling (continued from Jan 22); memory management; Jan 27 recording TLPI Chap. 6.3-6.5, 7; OSTEP Chap. 13-15
Jan 29 A0-A4 Quiz Memory management (continued from Jan 27); Jan 29 recording
Jan 30 A5, A6 Push final A5, A6 commits to GitHub
Jan 30 Lab 3 Submit code on CourSys
5 Feb 3 Memory management (continued from Jan 29); virtual memory; Feb 3 recording OSTEP Chap. 13, 15, 16, 18
Feb 5 Virtual memory (continued from Feb 3); Feb 5 recording
Feb 6 A7 Push final A7 commits to GitHub
Feb 6 Lab 4 Submit code on CourSys
6 Feb 10 A5-A7 Quiz Threads; Feb 10 recording TLPI Chap. 29; OSTEP Chap. 26, 27
Feb 12 Threads (continued from Feb 10); midterm review; Feb 12 recording TLPI Chap. 30; OSTEP Chap. 28, 30-32
Feb 13 A8 Push final A8 commits to GitHub
Feb 13 Lab 5 Submit code on CourSys
7 Feb 16 Family day -- reading break starts
8 Feb 24 Midterm, A8 Quiz Midterm will cover lectures 1-11 and A8
Feb 26 Synchronization: Mutex; Feb 26 recording
Feb 27 A9 Push final A9 commits to GitHub
Feb 27 Lab 6 Submit code on CourSys
9 Mar 3 A9 Quiz Check-in; Mar 3 recording TLPI Chap. 4, 13-15; OSTEP Chap. 36, 39, 40
Mar 5 Synchronization: Patterns; Mar 5 recording
Mar 6 Lab 7 Submit code on CourSys
10 Mar 10 File I/O
Mar 12 Filesystems TLPI Chap. 56-61, 63
Mar 13 A10 Push final A10 commits to GitHub
Mar 13 Lab 8 Submit code on CourSys
11 Mar 17 A10 Quiz Networking: Sockets
Mar 19 Networking: AF_INET, Networking: Multiple Clients
Mar 20 Lab 9 Submit code on CourSys
12 Mar 24 IPC: Pipes TLPI Chap. 43, 44, 49, 51, 52
Mar 26 IPC: Shared Memory
Mar 27 A11 Push final A11 commits to GitHub
Mar 27 Lab 10 Submit code on CourSys
13 Mar 31 A11 Quiz Cryptography: Algorithms OSTEP Chap. 56; Coursera course: Cryptography I
Apr 2 Cryptography: Applications
Apr 3 Lab 11 Submit code on CourSys
14 Apr 7 RPC?
Apr 9 Final review, ask me anything
Apr 10 A12 Push final A12 commits to GitHub
-- Apr 13 Exam period starts