We normally have two classes per week, one on Monday and one on Friday, both at 15:15–17:00. See below for a more precise schedule, where there is no lecture on dates corresponding to cells with greyed out text or no text. See the official schedule on TimeEdit for information about the rooms.

Lecture slides

We will try to make the slides/lecture notes available online on this page the day before each class. A new version of the slides may be uploaded after class according to what has actually been presented. We encourage you to take notes independent of the slides material available before class.

Class # Date Topic Slides References
1 3 September 2018 Introduction to concurrent programming slides examples Ben-Ari 1, 2.1-2.3
2 3 September 2018 Races, locks, and semaphores slides examples Ben-Ari 2.4-2.7, 2.12, 6.1-6.5, 6.9
3 7 September 2018 Models of concurrency & synchronization algorithms slides examples quiz Ben-Ari 3.1-3.9, Herlihy & Shavit 2.3-2.4, 7.1-7.2
4 10 September 2018 Synchronization problems with semaphores slides examples Ben-Ari 6.5-6.9. The code from the second half of the lecture can be found here
5 13 September 2018 Monitors slides examples quiz Ben-Ari 7.1-7.3, 7.5
6 14 September 2018 Introduction to functional programming in Erlang slides Hébert Starting out-Errors and exceptions
7 17 September 2018 Message-passing concurrency in Erlang slides examples Hébert Hitchiker’s guide to concurrency-Clients and servers
8 21 September 2018 Synchronization problems with message passing slides examples quiz
9 24 September 2018 Parallelizing computations slides examples Herlihy & Shavit 16.1, 16.4
10 28 September 2018 Parallel linked lists slides examples Herlihy & Shavit 9
11 1 October 2018 Lock free programming slides examples quiz Herlihy & Shavit 10.1, 10.2, 10.5, 10.6, 18.1, 18.2
12 5 October 2018 Models and languages of concurrent computation slides slides-linda promela-tutorial-message-passing Ben-Ari 8, 9
13 8 October 2018 Verification of concurrent programs. Recap of main topics of the course slides quiz proof-tutorial Ben-Ari 4. For a good explanation of LTL, see Section 3.2 of the book “Logic in Computer Science” by Huth and Ryan, link
14 15 October 2018 Further examples and proofs
15 19 October 2018 Further examples and proofs updated-proof-tutorial We did the exams from October and December 2017. These are posted on the exam page together with solutions. The attached updated proof tutorial includes a proof sketch for the critical section program from the October 2017 exam.

Lecture material from previous editions

If you want to get an idea of the material covered in the course before, here are the lecture notes used in previous editions of the course.