University of Minnesota
Introduction to Distributed Systems
Class Information

Instructor: Abhishek Chandra (chandra AT umn DOT edu)
Class Time: Tu Th 8.15-9.30am
Location: Keller Hall 3-125

Office Hours:
Tu Th 9.30-10.30am, KH 4-209

TA: Kwangsung Oh (ohxxx222 AT umn DOT edu)
Office Hours: M W 3-4pm, KH 2-209

Course Overview:

Recent years have seen the emergence of several new applications and technologies in the domains of Web, e-commerce, multimedia, mobile, and cloud computing. Most of these systems are distributed in nature: consisting of large number of inter-connected computers, providing a unified computing system view to the users and programmers. Despite their apparent diversity, many of these systems are based on common foundations, and their design and implementation has led to several advances in the area of systems research and development.

In this course, we will study the foundational concepts relevant to distributed systems, that go beyond traditional desktop operating systems. In particular, this course will introduce concepts in distributed systems that span multiple CPUs, computers, and even locations, that are relevant to modern applications. Many of the concepts will be supplemented with case studies to provide a better understanding. This course is designed to build on the basic operating system concepts learned in CSCI 5103 or equivalent, and the goal of the course is to prepare students for undertaking systems research and real-world system development.


The text would be based on a combination of a textbook and selected research papers. The textbook is:
Required: "Distributed Systems (3rd Edition)", by Maarten van Steen and Andrew S. Tanenbaum, CreateSpace Independent Publishing Platform, ISBN-10: 1543057381, ISBN-13: 978-1543057386.
Note: You can download a free digital version of the textbook from the following URL:


CSCI 5103 or equivalent is recommended, along with an understanding of networking basics.