ABSTRACT
Researchers stipulate that a mental model of a system comprises two types of sub-components: parts andstate changes. CS education researchers have noted that state changes in a program are some of the most troublesome concepts to understand. Furthermore, challenges understanding a program's dynamic state changes persist in beginning students even after instruction. Drawing from the theories of mental models, we decomposed arrays into its sub-components of parts andstate changes. Using a questionnaire, we elicited CS1 students' mental models after they received instruction on arrays and then we analyzed and compared the correctness of their mental models with a focus on this decomposition. We compared the mental model correctness of the parts and state changes components. We found that the participants' mental model correctness of parts was significantly higher (i.e., more correct responses) than the mental model correctness of state changes, regardless of teaching modality (online or in-person) or prior programming experience. Moreover, participants with prior programming experience have higher mental model correctness (both for parts and state changes) than participants with no prior programming experience. We close with a discussion of the implications of these findings for introductory courses and highlight recommendations from the literature on ways to teach dynamic aspects of programming.
- John M Carroll and Judith Reitman Olson. 1988. Mental models in humancomputer interaction. Handbook of human-computer interaction (1988), 45--65.Google Scholar
- KJW Craik. 1943. The Nature of Explanation Cambridge University Press: Cambridge.Google Scholar
- Kathryn Cunningham. 2020. Purpose-first programming: A programming learning approach for learners who care most about what code achieves. In Proceedings of the 2020 ACM Conference on International Computing Education Research. 348-- 349.Google ScholarDigital Library
- Johan de Kleer and John Seely Brown. 1985. Qualitative Reasoning about Physical Systems, chapter Qualitative Physics Based on Confluences.Google Scholar
- Saeed Dehnadi. 2009. A cognitive study of learning to program in introductory programming courses. Ph.D. Dissertation. Middlesex University.Google Scholar
- James K Doyle, David N Ford, Michael J Radzicki, andWScott Trees. 2001. Mental models of dynamic systems. Encyclopedia of Life Support Systems (2001).Google Scholar
- Benedict Du Boulay. 1986. Some difficulties of learning to program. Journal of Educational Computing Research 2, 1 (1986), 57--73.Google ScholarCross Ref
- Barbara Ericson and Beryl Hoffman. [n. d.]. AP CSA Java Course x2014; AP CSAwesome - runestone.academy. https://runestone.academy/ns/books/ published/csawesome/index.html. [Accessed 05-08--2023].Google Scholar
- Sally Fincher, Johan Jeuring, Craig S Miller, Peter Donaldson, Benedict Du Boulay, Matthias Hauswirth, Arto Hellas, Felienne Hermans, Colleen Lewis, Andreas Mühling, et al. 2020. Capturing and characterising notional machines. In Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education. 502--503.Google ScholarDigital Library
- Ken Goldman, Paul Gross, Cinda Heeren, Geoffrey L Herman, Lisa Kaczmarczyk, Michael C Loui, and Craig Zilles. 2010. Setting the scope of concept inventories for introductory computing subjects. ACM Transactions on Computing Education (TOCE) 10, 2 (2010), 1--29.Google ScholarDigital Library
- Mark Guzdial and Barbara Ericson. 2007. Introduction to computing & programming in Java: a multimedia approach. Pearson Prentice Hall.Google Scholar
- Frank G Halasz and Thomas P Moran. 1983. Mental models and problem solving in using a calculator. In Proceedings of the SIGCHI conference on Human Factors in Computing Systems. 212--216.Google ScholarDigital Library
- PN Johnson-Laird, B Gawronski, and Fritz Strack. 2012. Mental models and consistency. Cognitive consistency: A fundamental principle in social cognition (2012), 225--243.Google Scholar
- Natalie A Jones, Helen Ross, Timothy Lynam, Pascal Perez, and Anne Leitch. 2011. Mental models: an interdisciplinary synthesis of theory and methods. Ecology and Society 16, 1 (2011).Google Scholar
- Lisa C Kaczmarczyk, Elizabeth R Petrick, J Philip East, and Geoffrey L Herman. 2010. Identifying student misconceptions of programming. In Proceedings of the 41st ACM technical symposium on Computer science education. ACM, 107--111.Google ScholarDigital Library
- David E Kieras and Susan Bovair. 1984. The role of a mental model in learning to operate a device. Cognitive science 8, 3 (1984), 255--273.Google Scholar
- Shriram Krishnamurthi and Kathi Fisler. 2019. Programming paradigms and beyond. The Cambridge Handbook of Computing Education Research 37 (2019).Google ScholarCross Ref
- Colleen M Lewis. 2021. Physical Java Memory Models: A Notional Machine. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education. 383--389.Google ScholarDigital Library
- Violetta Lonati, Andrej Brodnik, Tim Bell, Andrew Paul Csizmadia, Liesbeth De Mol, Henry Hickman, Therese Keane, Claudio Mirolo, and Mattia Monga. 2022. What we talk about when we talk about programs. In Proceedings of the 2022 Working Group Reports on Innovation and Technology in Computer Science Education. 117--164.Google Scholar
- Linxiao Ma. 2007. Investigating and improving novice programmers' mental models of programming concepts. Ph.D. Dissertation. University of Strathclyde.Google Scholar
- Richard Mayer and Joan K. Gallini. 1990. When Is an Illustration Worth Ten Thousand Words? Journal of Educational Psychology 82 (12 1990), 715--726.Google Scholar
- Syeda Fatema Mazumder, Celine Latulipe, and Manuel A Pérez-Quiñones. 2020. Are variable, array and object diagrams in java textbooks explanative?. In Proceedings of the 2020 ACM conference on innovation and technology in computer science education. 425--431.Google ScholarDigital Library
- Donald A Norman. 1983. Some observations on mental models. In Mental models. Psychology Press, 15--22.Google Scholar
- Janet Rountree and Nathan Rountree. 2009. Issues regarding threshold concepts in computer science. In Proceedings of the Eleventh Australasian Conference on Computing Education-Volume 95. 139--146.Google ScholarDigital Library
- Kate Sanders and Robert McCartney. 2016. Threshold concepts in computing: past, present, and future. In Proceedings of the 16th Koli Calling international conference on computing education research. 91--100.Google ScholarDigital Library
- Dermot Shinners-Kennedy. 2008. The everydayness of threshold concepts: State as an example from computer science. In Threshold concepts within the disciplines. Brill, 119--128.Google Scholar
- Teemu Sirkiä and Juha Sorva. 2012. Exploring programming misconceptions: an analysis of student mistakes in visual program simulation exercises. In Proceedings of the 12th Koli Calling International Conference on Computing Education Research. 19--28.Google ScholarDigital Library
- Paul E Smaldino. 2017. Models are stupid, and we need more of them. Computational social psychology (2017), 311--331.Google Scholar
- Juha Sorva. 2008. The Same but Different Students' Understandings of Primitive and Object Variables. In Proceedings of the 8th International Conference on Computing Education Research (Koli '08). ACM, New York, NY, USA, 5--15.Google ScholarDigital Library
- Juha Sorva. 2010. Reflections on threshold concepts in computer programming and beyond. In Proceedings of the 10th Koli calling international conference on computing education research. 21--30.Google ScholarDigital Library
- Juha Sorva. 2013. Notional Machines and Introductory Programming Education. Trans. Comput. Educ. 13, 2 (July 2013). https://doi.org/10.1145/2483710.2483713Google ScholarDigital Library
- Juha Sorva. 2018. Misconceptions and the Beginner Programmer. In Computer Science Education: Perspectives on Teaching and Learning in School.Google Scholar
- Preston Tunnell Wilson, Kathi Fisler, and Shriram Krishnamurthi. 2018. Evaluating the tracing of recursion in the substitution notional machine. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education. 1023--1028.Google ScholarDigital Library
- Evgenia Vagianou. 2006. Program working storage: a beginner's model. In Proceedings of the 6th Baltic Sea conference on Computing education research: Koli Calling 2006. 69--76.Google ScholarDigital Library
- Theo B Weidmann, Sverrir Thorgeirsson, and Zhendong Su. 2022. Bridging the Syntax-Semantics Gap of Programming. In Proceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software. 80--94.Google ScholarDigital Library
Index Terms
- The Correctness of the Mental Model of Arrays After Instruction for CS1 Students
Recommendations
Ancestor worship in CS1: on the primacy of arrays
OOPSLA '04: Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applicationsHistory has given us the array as the fundamental data structure to present to students within the CS1 curriculum. However, with the recent growth in popularity of object-oriented languages for CS1 (C++, Java, C#), and with that, the acceptance of the ...
Investigating the Role of Explanative Diagrams as a Representation of Notional Machine on a Novice Programmer’s Mental Model
ICER 2021: Proceedings of the 17th ACM Conference on International Computing Education ResearchNovice programmers often make haphazard mistakes due to their incomplete and inconsistent mental models. Previous studies have indicated that students have a non-viable mental model of fundamental programming concepts. From theories of mental model, ...
Elderly mental model of reminder system
APCHI '12: Proceedings of the 10th asia pacific conference on Computer human interactionThe growing numbers of elderly is inevitable. As we get older, we will experience some memory declines, thus an assistive technology such as reminder system is recommended. However, the uptake of reminder system is still low. Many researchers from the ...
Comments