Course Syllabus for

Advanced Concurrent Programming in Java
Avancerad jämlöpande programmering i Java

EDA015F, 7.5 credits

Valid from: Autumn 2013
Decided by: FN1/Anders Gustafsson
Date of establishment: 2013-10-08

General Information

Division: Computer Science (LTH)
Course type: Third-cycle course
Teaching language: English


The goal of the course is to give knowledge about advanced mechanisms, design principles, and libraries for concurrent programming, for application in interactive and parallel systems.


Knowledge and Understanding

For a passing grade the doctoral student must

Competences and Skills

For a passing grade the doctoral student must be able to design, implement and test concurrent Java programs.

Judgement and Approach

For a passing grade the doctoral student must demonstrate the ability to critically evaluate and compare concurrency mechanisms and libraries for different quality characteristics.

Course Contents

The course topics include: thread safety, shared objects, robust utilization of parallelism, responsiveness in interactive systems, liveness, performance, testing, explicit locks, atomic variables, non-blocking algorithms, and custom synchronization.

Course Literature

Goetz, B.: Java Concurrency in Practice. Addison-Wesley, 2006. ISBN 0321349601.
In addition, articles will be used.

Instruction Details

Types of instruction: Seminars, exercises

Examination Details

Examination formats: Written assignments, seminars given by participants. The students will present parts of the material to their peers, create new exercises to illustrate mechanisms and design principles, and actively participate at the seminars.
Grading scale: Failed, pass

Admission Details

Assumed prior knowledge: Proficiency in sequential object-oriented programming. Basic knowledge on concurrent programming (e.g., from the course EDA040).

Course Occasion Information

Contact and Other Information

Course coordinator: Görel Hedin <>
Web page:

Complete view