CS 350Operating Systems
- Units
- 0.50
- Faculty
- Mathematics
- Subject
- Computer Science
When it runs
- F24
- W25
- S25
- F25
- W26
- S26
- F26
- W27
- S27
Ran in 7 of the last 7 terms. Winter 2027: scheduled, 4 lecture sections. Spring 2027: schedule not out yet.
An introduction to the fundamentals of operating system function, design, and implementation. Topics include concurrency, synchronization, processes, threads, scheduling, memory management, file systems, device management, and security.
Prerequisites
- Complete all of the following
- Must have completed at least 1 of the following:
- Must have completed at least 1 of the following:
- Must have completed at least 1 of the following:
- Must have completed at least 1 of the following:
- Enrolled in H-BBA & BCS Double Degree, H-Computer Science (BCS), H-Computer Science (BMath), JH-Computer Science (BCS), JH-Computer Science (BMath), H-Computing & Financial Management, H-Data Science (BCS), or H-Software Engineering
Antirequisites
Leads to
Fall 2026 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 6083 | 70 / 70 | TTh 10:00–11:20 |
| LEC 002 | 6192 | 69 / 70 | TTh 13:00–14:20 |
| LEC 003 | 8811 | 67 / 70 | TTh 14:30–15:50 |
| TST 101 | 6590 | 206 / 210 | Oct 29 16:30–18:20 |
Winter 2027 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 5697 | 0 / 90 | TTh 14:30–15:50 |
| LEC 002 | 5698 | 0 / 90 | TTh 10:00–11:20 |
| LEC 003 | 5952 | 0 / 90 | TTh 13:00–14:20 |
| LEC 701 | 2189 | 155 / 9999 | Online or by arrangement |
| TST 101 | 6126 | 0 / 270 | Mar 10 18:00–19:50 |
Resources
Around the web
Found by uwloo’s link finder, which checks that each page names CS 350.
- CS 350 - Operating Systems Course website · student.cs.uwaterloo.ca Remove
- CS 350 | SCS Course website · cs.uwaterloo.ca · from Martin Karsten’s site Remove
- CS 350 Course notes · jasonhon.com · from Jason Hon’s site, CS webring Remove
- CS350 Course Notes Course notes · jaidenratti.com · from Jaiden Ratti’s site, CS webring Remove
- Operating Systems Course notes · plett.dev · from Josiah Plett’s site, CS webring Remove
- notes Course notes · github.com · posted on r/uwaterloo Apr 2017 Remove
- CS350 | Anthony Zhang Course notes · anthony-zhang.me · posted on r/uwaterloo Jul 2020 Remove
- Lecture notes Course notes · agony.retrocraft.ca · posted on r/uwaterloo Jan 2024 Remove
3 more links
- cs350-notes: Class notes for CS 350 in the Fall '11 term at the University of Waterloo. Course notes · github.com · by mvisser on GitHub Remove
- CS350-Notes: UWaterloo CS350 Notes Course notes · github.com · by RapsIn4 on GitHub Remove
- cs350-exam-review: CS350 (Operating Systems) course exam review notes for University of Waterloo 🎓 Past exam · github.com · by dillionverma on GitHub Remove
Reviewed on UW Flow
74% liked it42% easy87% useful
From 483 ratings and 109 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
This course is like taking the worst parts of cs 246, 241, and 251 and putting it all into one course.
Dec 2023 · didn’t like it · 9 found this helpfulOn UW FlowRemove this
My disdain for this course is unparalleled. Every time I think about this course, I am consumed by a black hatred. This was genuinely my least favourite course in all of undergrad.
Nov 2023 · didn’t like it · 9 found this helpfulOn UW FlowRemove this
no joke my least favorite course in all of undergrad and i've taken some pretty bad courses before. i was pretty excited about this course coming into the term. but a warning to anyone taking this course with prof. Lanctot you will end up studying by trying to memorize every single word off of the 366 slides of lecture notes. and it will not matter since since the exams are riddled with questions that look for one very specific trivia fact/terminology word out of hundreds, if not thousands so you will eat shit anyways. i'm too old for this shit. :(
Aug 2024 · didn’t like it · 5 found this helpfulOn UW FlowRemove this
SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!! SNPRINTF!!!
Dec 2023 · didn’t like it · 5 found this helpfulOn UW FlowRemove this
Assignments are 15+ pages of step by step instructions, you don’t even have to know how to code to do them, much less know any of the course content. On one hand, they’re incredibly easy, on the other hand, they offer no value in terms of practicing. assignments were constantly released late and riddled with typos that fundamentally changed what the questions were asking, and Ali and Rob never bothered to check the piazza. The slides are in awful and filled with errors, so good luck reviewing off of them. This course was a gong show
Apr 2023 · didn’t like it · 5 found this helpfulOn UW FlowRemove this
Discussed on r/uwaterloo
1,731 posts and comments in 1,186 threads mention CS 350, May 2011 to December 2024. Quoted word for word, newest first; each reply sits under the post and the comment that started its branch. Search r/uwaterloo for newer posts.
Fall 2024
CS 350 Final 9 points, 2 comments
u/cskidwnocoop: “How do I pass this course?? There's a weighted average requirement for the exams that students need to pass. And I need a 50% on the final to make sure I don't have to take this course again. …”
CS350 final 1 point, 0 comments
Fall 2024 Good Prof Appreciation Thread 69 points, 58 comments
u/Notrandomperson89: “Tavian Barnes and Trevor Brown - Tavian made CS350, a notoriously bad course, actually not bad, made it extremely digestible and were able to somehow understand the content faster than the other sections”
u/Reckochet: “Ali Mashtizadeh (CS350)”
Thoughts on Course Load 3 points, 11 comments
u/goose-ctrl: “CS 341 CS 348 CS 349 CS 350 ECON 424 Thoughts on the course load for these 5 courses ?”
u/_spooky_77: “from personal experience (so ymmv), cs349 is pretty free, cs348 is fine as long as david toman isn’t teaching it, cs341 and 350 might be a bit painful (341 was kinda tough for me cus I’m garbage with proofs and don’t grind leetcode), econ424 is easy according to uwflow, I’d say …”
2B CS Course Selection 1 point, 1 comment
u/Scapedd: “… to maintain a decent GPA, but ideally also want to get to CS 240 (for interviews) and CS 350 as soon as possible. …”
Self-Study CS350 1 point, 8 comments
u/IntelligentRoom316: “Is it sufficient to learn the material of CS350 with the recorded lectures and the textbook? May want to take it over co-op so I can't attend lectures”
2B CS course selection 2 points, 3 comments
“As of now, these are the classes I am enrolled into: \- CS 245, 246, Math 239, Stat 231 and an elective Could someone walk me through how the term would look like if i go ahead with this option? …”
u/iamanaybaid555: “Your best combination would be: • CS 246 (pre-requisite for CS 241 and CS 240) • CS 251 (pre-requisite for CS 350) • MATH 239 (pre-requisite for CS 341) • CS 245 (pre-requisite for CS 240) • One elective Two reasons for not taking 231 with this would be a heavier workload and no …”
OS/161 setup - help? 1 point, 2 comments
“Hello. I am writing a thesis on instructional OS and want to give OS/161 a shot, because it seems very promising. …”
u/Lorenza21: “I remember cs350 used to use os161 for assignments. They recently changed it. I never set it up before, but found these links. It seems like it need to use the student environment. …”
CS 350 final 4 points, 4 comments
u/National-Storm9540: “how can I study for the final? I’ve been trying to go to lectures and watch old lecture videos of prof ali but I don’t understand a few concepts. For context, my midterm did not go well and I need to do well on the final to pass the weighted exam component. …”
u/Lorenza21: “Go to math soc and find cs350 exam bank. There's a few midterms and finals. Some also had solutions. If not can just ask in office hour or piazza.”
u/Lorenza21: “https://student.cs.uwaterloo.ca/cs350/common/review-questions/ Some practice questions I remember doing”
Anyone switched out of cs before? 18 points, 25 comments
“Not sure if I really like doing cs, so there’s just a lingering thought of mine to drop the major. Anyone have experience in this want to talk?”
u/Intelligent-Show-815: “What is the urge to make you switch?”
u/Regular_Maybe5937: “I believe the CS major is really not worth my time. There are required courses like cs350 which I really doubt I'll be needing for my career later on. On my current job, I've honestly used more from what I've learned in my math courses than any cs course.”
UW Math Viable 2A Courseload? 14 points, 13 comments
“https://preview.redd.it/sewy50msawyd1.png?width=376&format=png&auto=webp&s=164f19f51cf2407d9f633857108cece82aac7e1c”
u/iamanaybaid555: “Are 237 and 235 really time consuming? How are those like”
u/iamanaybaid555: “Okay that sounds very reassuring considering I'll be taking it with CS 350, 341, 346 and 348. I've had a decent bit of practice from 128 and now doing a bit in STAT 231 too but will make sure to brush up on concepts before I head into term to make it a bird course for myself. …”
CS 350 Midterm 1 point, 0 comments
Check it elsewhere for Fall 2026
- Undergraduate Calendar, 2026–27The official entry
- Requirements for Fall 2026Waterloo’s requisite checker
- Schedule of Classes, Fall 2026Instructors, rooms, live seats
- Quest Class SearchWhere you enrol
- Course outlinesSyllabi from past terms (UW login)
- UW FlowStudent ratings and reviews
- WClassesPast sections back to 2004, and who taught them