Overview of the Lectures

We will try to have the lecture notes available on-line before the lecture so you can bring them to the lecture to do notes and (in case of errors) corrections. However, we are in the process of using a new book so it might not happen that you get them ready to read before the lecture. There will not be big changes in the slides for this year, so the impatience students can refer to last year's lectures web-page.

  • Introduction to the course. The goal of the course. Course Materials. The basic concepts of parallelism and concurrency.
    Slides for viewing on screen
    Code examples from the lecture.

    Recommended reading from the book: Chapter 1 and Sections 2.4-2.9.

  • The shared update problem; Peterson's algorithm. Introduction to semaphores and locks.
    Slides for viewing on screen.
    Code examples from the lecture.

    Recommended reading from the book: Section 3.1 - 3.3, 3.6, 3.7 and Sections 6.1 - 6.3. The book shows the Dekker's algorithm instead of Peterson's. The Dekker's algorithm is slightly more complex so please read the Peterson's algorithm from the slides.

  • Semaphores; dining philosophers and Producer-consumers/buffers.
    Slides for viewing on screen
    Code examples from the lecture.

    Recommended reading from the book: Section 6.7 and 6.9.


  • Monitors.
    Slides for viewing on screen

    Recommended reading from the book: Section 7 to Section 7.4.


  • Monitors continued.
    Slides for viewing on screen

    Recommended reading from the book: Section 7.6.


  • Introduction to Message Passing.
    Slides for viewing on screen
    Code examples from the lecture.

    Recommended reading from the JR book (look for the online version in the Course Literature section): Chapter 3 and Sections 4, 4.1, 4.2, 4.3, 7.1, 7.2, and 7.3.


  • Message Passing continued. Rendezvous and the input statement.
    Slides for viewing on screen
    Code examples from the lecture.

    Recommended reading from the JR book (look for the online version in the Course Literature section): Section 7.4 and Chapters 8 and 9.

  • Part I: Linda.

    Recommended reading from the book: Section 9, 9.1, 9.2, 9.3, and 9.4.

    Part II: Introduction to Erlang.

    Slides for viewing on screen
    Code examples from the lecture.
  • Erlang, continued.
    Slides for viewing on screen, and
    Code examples from the lecture.
  • The Semantics of Concurrent Programming Memory (Lecture by K.V.S. Prasad)
    Slides for viewing on screen on screen. Support slides from Ben-Ari's book (K.V.S. Prasad refers to these slides in his material). These slides are published in Ben-Ari's webpage.

    Recommended reading from the book: Chapter 3 and Sections 4.1 to 4.5.


  • The Semantics of Concurrent Programming Memory II, Invariants (Lecture by K.V.S. Prasad)
    Slides for viewing on screen on screen. Support slides from Ben-Ari's book (K.V.S. Prasad refers to these slides in his material). These slides are published in Ben-Ari's webpage.

    Recommended reading from the book: Chapter 3 and Sections 4.1 to 4.5.


  • The Semantics of Concurrent Programming Memory III (Lecture by K.V.S. Prasad)
    Slides for viewing on screen on screen. Support slides from Ben-Ari's book (K.V.S. Prasad refers to these slides in his material). These slides are published in Ben-Ari's webpage.

    Recommended reading from the book: Chapter 3 and Sections 4.1 to 4.5.


Last modified: Tuesday, 05-Mar-2013 14:57:21 CET
COMPUTER SCIENCE AND ENGINEERING - Chalmers University of Technology and Göteborg University
SE-412 96 Göteborg, Sweden - Tel: +46 (0)31- 772 1000