1. 'Hear' and 'Play' Students Misconceptions on Concurrent Programming using Sonic Pi
- Author
-
Daniele Traversaro, Giorgio Delzanno, and Giovanna Guerrini
- Subjects
computer science education ,Concurrent Programming ,Concurrency Education ,Multithreading ,Misconceptions in programming ,Special aspects of education ,LC8-6691 - Abstract
Concurrency is a complex to learn topic that is becoming more and more relevant, such that many undergraduate Computer Science curricula are introducing it in introductory programming courses. This paper investigates the combined use of Sonic Pi and Team-Based Learning to mitigate the difficulties in early exposure to concurrency. Sonic Pi, a domain-specific music language, provides great support for “playing” with concurrency and “hearing” common problems such as data races and lack of synchronization among different concurrent threads. More specifically, the paper focuses on students’ misconceptions regarding concurrency in Sonic Pi, and compares them to those arising in traditional concurrent programming languages. In addition, it preliminarily explores knowledge transfer from Sonic Pi to C/C++. The approach has been applied in two teaching experiments with undergraduate students in our University involving 184 participants. Our investigations bring out the need to address misconceptions through targeted interventions for a clear understanding of concurrent programming concepts. Sonic Pi’s simplified abstraction and domain-specific flavor has demonstrated to be effective, especially for first-year students.
- Published
- 2024
- Full Text
- View/download PDF