15-440/640 Distributed Systems

15-440/640 - COURSE PROFILE

Course Level:
Units: 12Special Permission Required: No
(if yes, please see Notes below)

Frequency Offered: Generally offered every spring and fall - confirm course offerings for upcoming semesters by accessing the university Schedule of Classes

Course Relevance (who should take this course?): Students who are interested in how current large-scale distributed systems, such as those used by Google, Facebook and Microsoft, are designed, built and tested. Any students wanting to know how real world distributed systems work and how to build and debug them from scratch.

Key Topics:Background Knowledge:Assessment Structure:
  • Scarcity
  • Scheduling
  • Concurrency
  • Naming
  • Abstraction
  • Modularity
  • Imperfect communication and other types of failures
  • Security
  • The use of monitoring and debugging in problem solving

Most Recent Syllabus Available: http://www.cs.cmu.edu/~srini/15-440-all/2016.Fall/syllabus.html

15-213 is a pre-requisite for basic computer systems knowledge, and programming experience.

Sample Assignment: https://github.com/CMU-440-F16/HW

Sample class notes: available at http://www.cs.cmu.edu/~srini/15-440/syllabus.html

  • Projects: 45%
  • Problem Sets: 20%
  • Midterm: 15%
  • Final: 20%

Sample Exam: http://www.cs.cmu.edu/~srini/15-440/exams.html

Sample Lecture Recording: not applicable

Course Objectives:
  • First, for students to gain an understanding of the principles and techniques behind the design of distributed systems, such as locking, concurrency, caching, prefetching, scheduling, and communication across the network.
  • Second, for students to gain practical experience designing, implementing, and debugging real distributed systems.

Course Website: http://www.cs.cmu.edu/~15-440/

Learning Resources:Pre-reqs, Cross list, Related: Notes: 
  • Course textbook
  • Optional readings
  • Piazza
  • Prerequisites Required: 15-213
  • Minimum Grades in Prereqs: C in 15213 (B- or better is strongly recommended)
  • Corequisites: None
  • Prerequisite for: 
  • Anti-requisites:
  • Cross-Listed: 
  • Substitutes: 18213 for 15213, 18243 for 15213, 15513 for 15213
  • Related Courses: None
  • Reservations: Some reservations are for Undergraduates in Electrical and Computer Engineering; Some reservations are for Undergraduates in Computer Science Some reservations are for Undergraduates; Some reservations are for Students in Qatar Computer Science

Graduate students MUST enroll in the graduate level version of the course. Graduate students will NOT be enrolled into the undergraduate level course and will be removed from the waitlist without notification.

 Department Website: College Website: updated October 2017
https://www.csd.cs.cmu.edu https://www.scs.cmu.eduBack to Course Profile List