We normally have two classes per week, one on Monday and one on Wednesday, both at 10:00–11:45. 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 21 January 2019 Introduction to concurrent programming info slides examples Ben-Ari 1, 2.1-2.3
2 21 January 2019 Races, locks, and semaphores slides examples Ben-Ari 2.4-2.7, 2.12, 6.1-6.5, 6.9
3 23 January 2019 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 28 January 2019 Synchronization problems with semaphores slides examples Ben-Ari 6.5-6.9
5 30 January 2019 Monitors slides examples quiz Ben-Ari 7.1-7.3, 7.5. The code for the tutorial during the second half of the lecture can be found here
6 4 February 2019 Introduction to functional programming in Erlang slides Hébert Starting out-Errors and exceptions
4 February 2019 Erlang Tutorial Tutorial code can be found here
7 11 February 2019 Message-passing concurrency in Erlang slides examples Hébert Hitchiker’s guide to concurrency-Clients and servers
8 13 February 2019 Synchronization problems with message passing slides examples quiz
9 18 February 2019 Parallelizing computations slides examples Herlihy & Shavit 16.1, 16.4
10 20 February 2019 Parallel linked lists slides examples Herlihy & Shavit 9
11 25 February 2019 Lock free programming slides examples quiz Herlihy & Shavit 10.1, 10.2, 10.5, 10.6, 18.1, 18.2
27 February 2019 Guest lecture by Niklas Gustavsson, Spotify slides
12 4 March 2019 Models and languages of concurrent computation slides Ben-Ari 8, 9
13 6 March 2019 Verification of concurrent programs. Recap of main topics of the course (quiz) slides quiz 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 11 March 2019 Formal reasoning examples and proofs, exam prep. proof-tutorial

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.