Course book

The lectures and slides cover the course topics and try to be self-content (you will find lot of code on them). Nevertheless, the assigned course book is Principles of Concurrent and Distributed Programming, 2nd Edition by Mordechai (Moti) Ben-Ari. Addison-Wesley, ISBN 0-321-31283-X.

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.