Office of the Registrar
Campus Address
Hanover, NH
03755-3529
Phone: (603) 646-xxxx
Fax: (603) 646-xxxx
Email: reg@Dartmouth.EDU

New Undergraduate Course Supplement 2024


COSC 49.13 Distributed Computing: Algorithms and Verification

Distributed systems are everywhere—from the shared-memory multiprocessors in our phones and laptops to cloud computing data centers and the internet itself. These systems need to safely and efficiently compute while overcoming the myriad challenges posed by asynchrony, non-determinism, and faulty or adversarial peers.

In this course, we study algorithms for distributed systems and understand how to mathematically reason about these algorithms. We will learn how to formally model distributed systems and distributed problems, how to design distributed and multiprocessor algorithms, and how to formally verify the correctness of such algorithms. We will also learn how to show that certain problems cannot be solved efficiently or are even impossible to solve. Topics include: distributed algorithms, shared-memory algorithms, fault-tolerance, and verification.

Degree Requirement Attributes

Dist:QDS

The Timetable of Class Meetings contains the most up-to-date information about a course. It includes not only the meeting time and instructor, but also its official distributive and/or world culture designation. This information supersedes any information you may see elsewhere, to include what may appear in this ORC/Catalog or on a department/program website. Note that course attributes may change term to term therefore those in effect are those (only) during the term in which you enroll in the course.

Department-Specific Course Categories

Computer Science