当前位置: X-MOL 学术ACM Trans. Comput. Educ. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Computational Thinking and Notional Machines: The Missing Link
ACM Transactions on Computing Education ( IF 2.4 ) Pub Date : 2023-12-11 , DOI: 10.1145/3627829
Bhagya Munasinghe 1 , Tim Bell 2 , Anthony Robins 3
Affiliation  

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.



中文翻译:

计算思维和概念机器:缺失的环节

在学习编程和理解编程语言如何控制计算机的过程中,学习者会发展洞察力和误解,同时他们的心理模型也会逐渐完善。重要的是,学习者能够区分计算机的不同元素和角色(编译器、解释器、内存等),而新手程序员可能会觉得难以理解。形成准确的心理模型是与掌握计算概念和过程以及学习计算机编程密切相关的潜在困难来源之一。

通常使用某种形式的表示(例如,抽象机或计算代理(CA))来支持技术或教学解释。概念机(NM)是一种包含一个或多个计算概念的教学设备,最初被描述为使用特定编程语言的结构进行操作的理想化计算机。它可用于支持特定或一般的学习目标,并且通常具有一些可供参考的具体表示。计算思维(CT)被定义为一种用于解决[计算]问题的思维方式,通常被描述为使用CA来执行解决方案所呈现的信息处理。

在 CT 中,典型的目标是生成算法或计算机程序,CA 的目的似乎与 NM 非常相似。尽管它会随着(学习者和课程)发展的不同阶段而变化,但 CA 和 NM 的角色可以被视为将学习者的心智模型与程序的概念模型连接起来的多功能工具。在本文中,我们研究了 CA 和 NM 之间的关系,并指出它们如何看待不同的学习阶段。我们遍历这些概念的定义和用法的范围,并阐明模型来阐明文献中如何看待这些概念。这包括探索机器和代理的本质,以及它们的历史观点如何与现代计算教育学相关。我们认为,CA 可以被视为 NM 的抽象、简化变体,它为学习者提供了有用的视角,支持他们更高效地形成强大的 NM 心智模型。我们建议,编程教学应该在不同的学习阶段利用 CA 的理念,作为连接学习者心智模型和完整 NM 的纽带。

更新日期:2023-12-11
down
wechat
bug