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 TLPI Chap. 29; OSTEP Chap. 26, 27
Feb 12 Synchronization; midterm review 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
Feb 27 A9 Push final A9 commits to GitHub
Feb 27 Lab 6 Submit code on CourSys
9 Mar 3 A9 Quiz Synchronization; files TLPI Chap. 4, 13-15; OSTEP Chap. 36, 39, 40
Mar 5 Files
Mar 6 Lab 7 Submit code on CourSys
10 Mar 10 Files
Mar 12 Networking 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
Mar 19 Networking
Mar 20 Lab 9 Submit code on CourSys
12 Mar 24 IPC TLPI Chap. 43, 44, 49, 51, 52
Mar 26 IPC
Mar 27 A11 Push final A11 commits to GitHub
Mar 27 Lab 10 Submit code on CourSys
13 Mar 31 A11 Quiz Crypto functions OSTEP Chap. 56; Coursera course: Cryptography I
Apr 2 Crypto 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