Principles of Distributed Computing (FS 2014)
This page is no longer maintained. Uptodate versions of lecture and exercise material can be found here.Distributed computing is essential in modern computing and communications systems. Examples are on the one hand largescale networks such as the Internet, and on the other hand multiprocessors such as your new multicore laptop. This course introduces the principles of distributed computing, emphasizing the fundamental issues underlying the design of distributed systems and networks: communication, coordination, faulttolerance, locality, parallelism, selforganization, symmetry breaking, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques, basically the "pearls" of distributed computing. We will cover a fresh topic every week.
Course prerequisites: Interest in algorithmic problems. (No particular course needed.)
Course language: English.
Lecture by
Roger Wattenhofer Wednesday 8.1510.00 @ CAB G 51.
Exercises organized by
Philipp Brandes, Wednesday 10.1512.00 @ CAB G 52 and Wednesday 13.1515.00 @ LFW E 13
The exam will take place on Saturday, August 16 from 9am to 11am @ HIL F61
Sample exams: 2003, 2004, 2005, 2006, 2007, 2009
Please note that the topics covered in this course change from year to year and thus some of the questions in those exams are not covered this year.
You can take a look at your corrected exam on Wednesday, the 17th of September, and on Monday, the 22nd of September. To do so, please visit our secretary Friederike Brütsch(office ETZ G88) on one of these days from from 9:30am to 11am or 12:30pm to 3pm.
Lecture material
Title  Lecture Notes  Exercises  Responsible Assistant  Additional Material  
Chapter 0 Introduction 
PDF 1:1 PDF 2:1 


Chapter 1 Vertex Coloring 
PDF 1:1 PDF 2:1 
Exercises Solutions 
Philipp Brandes 


Chapter 2 Leader Election 
PDF 1:1 PDF 2:1 
Exercises Solutions 
Pascal Bissig 


Chapter 3 Tree Algorithms 
PDF 1:1 PDF 2:1 
Exercises Solutions 
Pascal Bissig 


Chapter 4 Distributed Sorting 
PDF 1:1 PDF 2:1 
Exercises Solutions 
Stephan Kollmann 


Chapter 5 Shared Memory 
PDF 1:1 PDF 2:1 
Exercises Solutions 
Jara Uitto 


Chapter 6 Shared Objects 
PDF 1:1 PDF 2:1 
Exercises Solutions 
Sebastian Brandt 


Chapter 7 Maximal Independent Set 
PDF 1:1 PDF 2:1 
Exercises Solutions 
Tobias Langner 


Chapter 8 Locality Lower Bounds 
PDF 1:1 PDF 2:1 
Exercises Solutions 
KlausTycho Förster 


Chapter 9 Social Networks 
PDF 1:1 PDF 2:1 
Exercises Solutions 
Michael König 


Chapter 10 Synchronizers 
PDF 1:1 PDF 2:1 
Exercises Solutions 
Jochen Seidel 


Chapter 11 Hard Problems 
PDF 1:1 PDF 2:1 
Exercises Solutions 
Sebastian Brandt 


Chapter 12 Wireless Protocols 
PDF 1:1 PDF 2:1 
Exercises Solutions 
Philipp Brandes 


Chapter 13 Stabilization 
PDF 1:1 PDF 2:1 
Exercises Solutions 
Barbara Keller 


Chapter 14 PeertoPeer Computing 
PDF 1:1 PDF 2:1 
Exercises Solutions 
Michael König 


References
These books are available at CS text book collection.