Spring 2022

Distributed Algorithms

Listed in: Computer Science, as COSC-373


Will Rosenbaum (Section 01)


A distributed system consists of a network of processors that communicate by exchanging messages. No processor has a global view of the network, so neighboring processors must communicate in order for the system to perform a given task. In this course, we will study the theory of distributed systems. We will consider fundamental algorithmic tasks---for example, finding spanning trees, maximal independent sets, and graph coloring---in several models of distributed computing. Our goal is to understand under what conditions these tasks can be performed efficiently, if at all. While this course is primarily theoretical, we will discuss applications of the theory to modern computing paradigms (e.g., MapReduce).

Requisite: COSC 311. Limited to 30 students. Spring semester. Professor Rosenbaum.

Students who enroll in this course will likely encounter and be expected to engage in the following intellectual skills, modes of learning, and assessment: written and online course materials, in-person lectures, and group discussion. Assessment will likely be based on students' written homework solutions, in-class quizzes, and in-class or take-home exams. Students with documented disabilities who will require accommodations in this course should be in consultation with Accessibility Services and reach out to the faculty member as soon as possible to ensure that accommodations can be made in a timely manner.


2023-24: Not offered
Other years: Offered in Spring 2022