Antagningsdata

Choose region and language

Choose the language for the entire website.

Published education catalogue

Principles of Concurrent Programming

Education information from the published source. The education record and its time-bound offerings are kept separate.

Education facts

Code: DIT392

<p>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.</p> <p>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.</p> <p>The concepts covered in the course include:</p> <ul> <li>physical vs logical parallelism</li> <li>concurrency problems (race conditions, interference, deadlock, fairness, livelock).</li> <li>mutual exclusion</li> <li>shared memory synchronization (using semaphores or fine grained locking)</li> <li>message-passing synchronization (using message queues)</li> </ul> <p>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.</p>

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.

Education offerings

Each offering has its own dates and conditions. Closed offerings are retained as history and do not mean that a new application is open.

Source and updates

Skolverket Susa-navet

Retrieved: .

Published: .

Show source version

Publication version: 8e217193-f5fa-4778-b085-a4521fd03e8d

Checksum: 1b0dc54c0fc8a359f83ba9dc8f9d468479ce432de4c03bce3b8b33dd67fe3f6c

Last changed according to the source: 2024-03-04T11:57:16