Lectures and Labs are spread over the week, on Monday, Wednesday, Thursday, and Fridays. The slots in red are on campus. 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 shcedule and slides: ** UNDER CONSTRUCTION – many changes expected **

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

NOTE. This is a tentative schedule, subject to change!

Class # Date Topic Slides Reading material
1 Mon, 30 Aug 2021 Introduction to concurrent programming info slides examples Ben-Ari 1, 2.1-2.3.
2 Mon, 30 Aug 2021 Races, locks, and semaphores slides examples Ben-Ari 2.4-2.7, 2.12, 6.1-6.5, 6.9.
3 Thu, 2 Sep 2021 Models of Concurrency and Synchronization Algorithms slides examples Ben-Ari 3.1-3.9, Herlihy & Shavit 2.3-2.4, 7.1-7.2
4 Fri, 3 Sep 2021 Java Tutorial tutorial-code
5 Mon, 6 Sep 2021 Synchronization Problems with Semaphores slides examples Ben-Ari 6.5-6.9
6 Thu, 9 Sep 2021 Monitors slides examples Ben-Ari 7.1-7.3, 7.5.
7 Fri, 10 Sep 2021 Introduction to Functional Programming in Erlang slides
8 Mon, 13 Sep 2021 Message-passing concurrency in Erlang slides examples
9 Wed, 15 Sep 2021 Synchronization problems with message passing slides examples
10 Mon, 20 Sep 2021 Parallelizing computations slides examples Herlihy & Shavit 16.1, 16.4
11 Thu, 23 Sep 2021 Parallel Linked Lists slides examples Herlihy & Shavit 9
12 Fri, 24 Sep 2021 Parallel Queues slides examples Herlihy & Shavit 9
13 Mon, 27 Sep 2021 Lock-free programming (STM) slides examples Herlihy & Shavit 10.1, 10.2, 10.5, 10.6, 18.1, 18.2
14 Fri, 1 Oct 2021 Verification of Concurrent Programming slides quiz Ben-Ari 4
15 Mon, 4 Oct 2021 Concurrency in weak memory models (to be moved earlier) slides test code
16 Fri, 15 Oct 2021 Invited Lecture (TBD)
17 Mon, 18 Oct 2021 TBD
18 Fri, 22 Oct 2021 Revision and exam preparation

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.