{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,1]],"date-time":"2026-05-01T05:17:52Z","timestamp":1777612672802,"version":"3.51.4"},"reference-count":58,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2023,12,11]],"date-time":"2023-12-11T00:00:00Z","timestamp":1702252800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by-nc-nd\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Educ."],"published-print":{"date-parts":[[2023,12,31]]},"abstract":"<jats:p>In learning to program and understanding how a programming language controls a computer, learners develop both insights and misconceptions whilst their mental models are gradually refined. It is important that the learner is able to distinguish the different elements and roles of a computer (compiler, interpreter, memory, etc.), which novice programmers may find difficult to comprehend. Forming accurate mental models is one of the potential sources of difficulty inextricably linked to mastering computing concepts and processes, and for learning computer programming.<\/jats:p>\n          <jats:p>It is common to use some form of representation (e.g., an abstract machine or a Computational Agent (CA)) to support technical or pedagogic explanations. The Notional Machine (NM) is a pedagogical device that entails one or more computational concepts, originally described as an idealised computer operating with the constructs of a particular programming language. It can be used to support specific or general learning goals and will typically have some concrete representation that can be referred to. Computational Thinking (CT), which is defined as a way of thinking that is used for [computational] problem solving, is often presented as using a CA to carry out information processing presented by a solution.<\/jats:p>\n          <jats:p>In CT, where the typical goal is to produce an algorithm or a computer program, the CA seemingly serves a purpose very similar to an NM. Although it changes through the different stages of development (of the learner and of the curriculum), the roles of CAs and NMs can be seen as versatile tools that connect a learner\u2019s mental model with the conceptual model of a program. In this article, we look at this relationship between CAs and NMs, and indicate how they would look at different stages of learning. We traverse the range of definitions and usages of these concepts, and articulate models that clarify how these are viewed in the literature. This includes exploring the nature of machines and agents, and how historical views of these relate to modern pedagogy for computation. We argue that the CA can be seen as an abstract, simplified variant of an NM that provides a useful perspective to the learner to support them to form robust mental models of NMs more efficiently and effectively. We propose that teaching programming should make use of the idea of a CA at different stages of learning, as a link that connects a learner\u2019s mental model to a full NM.<\/jats:p>\n          <jats:p\/>","DOI":"10.1145\/3627829","type":"journal-article","created":{"date-parts":[[2023,10,18]],"date-time":"2023-10-18T22:04:09Z","timestamp":1697666649000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Computational Thinking and Notional Machines: The Missing Link"],"prefix":"10.1145","volume":"23","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2596-3519","authenticated-orcid":false,"given":"Bhagya","family":"Munasinghe","sequence":"first","affiliation":[{"name":"University of Canterbury, New Zealand, and Wayamba University of Sri Lanka, Sri Lanka"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0148-0857","authenticated-orcid":false,"given":"Tim","family":"Bell","sequence":"additional","affiliation":[{"name":"University of Canterbury, New Zealand"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1473-1683","authenticated-orcid":false,"given":"Anthony","family":"Robins","sequence":"additional","affiliation":[{"name":"University of Otago, New Zealand"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2023,12,11]]},"reference":[{"key":"e_1_3_2_2_2","unstructured":"Wikipedia. n.d. Algorithm. Retrieved October 26 2023 from https:\/\/en.wikipedia.org\/wiki\/Algorithm"},{"key":"e_1_3_2_3_2","unstructured":"Code.org. n.d. Home Page. Retrieved September 1 2021 from https:\/\/code.org\/"},{"key":"e_1_3_2_4_2","unstructured":"CS Unplugged. n.d. Home Page. Retrieved November 9 2020 from https:\/\/csunplugged.org"},{"key":"e_1_3_2_5_2","unstructured":"Merriam-Webster. n.d. Dictionary by Merriam-Webster: America\u2019s most-trusted online dictionary. Retrieved September 20 2020 from https:\/\/www.merriam-webster.com\/"},{"key":"e_1_3_2_6_2","unstructured":"CS Unplugged. n.d. Kidbots. Retrieved November 9 2020 from https:\/\/csunplugged.org\/en\/at-home\/kidbots\/"},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/bxs074"},{"key":"e_1_3_2_8_2","unstructured":"Aristotle and Sir Barker Ernest. 1958. The Politics of Aristotle . Oxford Press New York NY."},{"issue":"6","key":"e_1_3_2_9_2","first-page":"20","article-title":"Computational thinking: A digital age skill for everyone","volume":"38","author":"Barr David","year":"2011","unstructured":"David Barr, John Harrison, and Leslie Conery. 2011. Computational thinking: A digital age skill for everyone. Learning and Leading with Technology 38, 6 (2011), 20.","journal-title":"Learning and Leading with Technology"},{"key":"e_1_3_2_10_2","doi-asserted-by":"crossref","first-page":"25","DOI":"10.1145\/2532748.2532765","volume-title":"Proceedings of the 8th Workshop in Primary and Secondary Computing Education","author":"Berry Michael","year":"2013","unstructured":"Michael Berry and Michael K\u00f6lling. 2013. The design and implementation of a notional machine for teaching introductory programming. In Proceedings of the 8th Workshop in Primary and Secondary Computing Education. 25\u201328."},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1163\/156852803772456083"},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/355592.365646"},{"key":"e_1_3_2_13_2","doi-asserted-by":"publisher","DOI":"10.2190\/3LFX-9RRF-67T8-UVK9"},{"key":"e_1_3_2_14_2","volume-title":"Proceedings of the 17th Australasian Computing Education Conference (ACE \u201915). 37\u201346.","author":"Bower Matt","year":"2015","unstructured":"Matt Bower and Katrina Falkner. 2015. Computational thinking, the notional machine, pre-service teachers, and research opportunities. In Proceedings of the 17th Australasian Computing Education Conference (ACE \u201915). 37\u201346."},{"key":"e_1_3_2_15_2","unstructured":"Devin Cook. n.d. Flowgorithm Programming Language. Retrieved January 8 2021 from http:\/\/www.flowgorithm.org\/"},{"key":"e_1_3_2_16_2","volume-title":"The Stanford Encyclopedia of Philosophy (Summer 2020 ed.)","author":"Copeland Jack B.","year":"2020","unstructured":"Jack B. Copeland. 2020. The church-turing thesis. In The Stanford Encyclopedia of Philosophy (Summer 2020 ed.), Edward N. Zalta (Ed.). Metaphysics Research Lab, Stanford University, Stanford, CA."},{"key":"e_1_3_2_17_2","doi-asserted-by":"crossref","first-page":"224","DOI":"10.1145\/3059009.3059040","volume-title":"Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE \u201917).","author":"Corradini Isabella","year":"2017","unstructured":"Isabella Corradini, Michael Lodi, and Enrico Nardelli. 2017. Computational thinking in Italian schools: Quantitative data and teachers\u2019 sentiment analysis after two years of \u201cprogramma Il futuro.\u201d In Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE \u201917). ACM, New York, NY, 224\u2013229. 10.1145\/3059009.3059040"},{"key":"e_1_3_2_18_2","doi-asserted-by":"crossref","first-page":"136","DOI":"10.1145\/3105726.3106194","volume-title":"Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER \u201917).","author":"Corradini Isabella","year":"2017","unstructured":"Isabella Corradini, Michael Lodi, and Enrico Nardelli. 2017. Conceptions and misconceptions about computational thinking among Italian primary school teachers. In Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER \u201917). ACM, New York, NY, 136\u2013144. 10.1145\/3105726.3106194"},{"key":"e_1_3_2_19_2","doi-asserted-by":"crossref","unstructured":"Paul Curzon Tim Bell Jane Waite and Mark Dorling. 2019. Computational thinking. In The Cambridge Handbook of Computing Education Research Sally A. Fincher and Anthony V.Editors Robins (Eds.). Cambridge Handbooks in Psychology. Cambridge University Press 513\u2013546. 10.1017\/9781108654555.018","DOI":"10.1017\/9781108654555.018"},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/2998438"},{"key":"e_1_3_2_21_2","doi-asserted-by":"crossref","DOI":"10.7551\/mitpress\/11740.001.0001","volume-title":"Computational Thinking","author":"Denning Peter J.","year":"2019","unstructured":"Peter J. Denning and Matti Tedre. 2019. Computational Thinking. MIT Press, Cambridge, MA."},{"key":"e_1_3_2_22_2","doi-asserted-by":"crossref","first-page":"159","DOI":"10.1145\/3341525.3387404","volume-title":"Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE \u201920).","author":"Dickson Paul E.","year":"2020","unstructured":"Paul E. Dickson, Neil C. C. Brown, and Brett A. Becker. 2020. Engage against the machine: Rise of the notional machines as effective pedagogical devices. In Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE \u201920). ACM, New York, NY, 159\u2013165. 10.1145\/3341525.3387404"},{"key":"e_1_3_2_23_2","unstructured":"Edsger W. Dijkstra. n.d. On the Necessity of Correctness Proofs. Retrieved October 26 2023 from https:\/\/www.cs.utexas.edu\/users\/EWD\/ewd03xx\/EWD360.pdf"},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1006\/ijhc.1981.0309"},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/3469128"},{"key":"e_1_3_2_26_2","doi-asserted-by":"crossref","first-page":"21","DOI":"10.1145\/3437800.3439202","volume-title":"Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education (ITiCSE-WGR \u201920).","author":"Fincher Sally","year":"2020","unstructured":"Sally Fincher, Johan Jeuring, Craig S. Miller, Peter Donaldson, Benedict du Boulay, Matthias Hauswirth, Arto Hellas, Felienne Hermans, Colleen Lewis, Andreas M\u00fchling, Janice L. Pearce, and Andrew Petersen. 2020. Notional machines in computing education: The education of attention. In Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education (ITiCSE-WGR \u201920). ACM, New York, NY, 21\u201350. 10.1145\/3437800.3439202"},{"key":"e_1_3_2_27_2","first-page":"579","volume-title":"Proceeding of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE \u201913).","author":"Guo Philip J.","year":"2013","unstructured":"Philip J. Guo. 2013. Online Python tutor: Embeddable web-based program visualization for Cs education. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE \u201913). ACM, New York, NY, 579\u2013584. 10.1145\/2445196.2445368"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.4230\/Daep.9.7.1"},{"key":"e_1_3_2_29_2","doi-asserted-by":"crossref","DOI":"10.2514\/6.1979-1959","article-title":"A universal flowcharter","author":"Harel D.","year":"1979","unstructured":"D. Harel, P. Norvig, J. Rood, and T. To. 1979. A universal flowcharter. In Proceedings of the 2nd Computers in Aerospace Conference. 218\u2013224.","journal-title":"Proceedings of the 2nd Computers in Aerospace Conference."},{"key":"e_1_3_2_30_2","doi-asserted-by":"crossref","first-page":"49","DOI":"10.1145\/3137065.3137072","volume-title":"Proceedings of the 12th Workshop on Primary and Secondary Computing Education (WiPSCE \u201917).","author":"Hermans Felienne","year":"2017","unstructured":"Felienne Hermans and Efthimia Aivaloglou. 2017. To scratch or not to scratch? A controlled experiment comparing plugged first and unplugged first programming lessons. In Proceedings of the 12th Workshop on Primary and Secondary Computing Education (WiPSCE \u201917). ACM, New York, NY, 49\u201356. 10.1145\/3137065.3137072"},{"key":"e_1_3_2_31_2","volume-title":"Ada Lovelace: The Making of a Computer Scientist","author":"Hollings C.","year":"2018","unstructured":"C. Hollings, U. Martin, and A. C. Rice. 2018. Ada Lovelace: The Making of a Computer Scientist. Bodleian Library. 85024040"},{"key":"e_1_3_2_32_2","volume-title":"Proceedings of the 2011 American Educational Research Association Annual Meeting.","author":"Ioannidou Andri","year":"2011","unstructured":"Andri Ioannidou, Vicki Bennett, Alexander Repenning, Kyu Han Koh, and Ashok Basawapatna. 2011. Computational thinking patterns. In Proceedings of the 2011 American Educational Research Association Annual Meeting.https:\/\/www.learntechlib.org\/p\/108975"},{"key":"e_1_3_2_33_2","volume-title":"Mental Models: Towards a Cognitive Science of Language, Inference, and Consciousness","author":"Johnson-Laird Philip N.","year":"1983","unstructured":"Philip N. Johnson-Laird. 1983. Mental Models: Towards a Cognitive Science of Language, Inference, and Consciousness. Harvard University Press, Cambridge, MA."},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1017\/9781108654555.014"},{"key":"e_1_3_2_35_2","unstructured":"Richard Ladner. n.d. Computer Science Unplugged (AccessComputing News Feb 2009). Retrieved October 26 2023 from https:\/\/www.washington.edu\/doit\/book\/export\/html\/5288"},{"issue":"1","key":"e_1_3_2_36_2","first-page":"3","article-title":"Reclaiming the roots of CT","volume":"12","author":"Lee Irene","year":"2016","unstructured":"Irene Lee. 2016. Reclaiming the roots of CT. CSTA Voice: The Voice of K\u201312 Computer Science Education and Its Educators 12, 1 (2016), 3\u20134.","journal-title":"CSTA Voice: The Voice of K\u201312 Computer Science Education and Its Educators"},{"issue":"1","key":"e_1_3_2_37_2","doi-asserted-by":"crossref","first-page":"82","DOI":"10.1007\/s10878-014-9715-3","article-title":"Mathematical programming: Turing completeness and applications to software analysis","volume":"28","author":"Liberti Leo","year":"2014","unstructured":"Leo Liberti and Fabrizio Marinelli. 2014. Mathematical programming: Turing completeness and applications to software analysis. Journal of Combinatorial Optimization 28, 1 (2014), 82\u2013104.","journal-title":"Journal of Combinatorial Optimization"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/1924421.1924448"},{"key":"e_1_3_2_39_2","doi-asserted-by":"publisher","DOI":"10.26021\/14314"},{"key":"e_1_3_2_40_2","doi-asserted-by":"crossref","first-page":"106","DOI":"10.1145\/3441636.3442311","volume-title":"Proceedings of the Australasian Computing Education Conference (ACE \u201921).","author":"Munasinghe Bhagya","year":"2021","unstructured":"Bhagya Munasinghe, Tim Bell, and Anthony Robins. 2021. Teachers\u2019 understanding of technical terms in a computational thinking curriculum. In Proceedings of the Australasian Computing Education Conference (ACE \u201921). ACM, New York, NY, 106\u2013114. 10.1145\/3441636.3442311"},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.33902\/JPR.202318546"},{"key":"e_1_3_2_42_2","doi-asserted-by":"crossref","DOI":"10.1017\/CBO9781139175029","volume-title":"Fundamentals of Engineering Programming with C and FORTRAN","author":"Myler Harley R.","year":"1998","unstructured":"Harley R. Myler. 1998. Fundamentals of Engineering Programming with C and FORTRAN. Cambridge University Press."},{"key":"e_1_3_2_43_2","doi-asserted-by":"crossref","first-page":"2","DOI":"10.1145\/3105726.3106178","volume-title":"Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER \u201917).","author":"Nelson Greg L.","year":"2017","unstructured":"Greg L. Nelson, Benjamin Xie, and Amy J. Ko. 2017. Comprehension first: Evaluating a novel pedagogy and tutoring system for program tracing in CS1. In Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER \u201917). ACM, New York, NY, 2\u201311. 10.1145\/3105726.3106178"},{"key":"e_1_3_2_44_2","doi-asserted-by":"publisher","DOI":"10.18564\/jasss.2336"},{"key":"e_1_3_2_45_2","volume-title":"The Science of Discworld","author":"Pratchett Terry","year":"1999","unstructured":"Terry Pratchett, Ian Stewart, and Jack Cohen. 1999. The Science of Discworld. Ebury Press, London, UK."},{"issue":"5","key":"e_1_3_2_46_2","first-page":"66","article-title":"Why computational thinking should be integrated into the curriculum","volume":"25","author":"Qualls Jake A.","year":"2010","unstructured":"Jake A. Qualls and Linda B. Sherrell. 2010. Why computational thinking should be integrated into the curriculum. Journal of Computing Sciences in Colleges 25, 5 (2010), 66\u201371.","journal-title":"Journal of Computing Sciences in Colleges"},{"key":"e_1_3_2_47_2","doi-asserted-by":"publisher","DOI":"10.1145\/1592761.1592779"},{"issue":"2","key":"e_1_3_2_48_2","doi-asserted-by":"crossref","first-page":"137","DOI":"10.1076\/csed.13.2.137.14200","article-title":"Learning and teaching programming: A review and discussion","volume":"13","author":"Robins Anthony","year":"2003","unstructured":"Anthony Robins, Janet Rountree, and Nathan Rountree. 2003. Learning and teaching programming: A review and discussion. Computer Science Education 13, 2 (2003), 137\u2013172.","journal-title":"Computer Science Education"},{"key":"e_1_3_2_49_2","volume-title":"Computational Thinking: The Developing Definition","author":"Selby Cynthia","year":"2013","unstructured":"Cynthia Selby and John Woollard. 2013. Computational Thinking: The Developing Definition. Technical Report. University of Southampton Highfield."},{"key":"e_1_3_2_50_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10639-016-9482-0"},{"key":"e_1_3_2_51_2","doi-asserted-by":"crossref","first-page":"113","DOI":"10.1145\/3137065.3137084","volume-title":"Proceedings of the 12th Workshop on Primary and Secondary Computing Education (WiPSCE \u201917).","author":"Sentance Sue","year":"2017","unstructured":"Sue Sentance and Jane Waite. 2017. PRIMM: Exploring pedagogical approaches for teaching text-based programming in school. In Proceedings of the 12th Workshop on Primary and Secondary Computing Education (WiPSCE \u201917). ACM, New York, NY, 113\u2013114. 10.1145\/3137065.3137084"},{"key":"e_1_3_2_52_2","doi-asserted-by":"publisher","DOI":"10.1145\/1821996.1821997"},{"key":"e_1_3_2_53_2","doi-asserted-by":"crossref","first-page":"142","DOI":"10.1016\/j.edurev.2017.09.003","article-title":"Demystifying computational thinking","volume":"22","author":"Shute Valerie J.","year":"2017","unstructured":"Valerie J. Shute, Chen Sun, and Jodi Asbell-Clarke. 2017. Demystifying computational thinking. Educational Research Review 22 (2017), 142\u2013158.","journal-title":"Educational Research Review"},{"key":"e_1_3_2_54_2","volume-title":"Visual Program Simulation in Introductory Programming Education","author":"Sorva Juha","year":"2012","unstructured":"Juha Sorva. 2012. Visual Program Simulation in Introductory Programming Education. Ph. D. Dissertation. Aalto University."},{"key":"e_1_3_2_55_2","doi-asserted-by":"publisher","DOI":"10.1145\/2483710.2483713"},{"key":"e_1_3_2_56_2","doi-asserted-by":"publisher","DOI":"10.1145\/2490822"},{"key":"e_1_3_2_57_2","doi-asserted-by":"publisher","DOI":"10.1145\/1118178.1118215"},{"key":"e_1_3_2_58_2","unstructured":"Jeannette M. Wing. 2010. Computational Thinking: What and Why? Retrieved January 8 2021 from http:\/\/www.cs.cmu.edu\/CompThink\/papers\/TheLinkWing.pdf"},{"key":"e_1_3_2_59_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs.2015.07.046"}],"container-title":["ACM Transactions on Computing Education"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3627829","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3627829","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:36:09Z","timestamp":1750178169000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3627829"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,12,11]]},"references-count":58,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2023,12,31]]}},"alternative-id":["10.1145\/3627829"],"URL":"https:\/\/doi.org\/10.1145\/3627829","relation":{},"ISSN":["1946-6226"],"issn-type":[{"value":"1946-6226","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,12,11]]},"assertion":[{"value":"2022-01-26","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-09-28","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-12-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}