Lectures and Labs are spread over the week, on Monday, Wednesday and Fridays. See below for a more precise schedule. See the official schedule on TimeEdit.
Slides by the textbook authors can be found at:
These slides are frequently used during our lectures. They also help link the lectures to the textbooks, which we strongly recommend you study.
They can be found here.
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, 18 Jan 2021 | Introduction to concurrent programming | info slides examples | Ben-Ari 1, 2.1-2.3. |
2 | Mon, 18 Jan 2021 | Races, locks, and semaphores | slides examples | Ben-Ari 2.4-2.7, 2.12, 6.1-6.5, 6.9. |
3 | Wed, 20 Jan 2021 | 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 | Wed, 20 Jan 2021 | Models of Concurrency and Sync Algs (Cont.) ++ Java Tutorial | quiz tutorial-code | |
5 | Fri, 22 Jan 2021 | Synchronization Problems with Semaphores | slides examples quiz | Ben-Ari 6.5-6.9 |
6 | Wed, 27 Jan 2021 | Monitors | slides examples quiz | Ben-Ari 7.1-7.3, 7.5. |
7 | Wed, 27 Jan 2021 | Introduction to Functional Programming in Erlang | slides | |
8 | Mon, 01 Feb 2021 | Message-passing concurrency in Erlang | slides examples quiz | |
9 | Mon, 08 Feb 2021 | Synchronization problems with message passing | slides examples quiz | |
10 | Wed, 10 Feb 2021 | Parallelizing computations | slides examples | Herlihy & Shavit 16.1, 16.4 |
11 | Mon, 15 Feb 2021 | Parallel Linked Lists | slides examples quiz | Herlihy & Shavit 9 |
12 | Wed, 17 Feb 2021 | Lock-free programming | slides examples quiz | Herlihy & Shavit 10.1, 10.2, 10.5, 10.6, 18.1, 18.2 |
13 | Wed, 17 Feb 2021 | Verification of Concurrent Programming | slides | Ben-Ari 4 |
14 | Fri, 19 Feb 2021 | Concurrency in weak memory models (by Andreas Lööw) | slides test code | |
15 | Mon, 01 Mar 2021 | Functional programming: The Industrial Experience (by Karol Ostrovsky) | ||
16 | Wed, 10 Mar 2021 | Revision and exam preparation |
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.