Principles of Concurrent Programming - University of Gothenburg Till startsida
To content Read more about how we use cookies on

Principles of Concurrent Programming

Bachelor's level | 7.5 credits | Course code: DIT391
Autumn 2020
50% Day
Period: 31 August 2020 - 1 November 2020
2) Only EU/EEA citizens and students with approved residence permit in Sweden can apply

About the Course

Concurrent and parallel programming has become ubiquitous in modern software and systems, where concurrency is leveraged to exploit physical parallelism and speed up computations, to provide interactive multi-tasking, and to handle interaction with asynchronous external events. This course aims to provide an introduction to the principles underlying concurrent systems, as well as to practical programming solutions for modeling and exploiting concurrency in programs. Domains where such principles and practices are relevant include operating systems, distributed systems, real-time systems, and multicore architectures.

The concepts covered in the course include:

  • physical vs logical parallelism
  • concurrency problems (race conditions, interference, deadlock, fairness, livelock).
  • mutual exclusion
  • shared memory synchronization (using semaphores or fine grained locking)
  • message-passing synchronization (using message queues)

The course illustrates practical solutions to concurrent programming using both imperative and functional programming languages. Thus, the course will also include short introductory tutorials on functional programming in general and on the functional programming language used in the course, providing sufficient background to understand and use the concurrent programming abstractions demonstrated by means of functional languages.

More Information

Show more

Course Syllabus


Requirements and Selection

Requirements: Successfully completed at least

  • 7.5 credits in imperative/object-oriented programming such as DIT012, DIT948 or equivalent,
  • an additional course in programming or data structures.
Moreover, the student must also have knowledge in propositional logic, which is acquired by successfully completing courses such as DIT980, DIT725, the part on introductory algebra from MMG200, or equivalent.

Selection: Selection is based upon the number of credits from previous university studies, maximum 225 credits.

Tuition Fee

Application fee: 900 SEK
Full course cost: 17 875 SEK
First payment: 17 875 SEK

EU/EEA citizens, Swedish residence permit holders and exchange students do not pay fees. More information on:

Study Guidance



Department of Computer Science and Engineering
41296 Göteborg

Visiting address: Rännvägen 6 B

Page Manager: Pontus Sundén
Last update: 2/18/2020 2:41 PM

Tell a friend about this page
Print version

Page Manager: Pontus Sundén|Last update: 10/16/2018

The University of Gothenburg uses cookies to provide you with the best possible user experience. By continuing on this website, you approve of our use of cookies.  What are cookies?