Investigating the Progression of the Mental Models Formed by Programmers Learning Parallel Programming
Open Access
- 21 February 2025
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computing Education
- Vol. 25 (1) , 1-31
Abstract
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.Keywords
This publication has 37 references indexed in Scilit:
- Thematic Analysis2019
- Model-based learning: a synthesis of theory and researchEducational Technology Research and Development, 2017
- Model-Based Learning2012
- Theories, tools and research methods in program comprehension: past, present and futureSoftware Quality Journal, 2006
- Learning concurrency: evolution of students’ understanding of synchronizationInternational Journal of Human-Computer Studies, 2004
- Mental Models & Instructional Planning2000
- Mental Representations Constructed by Experts and Novices in Object-Oriented Program Comprehension1997
- An Empirical Study of Software Reuse by Experts in Object-Oriented Design1995
- Characteristics of the mental representations of novice and expert programmers: an empirical studyInternational Journal of Man-Machine Studies, 1993
- Stimulus structures and mental representations in expert comprehension of computer programsCognitive Psychology, 1987