Full book (PDF, 200+ pages).
This free online textbook is an introduction to the theory of distributed algorithms, with focus on distributed graph algorithms (network algorithms). The topics covered include:
No prior knowledge of distributed systems is needed. A basic knowledge of discrete mathematics and graph theory is assumed, as well as familiarity with the basic concepts from undergraduate-level courses on models on computation, computational complexity, and algorithms and data structures.
This textbook was written to support the lecture course CS-E4510 Distributed Algorithms at Aalto University. The course is worth 5 ECTS credits. There are 12 weeks of lectures. Each week we will cover one chapter of this book, and our students are expected to solve the quiz and at least 3 of the exercises from the chapter.
The book is also available as individual chapters. For Chapters 1–11 we have prepared short introductory videos. The lecture slides that we have used are available here for download, but please note that they are not entirely self-contained—many of them serve mainly as a background on top of which we draw during the lectures.
The book and all other material on this web page was prepared by Juho Hirvonen and Jukka Suomela. The content is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) license—you are free to share and adapt this material, as long as you give appropriate credit to the authors.