Spring 2026 - CMPT 431 D100
Distributed Systems (3)
Class Number: 5477
Delivery Method: In Person
Overview
-
Course Times + Location:
Jan 5 – Apr 10, 2026: Thu, 2:30–5:20 p.m.
Burnaby
-
Instructor:
Keval Vora
keval@sfu.ca
-
Prerequisites:
(CMPT 201 or CMPT 300) and CMPT 371, both with a minimum grade of C-.
Description
CALENDAR DESCRIPTION:
An introduction to distributed systems: systems consisting of multiple physical components connected over a network. Architectures of such systems, ranging from client-server to peer-to-peer. Distributed systems are analyzed via case studies of real network file systems, replicated systems, sensor networks and peer-to-peer systems. Hands-on experience designing and implementing a complex distributed system. Students with credit for CMPT 401 before September 2008 may not take this course for further credit.
COURSE DETAILS:
The course aims to provide an understanding of principles involved in designing modern parallel and distributed software systems. It focuses on the fundamentals of parallel algorithm design and parallel programming techniques by covering key concepts like concurrency, synchronization, consistency models and fault tolerance.
Topics
- Principles of Parallel Algorithm Design
- Shared Memory Programming
- Distributed Memory Model & Programming
- Consistency Models
- Fault Tolerance
- Scalable Analytics
Grading
NOTES:
Details about grading will be discussed in the first week of class.
REQUIREMENTS:
A solid foundation in discrete math, data structures, and computer organization, along with proficiency in C++ programming and a strong understanding of operating systems.
Materials
MATERIALS + SUPPLIES:
Reference Books
- The Art of Multiprocessor Programming, Maurice Herlihy and Nir Shavit, Elsevier/Morgan Kaufmann, 2012, 9780123977953
- Distributed Computing: Principles, Algorithms, and Systems, Ajay D. Kshemkalyani and Mukesh Singhal, Cambridge University Press, 2008, 9780511805318
REQUIRED READING NOTES:
Your personalized Course Material list, including digital and physical textbooks, are available through the SFU Bookstore website by simply entering your Computing ID at: shop.sfu.ca/course-materials/my-personalized-course-materials.
Department Undergraduate Notes:
-
Students must attain an overall passing grade on the weighted average of exams in the course in order to get a C- or higher.
-
All student requests for accommodations for their religious practices must be made in writing by the end of the first week of classes, or no later than one week after a student adds a course. After considering a request, an instructor may provide a concession or may decline to do so. Students requiring accommodations as a result of a disability can contact the Centre for Accessible Learning (caladmin@sfu.ca).
Registrar Notes:
ACADEMIC INTEGRITY: YOUR WORK, YOUR SUCCESS
At SFU, you are expected to act honestly and responsibly in all your academic work. Cheating, plagiarism, or any other form of academic dishonesty harms your own learning, undermines the efforts of your classmates who pursue their studies honestly, and goes against the core values of the university.
To learn more about the academic disciplinary process and relevant academic supports, visit:
- SFU’s Academic Integrity Policy: S10-01 Policy
- SFU’s Academic Integrity website, which includes helpful videos and tips in plain language: Academic Integrity at SFU
RELIGIOUS ACCOMMODATION
Students with a faith background who may need accommodations during the term are encouraged to assess their needs as soon as possible and review the Multifaith religious accommodations website. The page outlines ways they begin working toward an accommodation and ensure solutions can be reached in a timely fashion.