Lectures and Labs are spread over the week, on Monday, Wednesday, Thursday, and Friday. As for what time they will be given, see below for a more precise schedule. See also the official schedule on TimeEdit.
Slides by the textbook authors can be found at:
These slides 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.
One file containing all lessons except lesson 6 is available here. This file may not include later changes done while the course is running. In particular, this includes all of lesson 6.
NOTE. This is a tentative schedule, subject to change!
Lecture # | Date | Topic | Slides | Reading material |
---|---|---|---|---|
1 | Mon, Aug 28 | Introduction to the course | general course info slides examples | Ben-Ari 1, 2.1-2.3. |
2 | Mon, Aug 28 | Races, locks and semaphores | slides examples | Ben-Ari 2.4-2.7, 2.12, 6.1-6.5, 6.9. |
|
Thu, Aug 31 | Java Tutorial | java tutorial quiz | |
3 | Fri, Sep 1 | 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 |
3 | Mon, Sep 4 | Models of concurrency and synchronization algorithms (cont) | slides examples quiz | Ben-Ari 3.1-3.9, Herlihy & Shavit 2.3-2.4, 7.1-7.2 |
4 | Thu, Sep 7 | Synchronization problems with semaphores | slides examples quiz | Ben-Ari 6.5-6.9 |
5 | Fri, Sep 8 | Monitors | slides examples | Ben-Ari 7.1-7.3, 7.5. |
6 | Mon, Sep 11 | Parallelizing computations | slides examples | Herlihy & Shavit 16.1, 16.4 |
7 | Wed, Sep 13 | Introduction to functional programming in Erlang | slides | |
7 | Mon, Sep 18 | Introduction to functional programming in Erlang (cont) | slides | |
8 | Thu, Sep 21 | Message-passing concurrency in Erlang | slides examples | |
|
Fri, Sep 22 | Erlang Tutorial | erlang-tutorial | |
9 | Mon, Sep 25 | Synchronization problems with message-passing | slides examples | |
10 | Mon, Oct 2 | Parallel linked lists | slides examples | Herlihy & Shavit 9 |
11 | Mon, Oct 9 | Parallel Queues and Lock-free programming | slides examples | Herlihy & Shavit 10.1, 10.2, 10.5, 10.6, 18.1, 18.2 |
12 | Fri, Oct 13 | Data Races wo Locks in Opera - Denis Furian | slides | |
13 | Mon, Oct 16 | Weak Memory Models or Verification | slides test code | |
14 | Fri, Oct 20 | Revision |
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.