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 |