Concurrent ProgrammingLaajuus (5 ECTS)
Course unit code: TT00AC65
General information
- Credits
- 5 ECTS
Objective
Student learns the computational model underlying distributed and parallel programming.
Phenomena related to concurrent programming, such as state-space explosion, liveness
and fairness are studied. Classical problems, such as mutual exclusion, producerconsumer
system, dining philosophers problem are investigated in practice. Higher-level
mechanisms for controlling concurrent access are developed. These mechanisms are
applied to developing efficient algorithms for concurrent access to shared data structures
using Java.
Content
- Distributed and parallel programming models
- State-space explosion
- Building blocks for controlling concurrent access to shared data
- Producer-consumer and other classical problems
- High-level mechanisms for concurrent access
- Efficient algorithms and data structures for concurrent access
Qualifications
Java programming language and basics of OO
Assessment criteria, satisfactory (1)
Student knows and understands the basic phenomena related to concurrent programming.
He/she is able to describe standard solutions and mechanisms and use them in
application development.
Assessment criteria, excellent (5)
Student understands in depth concurrent programming phenomena. He/she is able to
apply with modification standard solutions for solving concurrency control problems in
efficient manner.