Concurrent Algorithms and Data Structures

5 credits

Course, Master's level, 1DL590

Expand the information below to show details on how to apply and entry requirements.

Location
Uppsala
Pace of study
33%
Teaching form
On-campus
Instructional time
Daytime
Study period
2 November 2026–17 January 2027
Language of instruction
English
Entry requirements

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.

Application deadline
15 April 2026
Application code
UU-11038

Admitted or on the waiting list?

Registration period
19 October 2026–8 November 2026
Information on registration from the department

Location
Uppsala
Pace of study
33%
Teaching form
On-campus
Instructional time
Daytime
Study period
2 November 2026–17 January 2027
Language of instruction
English
Entry requirements

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.

Admitted or on the waiting list?

Registration period
19 October 2026–8 November 2026
Information on registration from the department

About the course

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.

No reading list found.

FOLLOW UPPSALA UNIVERSITY ON

Uppsala University on Facebook
Uppsala University on Instagram
Uppsala University on Youtube
Uppsala University on Linkedin