Concurrent Algorithms and Data Structures, 5 credits
Academic year 2022/2023
Autumn 2022, 33%, Campus
Start date: 31 October 2022
End date: 15 January 2023
Application deadline: 19 April 2022
Application code: UU-11038 Application
Language of instruction: English
Selection: Higher education credits in science and engineering (maximum 240 credits)
Registration: 17 October 2022 – 7 November 2022
Entry requirements: 120 credits with 60 credits in computer science, including Introduction to Parallel Programming. Proficiency in English equivalent to the Swedish upper secondary course English 6.
If you are not a citizen of a European Union (EU) or European Economic Area (EEA) country, or Switzerland, you are required to pay application or tuition fees. Formal exchange students will be exempted from tuition fees, as well as the application fee. Read more about fees.
Application fee: SEK 900
Tuition fee, first semester: SEK 12,083
Tuition fee, total: SEK 12,083
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 along 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 such 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.
Department of Information Technology
hus 10, Lägerhyddsvägen 1
Box 337, 751 05 UPPSALA