This offering is not in the current catalogue. The information is retained from an earlier publication. Check the provider's current offering.
University of Gothenburg
Principles of Concurrent Programming
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 introd…
- Higher education
- Information unavailable
- 20 January 2025
- Information unavailable
- Information unavailable
- 50 %
Overview
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.
Admission scores
Entry requirements
The student should have successfully completed at least 7.5 hec 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 MMGD200, or equivalent.
The text is reproduced from the Susa source. Antagningsdata does not map GY11 and GY25 or assess personal eligibility.
Source, measure and data quality
- Source
- Skolverket Susa-navet
- Period
- 2025-01-20
- Measure
- Entry-requirement text reproduced from the published Susa data; no personal eligibility assessment is made.
- Population
- Education offering e.uoh.gu.dit392.86015.20251
- Last checked
- 2026-09-23T10:36:42.164498+00:00
- Limitation
- Antagningsdata does not map GY11 and GY25. General and specific conditions are not separated without structured source data.
Programme content
Study structure
Application and important dates
- Programme or course starts
- Programme or course ends
Salary and salary distribution
Common occupations after graduation
Students
Geographical background
Previous upper-secondary schools and programmes
Completion and outcomes
About the provider
Sources and data quality
Education facts for the selected offering come from Skolverket Susa-navet.
Retrieved . Published . Times are shown in Swedish local time.
Source identity and publication version
- Publication version
- 8e217193-f5fa-4778-b085-a4521fd03e8d
- Education identity in the source
- i.uoh.gu.dit392.86015.20251
- Offering identity in the source
- e.uoh.gu.dit392.86015.20251
- Education-form source code
- HS
- Education code in the source
- DIT392
- Change time according to the source
- 2024-09-10T10:12:32
The provider, education and education offering are separate identities. Application information should be checked on the official website. Supplementary statistics have not been obtained from this source.