We provide some exercises for you to practice concurrent programming. For the exercises we will use the modelling language PROMELA and the model-checker SPIN. These tools would allow you to play around with the concepts that are presented in the lectures and formally verify that certain properties hold in your programs. Moreover, the exercises will help you to get to know Java and Erlang in order to prepare yourselves for the assignments. None of the exercises are mandatory.
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. 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.
- Promela Exercises: First contact with concurrent programming.
- Java Exercises: Introduction to concurrency in Java, semaphores and other primitives.
- Erlang Exercises: Message passing with Erlang