The Non-Deterministic Path to Concurrency – Exploring how Students Understand the Abstractions of Concurrency
The Non-Deterministic Path to Concurrency – Exploring how Students Understand the Abstractions of Concurrency
Author(s): Filip Strömbäck, Linda Mannila, Mariam KAMKARSubject(s): Education
Published by: Vilniaus Universiteto Leidykla
Keywords: abstraction; concurrency; memory model; synchronization; locks;
Summary/Abstract: Concurrency is often perceived as difficult by students. One reason for this may be due to the fact that abstractions used in concurrent programs leave more situations undefined compared to sequential programs (e.g., in what order statements are executed), which makes it harder to create a proper mental model of the execution environment. Students who aim to explore the abstractions through testing are further hindered by the non-determinism of concurrent programs since even incorrect programs may seem to work properly most of the time. In this paper we aim to explore how students’ understanding these abstractions by examining 137 solutions to two concurrency questions given on the final exam in two years of an introductory concurrency course. To highlight problematic areas of these abstractions, we present alternative abstractions under which each incorrect solution would be correct.
Journal: Informatics in Education - An International Journal
- Issue Year: 20/2021
- Issue No: 4
- Page Range: 683-715
- Page Count: 33
- Language: English