CS 454Distributed Systems
- Units
- 0.50
- Faculty
- Mathematics
- Subject
- Computer Science
When it runs
- F24
- W25
- S25
- F25
- W26
- S26
- F26
- W27
- S27
Ran in 5 of the last 7 terms. Winter 2027: scheduled, 4 lecture sections. Spring 2027: schedule not out yet.
An introduction to distributed systems, emphasizing the multiple levels of software in such systems. Specific topics include fundamentals of data communications, network architecture and protocols, local-area networks, concurrency control in distributed systems, recovery in distributed systems, and clock synchronization.
Prerequisites
- Complete all 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
- Not completed nor concurrently enrolled in any of the following:
- ECE454 - Distributed Computing (0.50)
Leads to
Fall 2026 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 6353 | 67 / 70 | TTh 13:00–14:20 |
| LEC 002 | 6784 | 61 / 70 | TTh 14:30–15:50 |
Winter 2027 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 5688 | 0 / 70 | MW 11:30–12:50 |
| LEC 002 | 5840 | 0 / 70 | MW 13:00–14:20 |
| LEC 003 | 8501 | 0 / 70 | MW 14:30–15:50 |
| LEC 701 | 2198 | 170 / 9999 | Online or by arrangement |
Resources
Around the web
Found by uwloo’s link finder, which checks that each page names CS 454.
- University of Waterloo | School of Computer Science | CS 454/654 Course website · student.cs.uwaterloo.ca Remove
- CS 454 | SCS Course website · cs.uwaterloo.ca · from Martin Karsten’s site Remove
- CS454 Course Notes Course notes · jaidenratti.com · from Jaiden Ratti’s site, CS webring Remove
- CS454 | Anthony Zhang Course notes · anthony-zhang.me · posted on r/uwaterloo Jul 2020 Remove
- Bernard Wong Other · cs.uwaterloo.ca · posted on r/uwaterloo Apr 2019 Remove
Reviewed on UW Flow
59% liked it57% easy65% useful
From 92 ratings and 29 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
2 written assignments and 2 implementation assignments, and final. No midterm. Written assignments were like 50/50 knowledge questions and basic proofs of distributed computing concepts. Implementation assignments were lengthy, requiring multiple weeks to finish. You have to start early or you might get fked. The first one was not too hard once you understood the pattern, since it was kind of just fill in the blanks. The second one was much harder since you had to actually figure out how to implement functions for a distributed file system. The assignment description was 30+ pages on its own.
For the final the prof gave out a bunch of questions that were more or less the exam questions, so…Dec 2019 · didn’t like it · 1 found this helpfulOn UW FlowRemove this
I was excited for this course, but at least this offering of the course was pretty terrible. What is talked about in lectures does not match the slides which does not match what is covered on the assignments. Theory covered either seems irrelevant or Wikipediable. I heard its been the same course content from 10 years ago. Everyone I talk to this term has similar opinions. Would not recommend.
Jul 2014 · didn’t like it · 1 found this helpfulOn UW FlowRemove this
One of the most useful courses if you wanna go down the SWE route. Assignments are easy. Project part 1 is straightforward, but part 2 is quite challenging and takes significantly longer. No midterm. Final was hard, mainly because there's so much to study.
But at the end of it all, I'm really happy that I took this course. Would recommend. Also take it with Samer, he's amazing!Apr 2026 · liked itOn UW FlowRemove this
One of the most useful courses in CS you can take imo. You cover a range of topics that are key to real-world systems; the course provides a theoretical understanding of how these systems work end-to-end with examples of how the concepts are applied in industry.
Apr 2026 · liked itOn UW FlowRemove this
take it with samer
Apr 2026 · liked itOn UW FlowRemove this
Discussed on r/uwaterloo
376 posts and comments in 287 threads mention CS 454, January 2012 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
CS454 Final 4 points, 0 comments
u/Live_Coyote_8463: “Hello, I was wondering if anyone who has taken CS454 could share some insights about the final exam and how to prepare for it: I’m curious about the exam format. Are the questions short and theoretical, or are they more open-ended? Approximately how many questions does it have? …”
distributed systems vs computer architecture 3 points, 2 comments
u/mauhge: “Has anyone taken cs450 before? How does it compare to cs454? Not sure which one to take (have to pick one)”
CS courses to take over COOP? 6 points, 3 comments
“What are some good cs courses to take over coop? Specifically looking for CS 3xx and 4xx ones”
u/Organic_Midnight1999: “I did CS 456 (good idea), CS 343 (bad idea), and CS 454 (doable if ur not a lazy fuck like me and if ur comfortable with C++)”
CS 451 or CS 454? 6 points, 1 comment
u/hassaniqbal9999: “I need to pick one of these. Which one is easier to pass and has a lower time commitment? I dont care how interesting or useful these are, just want to do the easier one.”
CS 451 vs 454 4 points, 1 comment
“Choosing between these two as I can't fit both in my schedule, which would you say is better to learn distributed systems in general and would you recommend taking both of them or would one of the …”
u/Rarag: “… It's written by the guy who made the course I think CS454 builds more from foundation (e.g. synchronization between distributed processes, ACID transactions). …”
How was it? CS459 Privacy, Cryptography,Network and Data Security 12 points, 16 comments
“I was planning on taking CS458 Computer Security and Privacy, sadly no longer offered. How was CS459 Privacy, Cryptography,Network and Data Security? For anyone taking it this term. …”
u/LaApplePear: “Thansk Ok-Conclusion & blake-potato for sharing the valuable information!! I composed a side-by-side comparison of the two mentioned courses. CS453 and CS459. …”
u/Kassaking777: “I believe for CS459, there's a coreq CS456/454. You have to either already taken one of 456 or 454, or taking one of them with 459.”
CS446 or CS447 or CS454 3 points, 2 comments
u/Agitated-Heron-4420: “… What course should I take CS 446, CS447, or CS 454? I wanna take the least workload and least amount of programming. I just wanna chill in my last term and not worry about academia. …”
What are some CS courses without an in person midterm? 1 point, 6 comments
“I need some recs for upper year CS courses without in person midterms, and preferably without exams either. Need something as chill as possible to take on the side while I do coop.”
u/breakbake: “CS454 doesn’t have a midterm but it does have a final exam”
CS 453 3 points, 2 comments
u/PrizeCandidate8483: “How is CS 453 in terms of workload, difficulty? I am taking it this term with Prof. Yousra Aafer and Meng Xu. (Especially, if someone can contrast it with the workload of Distributed Systems - CS 454).”
Spring 2024
Interesting courses for CS upper year (3A+) 13 points, 14 comments
“I am in CS, and I am just (after exams) done with with 2B. I only have CS 341 and CS 350 left in the mandatory courses for CS, and I will be on my 3A term in the coming Winter term. …”
u/james_dev_123: “… So, CS 454 seems like an obvious choice. But... I really don't remember much from my CS courses. A really interesting course I took was East Asian History. …”
CS 459 Co-requisites 3 points, 1 comment
u/Gauss_given_order: “How important/relevant are the co-reqs (CS 454/456) to the content in CS 459? When the course was offered as one of the 489s, there were no co-reqs, which makes me wonder why this change was made. Adjacently, why are these co-reqs to CS 489: Secure Programming? …”
Winter 2024
Most Useful CS course you took in your undergraduate career. 7 points, 10 comments
“Hello, this question is targeted more towards alumni or graduate/4th/5th year students but I was wondering which CS course in your undergrad you found was the most useful. …”
u/backguy: “CS 454 Distributed Systems. Super useful for anyone who plans on developing server-side or cloud software.”
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