Investigating the Progression of the Mental Models Formed by Programmers Learning Parallel Programming

Uloženo v:
Podrobná bibliografie
Název: Investigating the Progression of the Mental Models Formed by Programmers Learning Parallel Programming
Jazyk: English
Autoři: Leah Bidlake (ORCID 0009-0008-9725-415X), Eric Aubanel (ORCID 0000-0003-1273-4741), Daniel Voyer (ORCID 0000-0002-5036-3825)
Zdroj: ACM Transactions on Computing Education. 2025 25(1).
Dostupnost: Association for Computing Machinery. 1601 Broadway 10th Floor, New York, NY 10119. Tel: 800-342-6626; Tel: 212-626-0500; Fax: 212-944-1318; e-mail: acmhelp@acm.org; Web site: http://toce.acm.org/
Peer Reviewed: Y
Page Count: 31
Datum vydání: 2025
Druh dokumentu: Journal Articles
Reports - Research
Education Level: Higher Education
Postsecondary Education
Descriptors: Schemata (Cognition), Programming, Computer Science Education, Coding, Programming Languages, College Students, Professional Personnel
DOI: 10.1145/3712707
ISSN: 1946-6226
Abstrakt: Research on mental model representations developed by programmers during parallel program comprehension is important for informing and advancing teaching methods including model-based learning and visualizations. The goals of the research presented here were to determine: how the mental models of programmers change and develop as they learn parallel programming, the quality of their mental models after learning parallel programming, and what type of information is part of their mental models when examining code for the presence of data races. Participants were experienced C programmers and included both university students and professionals. The mental models of participants were analyzed by having them perform a code tracing task where they externalized their mental models by drawing diagrams while tracing the execution of parallel code. We also analyzed their mental models by having participants determine the presence of data races in parallel code and then answer multiple choice and open-ended questions related to the code. The results presented in this article indicate that programmers' mental models progress from a weaker execution model and a stronger situation model before learning parallel programming, to a stronger execution model and a weaker situation model after learning parallel programming. The thematic analysis of the open-ended responses that indicate what components of code programmers used to determine whether or not a data race was present provides insight into the topics that should be emphasized when teaching parallel programming.
Abstractor: As Provided
Entry Date: 2025
Přístupové číslo: EJ1469969
Databáze: ERIC
Popis
Abstrakt:Research on mental model representations developed by programmers during parallel program comprehension is important for informing and advancing teaching methods including model-based learning and visualizations. The goals of the research presented here were to determine: how the mental models of programmers change and develop as they learn parallel programming, the quality of their mental models after learning parallel programming, and what type of information is part of their mental models when examining code for the presence of data races. Participants were experienced C programmers and included both university students and professionals. The mental models of participants were analyzed by having them perform a code tracing task where they externalized their mental models by drawing diagrams while tracing the execution of parallel code. We also analyzed their mental models by having participants determine the presence of data races in parallel code and then answer multiple choice and open-ended questions related to the code. The results presented in this article indicate that programmers' mental models progress from a weaker execution model and a stronger situation model before learning parallel programming, to a stronger execution model and a weaker situation model after learning parallel programming. The thematic analysis of the open-ended responses that indicate what components of code programmers used to determine whether or not a data race was present provides insight into the topics that should be emphasized when teaching parallel programming.
ISSN:1946-6226
DOI:10.1145/3712707