We will try to have the lecture notes available on-line before the lecture so you can bring them to the lecture to do notes and (in case of errors) corrections. However, we are in the process of changing the course to extend the contents based on the Erlang programming language, so it might not happen that you get them ready to read before the lecture. For impatient students, you could check last year's web page (do not read the contents related to the programming language JR).
All the Erlang's material for the lectures is here
The goal of the course. Course Materials. The basic concepts of parallelism and concurrency.
Recommended reading from the book: Chapter 1 and Sections 2.4-2.9.
Peterson's algorithm. Introduction to semaphores and locks.
Recommended reading from the book: Section 3.1 - 3.3, 3.6, 3.7 and Sections 6.1 - 6.3. The book shows the Dekker's algorithm instead of Peterson's. The Dekker's algorithm is slightly more complex so please read the Peterson's algorithm from the slides.
Reacting to several message, references, selective receive.
Client-server architecture, distributed Erlang.
Generic server implementation
Synchronization barrier
Resource allocation
Readers/writers