George Coulouris, Jean Dollimore and Tim Kindberg

Distributed Systems
Concepts and Design

Fourth Edition

HomeReferencesInstructors GuideErrataAdditional materialContents and PrefaceAuthors
Links to courses using CDK4 Supplementary material

Use the links above to access the code from the book, a set of links to courses that use the book or the set of supplementary reading material taken from previous editions.


Supplementary material by chapter

Ch 1 Ch 11
Ch 2 Ch 12
Ch 3 Ch 13
Ch 4 Ch 14
Ch 5 Ch 15
Ch 6 Ch 16
Ch 7 Ch 17
Ch 8 Ch 18
Ch 9 Ch 19
Ch 10 Ch 20

Click on a chapter number to access the page for the relevant chapter.

Courses using Ed 4 of the book

This list will include only courses with useful supplementary material on their websites. If you have a course with its own web page that you would like us to add to this list, please contact the authors.

The website for our third edition contained links to some of the courses using our book. Each of these courses has its own web page with a wealth of interesting material. You should be able to find ideas for projects and class exercises in those pages. You can also see the scope of the syllabus taught in various places throughout the world at both masters and undergraduate level. We are now compiling a set of links to courses that use the fourth edition.

    A course on Distributed Systems taught since Autumn 2001 by Ian Wakeman in the School of Cognitive Science at Sussex University. This is a third year undergraduate course. The website contains 4 practical assignments: an implementation of a protocol using Java sockets; a distributed diary using Java RMI; the addition of optimistic concurrency control to the distributed diary; and the design of a Gnutella client. The site also contains some useful programming exercises (e.g. on RMI and testing file latency) as well as a set of lecture notes in html.

    A course on advanced operating systems being taught by Dongho Kim and Tatyana Ryutor at the University of Southern California in autumn 2005. This is a graduate course that uses our book to supplement individual readings. This page contains some useful specifications for reports on readings and research proposals as well as a set of lecture notes.

    A course on Distributed Systems taught by Petru Eles of Department of Computer and Information Science at the University of Linkoping in Sweden last taught in Spring 2005. This is a "senior undergraduate" course given in the 4th year. Prerequisites are "operating systems" and a course in Programming (C++ and/or Java). This page contains an interesting set of projects based on the idea of electronic postcards implemented in a variety of different ways, for example, using CGI, servlets or CORBA. It also contains a set of slides for 12 lectures.

    A course Distributed Systems on the Internet coordinated by Professor Alejandro Quintero of the Department of Electrical Engineering at the École Polytechnique in Montréal. It is a fourth year undergraduate course. These pages are written in French. They contain a course outline, lecture notes, and four projects that address: client server communication using TCP sockets; performance measurement of a simple CORBA application; a replicated name server; and a web server that accesses the SQL interface to a database server.

    A course on Distributed Operating Systems to be taught in autumn 2005 by Angel Alvarez Rodrigues at the Technical University of Madrid to fifth years students using Chapters 4, 6, 7, 8, 10. 11 and 17. These web pages are in written Spanish. They contain a brief course outline and some sets of downloadable lecture notes in Spanish.

    A course on Distributed Systems to be taught in Autumn 2005 by Bjoern Franke in the School of Informatics at the University of Edinburgh. This course is for masters and 4th year undergraduate students. The website contains two interesting practical exercises: a CORBA service for looking up acronyms with persistence and a derived interface; and a simulation of the ring-based bully algorithm with a graphical interface written in Java. In addition the site contains lecture slides, tutorial handouts and sample programs.

    A foundation course on Distributed Systems taught from 2005 by Raj Buyya from the Department of Computer Science and Software Engineering at the University of Melbourne, Australia. This site contains slides for chapters (1-3 and 4-6) which can be downloaded as well as the specification of two interesting practical projects.

    Raj Buyya is also directing a new Masters of Engineering in Distributed Computing Degree. Its website refers to the above foundation course but includes in addition sylabuses and other additional material for modules on cluster and grid computing, distributed algorithms and other related topics.

    A course in Distributed Systems taught by Ciarán O'Leary at the Dublin Institute of Technology. It is taught to students at the final stage of a BSc Information Technology. The course ran from September 2005 to May 2006. Slides are provided for Chapters 1, 2, 3, 4, 5, 7, 9, 11 (partial), 12 (partial), 13 (partial), 14 (partial) and 19. Also provided are Java based labs and assignments.

    A course on Distributed Systems taught by Stefan Leue of the Institute for Computer Science at Albert-Ludwigs University, Freiburg in years up to 2005/6. This course is a Masters level course. The web pages include a useful set of lecture notes in pdf. If individual instructors wish to receive the powerpoint masters, they may contact Stefan Leue (at

    A course on Distributed Software Systems to be taught by Sanjeev Setia in the Department of Computer Science at George Mason University in Spring 2006. This is a graduate level course. This site contains some interesting assignments on http client and server and a shared replicated calendar using CORBA or Java RMI.

    A course on Distributed Systems and Algorithms being taught in autumn 2005 by Sukumar Ghosh in the Department of Computer Science at the University of Iowa. It is an elective course for first-year graduate students and senior undergraduate students. This page contains the syllabus. The exercises posted on the course webpage are from the manuscript of Sukumar Ghosh's new a book on Distributed Systems and Algorithms that he hopes will appear next year.

    This list is under construction....