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 slides TLPI Chap. 1 - 3
Jan 8 Tour of Computer Systems slides; Jan 8 Recording
Jan 11 Lab 0 Suggested completion -- no submission
2 Jan 13 sleep() slides; Jan 13 recording TLPI Chap. 6, 23 - 27
Jan 15 fork() and exec() slides
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 slides; signals TLPI Chap. 20 - 22
Jan 22 Signals; scheduling 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 A0-A4 Quiz Lecture 7: Scheduling & memory allocator
Jan 29 Lecture 8: Memory allocator
Jan 30 A5, A6 Push final A5, A6 commits to GitHub
Jan 30 Lab 3 Submit code on CourSys
5 Feb 3 Lecture 9: Memory allocator and virtual memory
Feb 5 Lecture 10: Virtual memory
Feb 6 A7 Push final A7 commits to GitHub
Feb 6 Lab 4 Submit code on CourSys
6 Feb 10 A5-A7 Quiz Lecture 11: Threading
Feb 12 Lecture 12: Synchronization; midterm review
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 Midterm will cover lectures 1-11 and A8
Feb 26 Lecture 13: Synchronization
Feb 27 A9 Push final A9 commits to GitHub
Feb 27 Lab 6 Submit code on CourSys
9 Mar 3 Lecture 14: Synchronization & files
Mar 5 Lecture 15: Files
Mar 6 Lab 7 Submit code on CourSys
10 Mar 10 Lecture 16: Files
Mar 12 Lecture 17: Networking
Mar 13 A10 Push final A10 commits to GitHub
Mar 13 Lab 8 Submit code on CourSys
11 Mar 17 Lecture 18: Networking
Mar 19 Lecture 19: Networking
Mar 20 Lab 9 Submit code on CourSys
12 Mar 24 Lecture 20: IPC
Mar 26 Lecture 21: IPC
Mar 27 A11 Push final A11 commits to GitHub
Mar 27 Lab 10 Submit code on CourSys
13 Mar 31 Lecture 22: Crypto functions
Apr 2 Lecture 23: Crypto applications
Apr 3 Lab 11 Submit code on CourSys
14 Apr 7 Lecture 24: RPC
Apr 9 Final review, ask me anything
Apr 10 A12 Push final A12 commits to GitHub
-- Apr 13 Exam period starts