Valid from: Autumn 2013
Decided by: FN1/Anders Gustafsson
Date of establishment: 2013-10-08
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.
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.
Goetz, B.: Java Concurrency in Practice. Addison-Wesley, 2006. ISBN 0321349601.
In addition, articles will be used.
Types of instruction: Seminars, exercises
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
Examiner:
Assumed prior knowledge: Proficiency in sequential object-oriented programming. Basic knowledge on concurrent programming (e.g., from the course EDA040).
Course coordinator: Görel Hedin <gorel.hedin@cs.lth.se>
Web page: http://sde.cs.lth.se/education/phd-courses/advanced-concurrent-programming-in-java/