Lectures

Schedule

We normally have two lectures per week, one on Monday and one on Friday, both at 15:15–17:00. There is one lecture on a Thursday at 08:00–09:45. See below for a more precise schedule. See the official schedule on TimeEdit.

Slides for the Textbooks

Slides by the textbook authors can be found at:

  1. Herlihy, Shavit: The Art of Multiprocessor Programming
  2. Ben-Ari: Principles of Concurrent and Distributed Programming

These slides are frequently used during our lectures. They also help link the lectures to the textbooks, which we strongly recommend you study.

Slides from previous terms

They can be found here.

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.

If you want to get an idea of the material covered in the course ahead of time, the lectures slides from previous course instances are available here

Class # Date Topic Slides Reading material
1 Mon, 31 August 2020 Introduction to concurrent programming info slides examples Ben-Ari 1, 2.1-2.3.
2 Mon, 31 Aug 2020 Races, locks, and semaphores slides examples Ben-Ari 2.4-2.7, 2.12, 6.1-6.5, 6.9.
3 Fri, 4 Sep 2020 Models of Concurrency and Synchronization Algorithms slides examples quiz Ben-Ari 3.1-3.9, Herlihy & Shavit 2.3-2.4, 7.1-7.2
4 Mon, 7 Sep 2020 Models of Concurrency and Sync Algs ++ Java Tutorial quiz tutorial-code
4 Thu, 10 Sep 2020 Synchronization Problems with Semaphores slides examples quiz Ben-Ari 6.5-6.9
5 Fri, 11 Sep 2020 Monitors slides examples quiz Ben-Ari 7.1-7.3, 7.5.
6 Mon, 14 Sep 2020 Introduction to Functional Programming in Erlang slides
7 Fri, 18 Sep 2020 Concurrency in weak memory models (by Andreas Lööw) slides test code
8 Mon, 21 Sep 2020 Introduction to Functional Programming in Erlang (cont) slides
9 Fri, 25 Sep 2020 Message-passing concurrency in Erlang slides examples quiz
10 Mon, 28 Sep 2020 Synchronization problems with message passing slides examples quiz
11 Fri, 2 Oct 2020 Functional ProgrammingXP: The Industrial Experience (by Karol Ostrovsky) slides examples
10 Mon, 5 Oct 2020 Parallelizing computations slides examples Herlihy & Shavit 16.1, 16.4
12 Mon, 12 Oct 2020 Parallel Linked Lists slides examples quiz Herlihy & Shavit 9
12 Fri, 16 Oct 2020 Parallel Linked Lists (cont) and Parallel Queues slides examples quiz
13 Mon, 19 Oct 2020 Lock-free programming (cont: STM) and exam revision slides examples quiz Herlihy & Shavit 10.1, 10.2, 10.5, 10.6, 18.1, 18.2
14 Skipped Models and Languages of Concurrent computation slides Ben-Ari 8,9
15 Fri, 23 Oct 2020 Verification of Concurrent Programs slides Ben-Ari 4
16 ??? Formal reasoning, Examples, and Proofs, Exam prep

Lecture material from previous editions

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

Menu