Each week we provide some exercises for you to practice concurrent programming, get to know Java and Erlang in order to 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 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.
Exercise 1: Introduction to Concurrency and Critical Sections. Trying out semaphores and locks.
Exercise 2: Using semaphores for conditional synchronisation. Dynamic process creation and more.
Exercise 3: Sieves and Bridges.