acm-header
登录

ACM通信

BLOG@CACM

从计算思维的角度看太阳系


太阳系是一个迷人的实体,我们都从不同的专业水平和不同的角度(例如,天文学、地质学和生物学)熟悉它。我们中的一些人只熟悉它的基本元素,而专家们则探索导致它运动的不同力量和行星的梯度。在这篇文章中,我们通过计算思维的镜头来探索太阳系,并将我们选择的太阳系作为计算思维MOOC中使用的主要说明性例子之一来描述。

MOOC的设计基于过去六年在Technion和Beit Berl学院向不同群体的职前教师教授的F2F课程。在MOOC版本的课程中,重点放在三种主要的思维技能上:把一个问题分解成子问题,抽象,而且泛化.这些技能包含在计算思维的大多数定义中。此外,这些思维技能被认为是我们生活中任何领域解决问题过程的一般启发式,其实现并不局限于计算环境。

计算思维

计算思维通常被定义为一套应用于解决问题过程的认知和社交技能。继Papert(1980)播种了这一概念的种子后,Wing(2006)重新开启了关于计算思维的讨论,该术语从不同角度被解释为解决问题所需的各种技能的集合——包括认知和社会技能。人们普遍认为,在当今教育体系中成长起来的学生,成年后将生活在一个多任务、多层面、技术驱动和高度多样化的环境中。因此,他们必须获得这个时代所需的技能,其中许多都包含在计算思维中(Haseski, Ilic,和Tugtekin, 2018)。

虽然计算思维技能可以在没有技术工具的情况下学习和练习(例如,通过游戏或纸和笔),但在我们看来,学习计算思维应该包括在技术环境中解决问题的过程。因此,基于建构主义方法(Harel and Papert, 1991),当在MOOC中教授计算思维时,我们关注学习者使用scratch(一种免费的编程语言,旨在有趣、有教育意义和易于学习)模拟计算过程。

这个词计算过程如我们在课程中所传达的那样,它表达了一种活跃的现象或任何知识领域中的事件,可以通过动画脚本直观地表达出来,在动画脚本中实体是活跃的并相互作用的(例如,交通堵塞、软件系统的开发过程和决策过程)。根据学习者的选择,对任何知识领域的任何主题的计算过程进行模拟,是培养学习者的动机和发展他们的计算思维技能的一种方法,既涉及领域知识,也涉及数字环境中的编码。

太阳系的计算思维视角

在接下来的内容中,我们解释了为什么我们选择太阳系作为我们的计算思维MOOC中包括的主要说明性例子之一,提供给高度多样化的观众。我们首先描述了太阳系的特征,然后说明了主要的计算思维技能,因为它们反映在太阳系模拟的发展中。

图1给出了模拟的一个片段。你可以在Scratch网站上看到这个模拟在这里.要执行它,请单击绿色标志。

图1。来自太阳系模拟的图像

信贷:Ayelet Bukai

太阳系的特征,使它适合作为计算思维的一般课程的说明性例子

我们提出了太阳系的四个特征,解释了为什么它适合于计算思维的通用课程,针对不同的学习者群体,没有任何特定的必修先验知识。

  1. 熟悉:太阳系从人类早期就引起了人们的关注:它是我们日常生活的一部分,它影响着我们的生活,世界各地的教育系统都在解决这个问题。因此,不像其他例子,可以用来证明许多计算思维的想法,不一定是所有学习者都熟悉的(例如,循环系统或篮球比赛),每个人都知道一些关于太阳系的东西,因此,它可以根据学习者的背景在不同的复杂性水平上进行分析和开发:一个孩子只能画太阳和地球;在中学,可以添加一些行星;高中生可以加上万有引力,一个日食,一个月食和潮流年代;大学生也可以模拟彗星。
  2. 视像和动力学:太阳系的可视性和动态性使它成为一个计算过程,在像Scratch这样的可视化开发环境中进行模拟开发是很自然的。
  3. 持续的科学深化:太阳系模拟的开发可以是一个循序渐进、连续不断的开发过程,在这个过程中,细节和它们的精确程度都是逐步添加的。例如,地球绕太阳的运动可以首先描述为一个圆,然后在稍后的阶段,精确度可能会提高,然后它的运动可能被描述为一个椭圆。另一个例子是决定大气中不同物体运动的力(例如行星和卫星):在早期的发展版本中,所有天体都可以以相同的速度运动;在后面的阶段,可以对这些力进行编程,并确定实际速度(尽管力本身作为实体,不一定在模拟中直观地显示)。
  4. 连续编程深化:虽然太阳系的模拟可以只用基本的编程工具来表达基本的编程概念,但它的开发可以应用高级的编程工具来表达高级的计算概念。例如,太阳系模拟的开发过程是一个适合讨论不同深度的不同编程范式的平台:过程的、面向对象的和并行的,以及它们之间的差异、相似和相互关系。

计算思维技巧反映在太阳系模拟的发展中

太阳系模拟的开发过程能够演示许多计算思维的概念和技能。我们专注于三种主要的计算思维技能的表达,如上所述,这在我们的MOOC中得到了强调:分解把一个问题分解成子问题,抽象,泛化

  1. 把一个问题分解成子问题:一方面,太阳系模拟的开发能够为分解为子问题技能的应用提供清晰而有意义的说明,而另一方面,每个子问题的未来处理并不总是微不足道的,有时需要额外的分解为不同复杂程度的子问题。在更大的细节上,最琐碎的分解成子问题是根据主要的天体包括太阳、地球(及其卫星)、火星和土星(例如,土星82颗卫星中的3颗)。在这个分解之后,应该分析每个子问题,以确定是否需要进一步分解为子问题(例如,Sun模拟的子问题),等等。
  2. 抽象:在MOOC中,我们强调抽象的两个方面。第一,在开发过程中延迟处理细节。因此,例如,我们把各种行星围绕太阳的运动模拟成圆形,而实际上轨道是椭圆的。它明确地向学习者解释,推迟考虑这些细节,可以逐步地、分阶段地发展模拟,同时避免认知负荷。课程中讨论的抽象的第二个方面是对模拟中不同实体所表示的共同模式的检查。接下来的检查是对这些模式及其用于泛化的用法进行抽象。因此,例如,一旦我们注意到所有的行星都以椭圆轨道绕太阳运行,我们就可以将这种运动模式抽象为“行星绕太阳运行”的概念,并在逐渐添加行星的发展过程中使用它。
  3. 概括:在太阳系模拟的发展中,通过卫星围绕行星的运动来证明和应用概化。具体来说,在发展了月球绕地球的运动之后,我们可以将这种运动推广到月球(或多个月球)绕任何其他行星的运动。此外,由于有些行星有多个卫星(如土星),我们可以对所有的卫星使用这种模式。随着学习者理解水平和经验的增加,泛化可以应用于模拟其他太阳系(仅在我们的星系中就有数百万个)和其他星系。

总结

在这篇文章中,我们阐述了如何开发模拟太阳系:

  1. 演示计算思维的三个主要思想:将问题分解为子问题、抽象和概括。显然,使用这个开发过程可以教授额外的计算思维概念和技能(例如,控制结构);
  2. 提供课程给不同的受众,跨越整个教育系统,所有学科,所有年龄的学习者。

参考文献

Harel, I.和Papert, S. (Eds)(1991)。建构主义.Ablex出版公司。诺伍德,新泽西。

Haseski, H., Ilic, U.和Tugtekin, U.(2018)。定义21世纪新技能-计算思维:概念和趋势。国际教育研究11(4) 29-42。

Papert,美国(1980年)。头脑风暴:孩子、电脑和强大的想法.基本的书,公司。

翁俊明(2006)。计算思维。ACM通信49(3),到三十五。

诺亚Ragonis是贝特伯尔学院教育学院计算机科学和计算机科学教育的高级讲师。主要研究方向为计算机科学教育、计算思维和教育创新。有关其他详细信息,请参见https://www.beitberl.ac.il/english/lecturers/pages/noa-ragonis.aspxOrit Hazzan是Technion科技教育学院的教授。她的研究重点是计算机科学、软件工程和数据科学教育。有关其他详细信息,请参见https://orithazzan.net.technion.ac.il/


没有发现记录

登录为完全访问
»忘记密码? »创建ACM Web帐号
Baidu
map