Computational Thinking and Notional Machines: The Missing Link

Author:

Munasinghe Bhagya1ORCID,Bell Tim2ORCID,Robins Anthony3ORCID

Affiliation:

1. University of Canterbury, New Zealand, and Wayamba University of Sri Lanka, Sri Lanka

2. University of Canterbury, New Zealand

3. University of Otago, New Zealand

Abstract

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. 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. 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’s 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’s mental model to a full NM.

Publisher

Association for Computing Machinery (ACM)

Subject

Education,General Computer Science

Reference58 articles.

1. Wikipedia. n.d. Algorithm. Retrieved October 26 2023 from https://en.wikipedia.org/wiki/Algorithm

2. Code.org. n.d. Home Page. Retrieved September 1 2021 from https://code.org/

3. CS Unplugged. n.d. Home Page. Retrieved November 9 2020 from https://csunplugged.org

4. Merriam-Webster. n.d. Dictionary by Merriam-Webster: America’s most-trusted online dictionary. Retrieved September 20 2020 from https://www.merriam-webster.com/

5. CS Unplugged. n.d. Kidbots. Retrieved November 9 2020 from https://csunplugged.org/en/at-home/kidbots/

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3