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.
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 |
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.