Each week we provide some exercises for you to practice concurrent programming, get to know JR and prepare yourselves for the assignments. None of the exercises are mandatory.

The intention is that they should be solved during the times marked exercise sessions in the time table. These will be much like ordinary assignment supervision but the intention is that you work on the present week's exercises.

The Goal

The goal of most of the exercises is to allow you to practice some of the material from the lectures, and allow you to prepare for the assignments. Some of the exercises give you a direct head start for certain assignments.


The solutions to all of the exercises are available online from the start of the course. Do make an effort to solve them yourself before looking at the solutions, however. Solving the exercises yourself will help you learn the concepts covered in the course, which will obviously help you quite a bit when the exam rolls around.

Overview of Exercises

  • Introduction to Concurrency and Critical Sections. Trying out semaphores and locks. Exercise 1.
  • Using Semaphores for conditional synchronisation. Dynamic process creation and more. Exercise 2.
  • Sieves and Bridges. Exercise 3.
  • Receiving multiple messages/Waiting on multiple events. Exercise 4.
  • Replicated Workers: Java, JR and Erlang, including some simple getting started in Erlang exercises. Exercise 5 and 6.
Last modified: Friday, 23-Aug-2013 15:28:48 CEST
COMPUTER SCIENCE AND ENGINEERING - Chalmers University of Technology and Göteborg University
SE-412 96 Göteborg, Sweden - Tel: +46 (0)31- 772 1000