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
    Code examples from the lecture.

    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.
  • Transactional Memory
    Slides for viewing on screen
    Code examples from the lecture.
  • Solving an exam
    We solve the following for exam on the lecture.

  • Solving an exam
    We will finish solving the following exam and continue with some exercises from this other exam .
Last modified: Sunday, 26-Feb-2012 23:30:47 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