In this course, the textbook plays an important role, and the lectures will be keyed to it whenever possible. We will use slides from the book as well as slides of our own. These will not in general be available before the lecture, as the content of each lecture is decided dynamically depending on classroom discussions, Many of these discussions will use the blackboard.

It is therefore important that you bring a notebook and make your own notes, and that you understand that the slides are in no sense "lecture notes", or any kind of substitute for the textbook or even for the lectures. Slides are visual aides for the lecture, that is all. After the lecture, they may help you remember what was discussed.

In order to get an idea of the material we will cover in the course you can have a look at the lectures in previous editions of the course.

All the Erlang's material for the lectures is here

Lecture slides

Lecture 1 (19th January)

Slides (Introduction)

Lecture 2 (21st January)

Slides (Introduction cont.)

Lecture 3 (23rd January)

Slides (State diagrams, interleaving, atomic actions, critical sections)

Lecture 4 (26rd January)

Slides (Semaphores (chap. 6))

Lecture 5 (2nd February)

Slides (Semaphores, Monitors, Protected objects)

Lecture 6 (6th February)

Slides (Semaphores, Monitors, Protected objects) - Same slides than in lecture 5

Lecture 7 (9th February)

Slides (Message Passing)

Lecture 8 (11th February)

Slides (Functional programming and informal notation for processes)

Lecture 9 (16th February)

Lecture 10 (18th February)

Slides (Message Passing (concluded) and linda)

Lecture 11 (23rd February)

Slides (Critical Sections revisited, and Reasoning about Programs)

Lecture 12 (25th February)

Lecture 12 (25th February)

Lecture 13 (2nd March)

Lecture 14 (4th March)