{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T05:05:24Z","timestamp":1750309524571,"version":"3.41.0"},"reference-count":57,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T00:00:00Z","timestamp":1740096000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Educ."],"published-print":{"date-parts":[[2025,3,31]]},"abstract":"<jats:p>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\u2019 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.<\/jats:p>","DOI":"10.1145\/3712707","type":"journal-article","created":{"date-parts":[[2025,1,20]],"date-time":"2025-01-20T15:44:08Z","timestamp":1737387848000},"page":"1-31","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Investigating the Progression of the Mental Models Formed by Programmers Learning Parallel Programming"],"prefix":"10.1145","volume":"25","author":[{"ORCID":"https:\/\/orcid.org\/0009-0008-9725-415X","authenticated-orcid":false,"given":"Leah","family":"Bidlake","sequence":"first","affiliation":[{"name":"Faculty of Computer Science, University of New Brunswick, Fredericton, New Brunswick, Canada"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1273-4741","authenticated-orcid":false,"given":"Eric","family":"Aubanel","sequence":"additional","affiliation":[{"name":"Faculty of Computer Science, University of New Brunswick, Fredericton, New Brunswick, Canada"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5036-3825","authenticated-orcid":false,"given":"Daniel","family":"Voyer","sequence":"additional","affiliation":[{"name":"Department of Psychology, University of New Brunswick, Fredericton, New Brunswick, Canada"}]}],"member":"320","published-online":{"date-parts":[[2025,2,21]]},"reference":[{"key":"e_1_3_1_2_2","first-page":"8","volume-title":"Proceedings of the 31st Annual Workshop of the Psychology of Programming Interest Group (PPIG \u201920)","author":"Aubanel Eric","year":"2020","unstructured":"Eric Aubanel. 2020. Parallel program comprehension. In Proceedings of the 31st Annual Workshop of the Psychology of Programming Interest Group (PPIG \u201920), 8\u201316."},{"key":"e_1_3_1_3_2","first-page":"639","volume-title":"Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 2 (ITiCSE \u201923)","author":"Bidlake Leah","year":"2023","unstructured":"Leah Bidlake, Eric Aubanel, and Daniel Voyer. 2023. Investigating the progression of programmers\u2019 mental models. In Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 2 (ITiCSE \u201923). ACM, New York, NY, 639. DOI: 10.1145\/3587103.3594177"},{"key":"e_1_3_1_4_2","unstructured":"Leah Bidlake Eric Aubanel and Daniel Voyer. 2023. Progression of programmers\u2019 mental models learning parallel programming. Retrieved from https:\/\/osf.io\/u29hr\/?view_only=313672d31c3c416ca41fcda5e08fac58"},{"key":"e_1_3_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/384267.305831"},{"key":"e_1_3_1_6_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2020.110565"},{"key":"e_1_3_1_7_2","first-page":"47","volume-title":"Proceedings of the 33rd Annual Workshop of the Psychology of Programming Interest Group (PPIG \u201922)","author":"Bidlake Leah","year":"2022","unstructured":"Leah Bidlake, Eric Aubanel, and Daniel Voyer. 2022. Pilot study: Validation of stimuli for studying mental representations formed by parallel programmers during parallel program comprehension. In Proceedings of the 33rd Annual Workshop of the Psychology of Programming Interest Group (PPIG \u201922), 47\u201356."},{"key":"e_1_3_1_8_2","first-page":"193","volume-title":"Proceedings of the 34th Annual Workshop of the Psychology of Programming Interest Group (PPIG \u201923)","author":"Bidlake Leah","year":"2023","unstructured":"Leah Bidlake, Eric Aubanel, and Daniel Voyer. 2023. Parallel program comprehension: A mental model approach. In Proceedings of the 34th Annual Workshop of the Psychology of Programming Interest Group (PPIG \u201923), 193\u2013204."},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","DOI":"10.1191\/1478088706qp063oa"},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-981-10-5251-4_103"},{"issue":"1","key":"e_1_3_1_11_2","first-page":"1","article-title":"Has the time come to teach parallel programming to secondary school students?","volume":"8","author":"Brodjanac Predrag","year":"2022","unstructured":"Predrag Brodjanac, Josip Novak, and Ivica Boljat. 2022. Has the time come to teach parallel programming to secondary school students? Heliyon 8, 1 (2022), 1\u201313.","journal-title":"Heliyon"},{"key":"e_1_3_1_12_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4419-1428-6_589"},{"key":"e_1_3_1_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/WPC.1998.693294"},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-5041-2896-4_22"},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-0-387-35175-9_55"},{"key":"e_1_3_1_16_2","doi-asserted-by":"publisher","DOI":"10.1023\/A:1015297914742"},{"key":"e_1_3_1_17_2","first-page":"139","volume-title":"Proceedings of the 9th European Conference on Cognitive Ergonomics\u2013Cognition and Cooperation","author":"Ca\u00f1as Jos\u00e9 J.","year":"1998","unstructured":"Jos\u00e9 J. Ca\u00f1as and Adoraci\u00f3n Antol\u00ed. 1998. The role of working memory in measuring mental models. In Proceedings of the 9th European Conference on Cognitive Ergonomics\u2013Cognition and Cooperation. European Association of Cognitive Ergonomics (EACE), Rocquencourt, France, 139\u2013144."},{"key":"e_1_3_1_18_2","first-page":"325","volume-title":"Proceedings of the 31st SIGCSE Technical Symposium on Computer Science Education","author":"Choi Sung-Eun","year":"2000","unstructured":"Sung-Eun Choi and E. Christopher Lewis. 2000. A study of common pitfalls in simple multi-threaded programs. In Proceedings of the 31st SIGCSE Technical Symposium on Computer Science Education, 325\u2013329."},{"key":"e_1_3_1_19_2","unstructured":"Jacob Cohen. 1988. Statistical Power Analysis for the Behavioral Sciences (2nd ed.). L. Erlbaum Associates Hillsdale NJ. Retrieved from http:\/\/www.gbv.de\/dms\/bowker\/toc\/9780805802832.pdf"},{"key":"e_1_3_1_20_2","doi-asserted-by":"publisher","DOI":"10.1016\/S1322-7696(08)60478-3"},{"key":"e_1_3_1_21_2","first-page":"1","volume-title":"Proceedings of the 2020 IEEE Frontiers in Education Conference (FIE \u201920).","author":"Conte Davi Jose","year":"2020","unstructured":"Davi Jose Conte, Paulo Sergio Lopes de Souza, Guilherme Martins, and Sarita Mazzini Bruschi. 2020. Teaching parallel programming for beginners in computer science. In Proceedings of the 2020 IEEE Frontiers in Education Conference (FIE \u201920). IEEE, 1\u20139."},{"key":"e_1_3_1_22_2","doi-asserted-by":"publisher","DOI":"10.5555\/502973"},{"key":"e_1_3_1_23_2","doi-asserted-by":"crossref","first-page":"97","DOI":"10.1109\/HPCS.2005.26","volume-title":"Proceedings of the 19th International Symposium on High Performance Computing Systems and Applications (HPCS \u201905)","author":"Eccles R.","year":"2005","unstructured":"R. Eccles, B. Nonneck, and D. A. Stacey. 2005. Exploring parallel programming knowledge in the novice. In Proceedings of the 19th International Symposium on High Performance Computing Systems and Applications (HPCS \u201905), 97\u2013102. DOI: 10.1109\/HPCS.2005.26"},{"key":"e_1_3_1_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/1597849.1384304"},{"key":"e_1_3_1_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/1345375.1345438"},{"key":"e_1_3_1_26_2","doi-asserted-by":"crossref","first-page":"216","DOI":"10.1007\/978-3-319-75178-8_18","volume-title":"Euro-Par 2017 International Workshops on Parallel Processing Workshops (Euro-Par \u201917)","author":"Ghafoor Sheikh","year":"2018","unstructured":"Sheikh Ghafoor, David W. Brown, and Mike Rogers. 2018. Integrating parallel computing in introductory programming classes: An experience and lessons Learned. In Euro-Par 2017 International Workshops on Parallel Processing Workshops (Euro-Par \u201917). Springer, 216\u2013226."},{"key":"e_1_3_1_27_2","doi-asserted-by":"crossref","first-page":"5742","DOI":"10.1109\/HICSS.2016.710","volume-title":"Proceedings of the 2016 49th Hawaii International Conference on System Sciences (HICSS \u201916)","author":"Gon\u00e7alves Rog\u00e9rio","year":"2016","unstructured":"Rog\u00e9rio Gon\u00e7alves, Marcos Amaris, Thiago Okada, Pedro Bruel, and Alfredo Goldman. 2016. OpenMP is not as easy as it appears. In Proceedings of the 2016 49th Hawaii International Conference on System Sciences (HICSS \u201916), 5742\u20135751. DOI: 10.1109\/HICSS.2016.710"},{"key":"e_1_3_1_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/611892.612004"},{"key":"e_1_3_1_29_2","first-page":"469","volume-title":"Mental Models","author":"Johnson-Laird P. N.","year":"1989","unstructured":"P. N. Johnson-Laird. 1989. Mental Models. The MIT Press, Cambridge, MA, 469\u2013499."},{"key":"e_1_3_1_30_2","doi-asserted-by":"publisher","DOI":"10.1073\/pnas.1012933107"},{"key":"e_1_3_1_31_2","volume-title":"Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science","author":"Association for Computing Machinery (ACM) Joint Task Force on Computing Curricula and IEEE Computer Society","year":"2013","unstructured":"Association for Computing Machinery (ACM) Joint Task Force on Computing Curricula and IEEE Computer Society. 2013. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. ACM, New York, NY."},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.ijhcs.2003.10.005"},{"key":"e_1_3_1_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/3664191"},{"key":"e_1_3_1_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/3126908.3126958"},{"key":"e_1_3_1_35_2","first-page":"129","volume-title":"Proceedings of the 11th Australasian Conference on Computing Education","volume":"95","author":"L\u00f6nnberg Jan","year":"2009","unstructured":"Jan L\u00f6nnberg, Anders Berglund, and Lauri Malmi. 2009. How students develop concurrent programs. In Proceedings of the 11th Australasian Conference on Computing Education, Vol. 95, 129\u2013138."},{"key":"e_1_3_1_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/1227310.1227481"},{"key":"e_1_3_1_37_2","unstructured":"Tim Mattson. 2019. The OpenMP common core: A hands on exploration. Argonne Training Program on Extreme-Scale Computing (ATPESC). Retrieved from https:\/\/extremecomputingtraining.anl.gov\/wp-content\/uploads\/sites\/96\/2019\/07\/ATPESC_2019_Track-2_2_7-31_830am_Mattson-The-OpenMP_Common_Core.pdf"},{"key":"e_1_3_1_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/1391469.1391474"},{"issue":"22","key":"e_1_3_1_39_2","doi-asserted-by":"crossref","first-page":"81","DOI":"10.1155\/2003\/124373","article-title":"How good is OpenMP","volume":"11","author":"Mattson Timothy G.","year":"2003","unstructured":"Timothy G. Mattson. 2003. How good is OpenMP. Scientific Programming 11, 22 (Jun. 2003), 81.","journal-title":"Scientific Programming"},{"key":"e_1_3_1_40_2","first-page":"741","volume-title":"Handbook of Data Structures and Applications","author":"Moir Mark","year":"2018","unstructured":"Mark Moir and Nir Shavit. 2018. Concurrent data structures. In Handbook of Data Structures and Applications. Dinesh P. Mehta and Sartaj Sahni (Eds.), Chapman and Hall\/CRC, 741\u2013762."},{"key":"e_1_3_1_41_2","unstructured":"OpenMP-ARB. 2013. OpenMP Application Program Interface Version 4.0. Technical Report. OpenMP Architecture Review Board (ARB). Retrieved from http:\/\/www.openmp.org\/mp-documents\/OpenMP4.0.0.pdf"},{"key":"e_1_3_1_42_2","doi-asserted-by":"publisher","DOI":"10.1016\/0010-0285(87)90007-7"},{"key":"e_1_3_1_43_2","unstructured":"R Core Team. 2021. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing Vienna Austria. Retrieved from https:\/\/www.R-project.org\/"},{"key":"e_1_3_1_44_2","doi-asserted-by":"publisher","DOI":"10.1145\/1026487.1008042"},{"key":"e_1_3_1_45_2","doi-asserted-by":"publisher","DOI":"10.1145\/3487055"},{"key":"e_1_3_1_46_2","first-page":"103","volume-title":"Proceedings of the 15th Annual Conference on Innovation and Technology in Computer Science Education","author":"Scholtz Tamarisk Lurlyn","year":"2010","unstructured":"Tamarisk Lurlyn Scholtz and Ian Sanders. 2010. Mental models of recursion: Investigating students\u2019 understanding of recursion. In Proceedings of the 15th Annual Conference on Innovation and Technology in Computer Science Education, 103\u2013107."},{"key":"e_1_3_1_47_2","doi-asserted-by":"publisher","DOI":"10.1023\/A:1011952010705"},{"key":"e_1_3_1_48_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11423-016-9507-9"},{"key":"e_1_3_1_49_2","doi-asserted-by":"publisher","DOI":"10.1007\/0-306-47584-7_8"},{"key":"e_1_3_1_50_2","doi-asserted-by":"publisher","DOI":"10.1163\/9789087907112_004"},{"issue":"4","key":"e_1_3_1_51_2","doi-asserted-by":"crossref","first-page":"1096","DOI":"10.3758\/BRM.42.4.1096","article-title":"PsyToolkit: A software package for programming psychological experiments using Linux","volume":"42","author":"Stoet Gijsbert","year":"2010","unstructured":"Gijsbert Stoet. 2010. PsyToolkit: A software package for programming psychological experiments using Linux. Behavior Research Methods 42, 4 (2010), 1096\u20131104.","journal-title":"Behavior Research Methods"},{"issue":"1","key":"e_1_3_1_52_2","doi-asserted-by":"crossref","first-page":"24","DOI":"10.1177\/0098628316677643","article-title":"PsyToolkit: A novel web-based method for running online questionnaires and reaction-time experiments","volume":"44","author":"Stoet Gijsbert","year":"2017","unstructured":"Gijsbert Stoet. 2017. PsyToolkit: A novel web-based method for running online questionnaires and reaction-time experiments. Teaching of Psychology 44, 1 (2017), 24\u201331.","journal-title":"Teaching of Psychology"},{"key":"e_1_3_1_53_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11219-006-9216-4"},{"key":"e_1_3_1_54_2","first-page":"42","volume-title":"Proceedings of the 2009 International Conference on Computer Technology and Development","volume":"1","author":"Tan Phit-Huan","year":"2009","unstructured":"Phit-Huan Tan, Choo-Yee Ting, and Siew-Woei Ling. 2009. Learning difficulties in programming courses: Undergraduates\u2019 perspective and perception. In Proceedings of the 2009 International Conference on Computer Technology and Development, Vol. 1, 42\u201346. DOI: 10.1109\/ICCTD.2009.188"},{"key":"e_1_3_1_55_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPEC43674.2020.9286203"},{"issue":"2","key":"e_1_3_1_56_2","first-page":"60","article-title":"Mental models as a new foundation for instructional design","volume":"42","author":"Merri\u00ebnboer Jeroen J. G. van","year":"2002","unstructured":"Jeroen J. G. van Merri\u00ebnboer, Norbert M. Seel, and Paul A. Kirschner. 2002. Mental models as a new foundation for instructional design. Educational Technology 42, 2 (2002), 60\u201366.","journal-title":"Educational Technology"},{"key":"e_1_3_1_57_2","doi-asserted-by":"publisher","DOI":"10.1006\/imms.1993.1084"},{"key":"e_1_3_1_58_2","unstructured":"Jichen Zhu Katelyn Alderfer Brian Smith Bruce Char and Santiago Onta\u00f1\u00f3n. 2020. Understanding learners\u2019 problem-solving strategies in concurrent and parallel programming: A game-based approach. arXiv:2005.04789. Retrieved from https:\/\/arxiv.org\/abs\/2005.04789"}],"container-title":["ACM Transactions on Computing Education"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3712707","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3712707","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T01:18:09Z","timestamp":1750295889000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3712707"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,2,21]]},"references-count":57,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2025,3,31]]}},"alternative-id":["10.1145\/3712707"],"URL":"https:\/\/doi.org\/10.1145\/3712707","relation":{},"ISSN":["1946-6226"],"issn-type":[{"type":"electronic","value":"1946-6226"}],"subject":[],"published":{"date-parts":[[2025,2,21]]},"assertion":[{"value":"2024-01-29","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-01-09","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-02-21","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}