Distributed Computing through Combinatorial Topology

Not offered this year
Offered occasionally, last taught:

Summer 2018

In the past decade, exciting new techniques have emerged for analyzing distributed and concurrent systems and algorithms. These new techniques are based on notations adapted from topology, a field of mathematics concerned with properties of objects that are innate, in the sense of being preserved by continuous deformations such as stretching or twising. In particular, we use ideas adapted from *combinatorial topology*, a branch of topology that focuses on discrete constructions.

Although computer science itself is based on discrete mathematics, combinatorial topology and its applications may still be unfamiliar to many computer scientists. For this reason, this course provides a self-contained, elementary introduction to the concepts from combinatorial topology needed to analyze distributed computing. Conversely, while the systems and models used here are standard in computer science, they may be unfamiliar to students with a background in pure or applied mathematics. For this reason, this course also provides a self-contained, elementary description of standard notions of distributed computing.

Prerequisites: CSCI 1760 recommended