Overview

CSCI 1380 is an undergraduate course in distributed computer systems. We will explore the fundamental principles and practice underlying networked information systems.

We first aim to give a brief introduction to the landscape and the problems we face when building highly distributed systems that are reliable, scalable, and maintainable.
Then, we will dive deeper into important distributed computing mechanisms (e.g. replication, partitioning, consensus, etc.) and how they are realized in distributed databases and file systems as well as web-based and mobile information systems.
At the end of the course, we will examine industry use cases of distributed systems, with room for guest lectures!

As students of this course, you will embark on a project called Modist (Modular distributed system for teaching) where you will build much of the functionality of a distributed key-value store with various distributed systems features.

Prerequisites: CSCI 0320, CSCI 0330, or permission from the instructor.