CPSC 416

Distributed Systems

Course Description

Concepts and design of distributed systems. Communication architecture and models for interprocess communication. Process migration, naming, distributed file systems, fault tolerance, and concurrency control.

Scroll to see reviews

Add a Review for this course

Please ensure that your review is respectful and constructive. Read about UBC's aim for creating a safe and inclusive learning environment here. These reviews may take several days to process and will be scanned for inappropriate or malicious content.

Please enter a name/username.
Enter a valid url including the 'https://' prefix. (https://www.example.com)
Please enter your course review. [minimum length: 50 characters]

Enter your UBC CWL email here to enter in a raffle to win 50% off a CSSS Hoodie ($22.50 value) or one of five $10 AMS gift cards! Each course review is an entry in the raffle, with a maximum of five entries per person. Raffle will take place at the end of the 2022W2 term. This email will not be visible on the published review.

Email must end in ubc.ca.

I think 416 is underrated. You get to build complicated backend systems from scratch with no instructions, just a list of requirements. There is a lot of effort that you need to put a lot more thought in planning out what the pieces are and how they’ll fit together, as opposed to a course like 415, where every step is already neatly outlined. I’d put 340 and 416 as my top 2 courses.
/u/MushCakes, May 23 2019
Best course at UBC CS imo. You end up building non-trivial new distributed systems from scratch (under Ivan). This is the resume padder class when it comes to projects imo. Plus, this course forces you to design software and systems properly.
/u/vaastav05, May 23 2019

Historical grade information

Grades information from UBC Grades Database