University of Minnesota
Dispersed Data-driven Computing

Class Information

Course Number: 34618
Class Time: Tu Th 9.45-11am
Location: Lind Hall 216 Elliott Hall N647

Instructor: Abhishek Chandra

email: chandra AT cs DOT umn DOT edu
Office: Keller Hall 4-209
Phone: 612-626-1283
Office Hours: Tu 1-2pm, Th 11am-12pm

Course Overview:

In recent years, there has been a dramatic increase in the pervasiveness and heterogeneity of computing infrastructure: ranging from multiple data centers to computing resources on the edge of the network, such as servers, desktops, laptops, and even smaller-form mobile devices. Similarly, large quantities of data are now generated in a highly diffuse manner: across different geographic locations (e.g., weather data, access logs for content providers such as Netflix), from millions of user devices (e.g., tweets, pictures, and videos) and sensors embedded around us (e.g., energy and ambient readings in smart homes and cities). There is a growing demand to extract meaningful and timely knowledge from such diffuse data across several scientific, commercial, and social domains. These trends suggest the need for a dispersed data-driven computing paradigm: computing with data originating at disparate locations, utilizing computational and storage resources that are themselves highly distributed. In this course, we will examine dispersed computing from a systems perspective.

Topics would include:

  • Edge and Fog computing
  • Geo-distributed computing and storage
  • Interactions between Mobile/IoT, Cloud, and Edge computing


No textbook; the course material would be based on recent research publications in top systems conferences, workshops, and journals, as well as technical articles and blogs.

Course Work:

The course is designed to be student-driven and interactive. The classes would be based on student presentations of selected research papers with an emphasis on class discussion. Students will also be given short assignments (e.g., writing paper critiques; gathering related information from external blogs and technical articles; giving short demos of relevant software artifacts and projects, etc.). In addition, there would be a semester-long course project to be done in groups of 2-3 students, with multiple milestones along with a final report and presentation.


This course is targeted towards students with strong interest in computer systems (OS, Distributed Systems, Networking, Databases, etc.). Background in Operating Systems (Equivalent of CSCI 5103) and basic understanding of Computer Networking (Equivalent of CSCI 4211) is required. Background in Distributed Systems (Equivalent of CSCI 5105) is recommended, though optional. Instructor permission is needed to enroll in the course - please specify your background and whether you satisfy the pre-reqs.