Resources for Summer 2026 D100 - Jianliang Wu (Burnaby)
Getting Started
Links
-
CMPT 201 D100 Piazza for announcements, questions, general discussion. Sign up to our D100 section on Piazza using this link..
-
GitHub Classroom for short and long programming/Linux assignments (not the lab submissions): you should begin each assignment by accepting the linked invite.
- A0, [A1](), [A2](), [A3](), [A4](), [A5](), [A6](), [A7](), [A8](), [A9](), [A10](), [A11](), [A12]()
The instructions for each assignment are in the README.md file in the repository root. Especially check the "Grading" section for a checklist of submission requirements. It's very easy to miss a detail and lose a lot of marks.
For the later assignments (A8-A12), it's strongly recommended to use a preflight checklist to double-check that your assignment is properly in order.
-
CourSys: grades and lab code submissions.
-
Lab 1, [Lab 2](), [Lab 3](), [Lab 4](), [Lab 5](), [Lab 6](), [Lab 7](), [Lab 8](), [Lab 9](), [Lab 10](), [Lab 11]()
-
Note that there is a lab directions section on the course website if you want to prepare in advance or catch up at home. It's going to be useful in both the short term and the long term to meet your peers and TAs, and labs are one good way to do that; also, lab solutions are provided if you attend. However, attendance is not taken.
Unless we have problems with space, you should be able to attend any timeslot.
-
Weekly Schedule
| Monday | Tuesday | Wednesday | Thursday | Friday | |
|---|---|---|---|---|---|
| 8:30 | Lab (ASB9700), TA office hours | ||||
| 9:30 | Lab (ASB9700), TA office hours | ||||
| 10:30 | Lab (ASB9700), TA office hours | ||||
| 11:30 | |||||
| 12:30 | |||||
| 13:30 | Instructor office hour (TASC1 9227) | ||||
| 14:30 | Lecture (K9500) | Lecture (K9500) | |||
| 15:30 | Lecture (K9500) | Lecture (K9500) | |||
| 16:30 | |||||
| 17:30 |
Teaching Team
- Instructor: Jianliang Wu (email: wujl@sfu.ca)
- TAs:
- Truong Duy Khang Nguyen (email: ktn14@sfu.ca)
- Munim Wasi (email: mhw14@sfu.ca)
- Yuan Ye (email: yya320@sfu.ca)
Policy
- General policy, late policy, grading, sample exams, and more -- Note! The regrading procedure is slightly different for this section. See below.
Regrading
It's important to check your assignment grade after the quiz, to make sure your assignment has been graded correctly by the autograder. The autograder is not perfect, and it's also easy to make submission mistakes.
If you notice anything unexpected -- usually a zero when you thought you'd completed the assignment properly -- please make a regrading request via private message on Piazza.
Grades will be published on CourSys (coursys.sfu.ca/2026su-cmpt-201-d1) when they become available.
Imporant note! Our regrading policy will differ slightly from the one outlined in the common course info page. Your TA may ask you to bring the computer with your docker instance to check directly, or they may complete the regrade using the code in the GitHub repository.
Policy Exceptions
If you have an unexpected medical issue or life event which is interfering with your ability to complete the coursework, please contact the instructor, Jianliang, directly by email at wujl@sfu.ca. Note the course number (and if you're not using your SFU email, your legal name or student ID number), and briefly explain the situation, as soon as you can reasonably anticipate problems.
It's your right and your responsibility to advocate for yourself, and we won't judge you for asking for help. We'll do our best to help you with accommodations or at least advice, and to be clear and honest about what we will, won't, or can't do.
Tentative Schedule for CMPT 201 - D100
| Week | Lecture # | Lecture | Asgn Due | Lab Due | Quiz |
|---|---|---|---|---|---|
| 1 | 1 (May 11) | Intro & Tour of Computer Systems | |||
| 2 (May 13) | Tour of Computer Systems | Lab 0 (virtual, Sun) | |||
| 2 | (May 18) | Holiday | A0 & A1 & A2 (Mon) | ||
| 3 (May 20) | fork() |
Lab 1 (Sun) | |||
| 3 | 4 (May 25) | fork() & exec() |
A3 & A4 (Mon) | ||
| 5 (May 27) | wait(), errno, & Signals |
Lab 2 (Sun) | |||
| 4 | 6 (Jun 1) | Signals & scheduling | A5 & A6 (Mon) | Q0-Q4 | |
| 7 (Jun 3) | Scheduling & memory allocator | Lab 3 (Sun) | |||
| 5 | 8 (Jun 8) | Memory allocator | A7 (Mon) | ||
| 9 (Jun 10) | Memory allocator & virtual memory | Lab 4 (Sun) | |||
| 6 | 10 (Jun 15) | Virtual memory | Q5-Q7 | ||
| 11 (Jun 17) | Threading | Lab 5 (Sun) | |||
| 7 | 12 (Jun 22) | Synchronization & midterm review | A8 (Mon) | ||
| (Jun 24) | Midterm | No lab (office hours) | |||
| 8 | 13 (Jun 29) | Synchronization | Q8 | ||
| (Jul 1) | Holiday | Lab 6 (Sun) | |||
| 9 | 14 (Jul 6) | Synchronization & files | A9 (Mon) | Q9 | |
| 15 (Jul 8) | Files | Lab 7 (Sun) | |||
| 10 | 16 (Jul 13) | Files | |||
| 17 (Jul 15) | Networking | Lab 8 (Sun) | |||
| 11 | 18 (Jul 20) | Networking | A10 (Mon) | Q10 | |
| 19 (Jul 22) | IPC | Lab 9 (Sun) | |||
| 12 | 20 (Jul 27) | IPC | |||
| 21 (Jul 29) | Crypto functions | Lab 10 (Sun) | |||
| 13 | (Aug 3) | Holiday | A11 (Mon) | Q11 | |
| 22 (Aug 5) | Crypto applications | Lab 11 (Sun) | |||
| 14 | 23 (Aug 10) | RPC | |||
| (Aug 12) | Final exam starts | A12 (Sun) | No lab (office hours) |