The Non-Deterministic Path to Concurrency – Exploring how Students Understand the Abstractions of Concurrency

نویسندگان

چکیده

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 sequential (e.g., what order statements are executed), which makes it harder create a proper mental model of execution environment. Students who aim explore through testing further hindered non-determinism since even incorrect seem work properly most time. In paper we how students’ understanding these examining 137 solutions two concurrency questions given on final exam years an introductory course. To highlight problematic areas abstractions, present alternative under each solution would correct.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards Composable Concurrency Abstractions

In the past decades, many different programming models for managing concurrency in applications have been proposed, such as the actor model, Communicating Sequential Processes, and Software Transactional Memory. The ubiquity of multi-core processors has made harnessing concurrency even more important. We observe that modern languages, such as Scala, Clojure, or F#, provide not one, but multiple...

متن کامل

Concurrency abstractions for Concurrent Haskell

In this article we propose a basic set of concurrency abstractions for Concurrent Haskell based on our experiences with various applications. These abstractions serve as templates for patterns recurring in concurrent program development. Especially for threads depending on each other, high-level constructs allow monitoring of a set of child threads and taking actions in case a vital component t...

متن کامل

Automatic Synthesis of Deterministic Concurrency

Many parallel programs are meant to be deterministic: for the same input, the program must produce the same output, regardless of scheduling choices. Unfortunately, due to complex parallel interaction, programmers make subtle mistakes that lead to violations of determinism. In this paper, we present a framework for static synthesis of deterministic concurrency control: given a non-deterministic...

متن کامل

Deterministic Behavioural Models for Concurrency

Extended Abstract This paper offers three candidates for a deterministic, noninterleaving, behaviour model which generalizes Hoare traces to the noninterleaving situation. The three models are all proved equivalent in the rather strong sense of being equivalent as categories. The models are: deterministic labelled event structures, generalized trace languages in which the independence relation ...

متن کامل

D2C: Deterministic, Deadlock-free Concurrency

The advent of multicore processors has made concurrent programming languages mandatory. However, most concurrent programming models come with two major pitfalls: non-determinism and deadlocks. By determinism, we mean the output behavior of the program is independent of the scheduling choices (e.g., the operating system) and depends only on the input behavior. A few concurrent programming models...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Informatics in education

سال: 2021

ISSN: ['1648-5831', '2335-8971']

DOI: https://doi.org/10.15388/infedu.2021.29