Course book

It is not always fashionable or even possible to tie a course strongly to a textbook, but in our case we have a book that agrees quite largely with our course aims: Principles of Concurrent and Distributed Programming, 2nd Edition, by Mordechai (Moti) Ben-Ari, Addison-Wesley, 2006, ISBN 9780321312839. This book is therefore the major teaching tool for the course, and will be referred to in most lectures. We strongly recommend you ensure access to a copy.

Solutions to the problems in the book

Our understanding is that it is the author's intention to not make written solutions available to students, and that we teachers too are requested to not put solutions on the net. So we provide a wiki, accessible via the google group, where you can contribute your solutions, and read what other students have contributed. The wiki can also be used for solutions to old exams. You can start discussions on specific problems or issues on the wiki, and perhaps flag them on the group. We do also orally present some solutions in class. Note that one way to understand problems is to experiment with code, particularly in Promela.

There is an excellent book on programming in Erlang simply called Programming in Erlang. It deals quite a lot with Erlang's concurrency model and how to write concurrent programs. Cremona is known to sell it at occasions. Great book!

Additional reading (Java)

There are many other books on multithreaded programming in Java that you could refer to, and are easily found on the web. For example, a comparative review of 6 books. The focus of these books differs somewhat from that of our course.

Some quick comments on two books.

Many Java books have a brief chapter on concurrency. A fair example is the chapter in Object-Oriented Software Development Using Java, by Xiaoping Jia, Addison Wesley.

Additional reading (Erlang)

The online book Learn You Some Erlang For Great Good is also an excellent resource for beginning Erlang programmers.

Operating Systems: Three Easy Pieces

"Operating Systems: Three Easy Pieces", by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau is available online at

Concurrent Programming 2016 - Chalmers University of Technology & Gothenburg University