Links to courses using this book
(updated 30th October 2003)
A course on Operating Systems taught by Kay Robbins of the Division
of Computer Science at the University of Texas at San Antonio.
This is a required course for all
first year graduate students. It covers Chapters 1 to 9 plus
Chapter 17. There are links to the slides, projects, readings
and resources from the course taught in spring semester 2003.
This site contains four interesting projects, e.g. a proxy server
to monitor web traffic. There are also 'post mortems' describing
errors made by students in carrying out the projects. Here are
links to the course as given in 2002
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 2003. 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 on advanced operating systems being taught by Clifford Neuman at the University of Southern California in autumn 2003. 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 Concurrent and Distributed Software Systems last taught by Sanjeev Setia in the Department of Computer Science at George Mason University in Spring 2003. This is a graduate level course. This site contains some slides that include the
book's figures. It also contains interesting assignments on multi-threaded
programming, http client and server and a shared replicated calendar
using CORBA or Java RMI.
A course on Topics in Systems and Networks being taught in autumn 2003 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 and four assignments covering aspects
of the course such as protocols, mutual exclusion and fault tolerance.
A course on Distributed Operating Systems being taught in autumn 2003 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 Computing Systems taught in Spring 2001 by Riccardo Bettati
in the Department of Computer Science at Texas A&M University.
This site contains a comprehensive
set of lecture slides. It also has specifications of projects
(one on implementation of DSM, another on atomic ordered multicast
of messages. with and without the use of IP Multicast and a third
on a 'Distributed Chat Service'). This is an introductory graduate
course, requiring little background, except some programming
experience for the projects which are important.
A course on Distributed Systems taught by Stefan Leue of the Institute for Computer Science at Albert-Ludwigs University, Freiburg in autumns 2002 and 3. 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 email@example.com).
A course on Distributed Operating Systems taught by Paul Tymann of the Computer
Science Department at the Rochester Institute of Technology,
NY in March - May 2001. This is a second year graduate course.
These pages contains a set of lecture slides and some interesting
assignments, for example to implement 'finger' over TCP and to
design and implement a distributed file system that uses security
tickets, first over UDP and then by means of RMI.
A course on Distributed Computing Systems being taught by Andrew Black at the
Department of Computer Science and Engineering at Oregon Graduate
Institute. This is a graduate level course taught mainly in seminar
style. The site contains some useful material for students on
how to read and summarise research papers. In addition there
are some sets of lectures notes and slides, as well as homework
A course Distributed Systems on the Internet coordinated by Professor Michel Dagenais 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 Systems was taught in Spring 2002 by Professor
Fabio Gaviao of the Department of Computer Science at the FAI
- Faculdade de Administração e Informática
in Brazil. He also gives the course at UNIFEI -
the Federal University of Itajuba. It is a fourth year undergraduate
course. These pages are written in Portuguese
with an English summary. This course uses Chapters 1-5, 7, 8
and 10 of our book. A course outline is given as well as lecture
slides for the first 5 chapters, and two exercises that address
issues from Chapters 1 and 2.
A course on Distributed Systems last taught in Spring 2003 by Jane Hillston 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 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.