Concurrent Algorithms and Data Structures
Uppsala University
Uppsala
Start date:
End date:
Pace of study: 33 %
Published education catalogue
Education information from the published source. The education record and its time-bound offerings are kept separate.
Code: 1DL590
Most computer applications operate nowadays on concurrent platforms, e.g., multicore architectures, distributed databases, and geographically distributed servers. This means that all the algorithms and data structures that have over the years been designed for sequential programs must be extended to the concurrent setting. In this course, we study how this is done in the case of basic data structures such as sets, stacks, and queues. We will also study algorithms that manipulate such data structures as insertion, deletion, and membership checking. Furthermore, we will reason about the correctness and efficiency of these algorithms. Concrete topics: concurrent programs, concurrent data structures, sets, stacks, queues, sequential consistency, linearisability, coarse-grained synchronisation, fine-grained synchronisation, optimistic algorithms, lazy algorithms, lock-free algorithms, the ABA problem, atomic operations.
120 credits with 60 credits in computer science, including participation in Introduction to Parallel Programming. Functional programming is recommended. Proficiency in English equivalent to the Swedish upper secondary course English 6.
Each offering has its own dates and conditions. Closed offerings are retained as history and do not mean that a new application is open.
Uppsala University
Uppsala
Start date:
End date:
Pace of study: 33 %
Retrieved: .
Published: .
Publication version: 8e217193-f5fa-4778-b085-a4521fd03e8d
Checksum: 1b0dc54c0fc8a359f83ba9dc8f9d468479ce432de4c03bce3b8b33dd67fe3f6c
Last changed according to the source: 2026-03-09T12:14:25