acm-header
登录

ACM通信

教育

解释的编程


路线图工作流图,插图

图片来源:Andrij Borys Associates, Shutterstock

With substantial confusion left regarding the meaning, as well as the purpose, of Computational Thinking (CT), 15 years after Jeannette Wing's seminal通信的观点,7两种不同的计算思想流派已经出现。在更著名的思想流派中——我们称之为职业教育——编程和CT之间的界限有些模糊。毫无疑问,对编码结构的理解是CT教育的重要组成部分。然而,如果CT的教学和评估很大程度上是基于诸如循环、序列和条件语句等概念,那么这与编程有什么本质区别呢?支持和反对这一学派的论据数不胜数,但至少在美国,最普遍的论据似乎是以职业为导向的,主要基于经济理由。不幸的是,在计算机思想的职业学校里,CT对计算机科学以外的学科的好处充其量只是附带的。

第二种比较落后的计算思想学派则专注于通识教育。我们将称之为“显式编程”。在这所学校,编程可能不是最重要的,但它成为了一种跨学科的思想工具,可以真正理解典型的K-12学科(如STEM、艺术、语言和音乐)中强大的思想。在计算思想的显式程序设计学派中,CT是关于用电脑思考。This idea is not new.In fact, it predates the Wing vision and can be traced back to Seymour Papert.Papert initially employed the term "Computational Thinking"3.指的是问题学科和他所说的编程显式实践之间的关系。

Explicative Programming facilitates CT thinking by establishing a bidirectional connection between typical K-12 disciplines and computer science (see图1).这种联系的动机方面早就被教育改革家杜威认为是“工具动机”。2工具性动机是一种间接的动机——就像学几句法语就能让你在法国餐馆点餐一样。在这个例子中,工具动机表明你对吃东西最感兴趣,而不是学习法语。类似地,在显式编程中,工具动机可以培养对“学习编程”或“编程学习”或两者的兴趣(参见图1).

f1.jpg
图1。显式编程通过桥接结构将传统的K-12学科与编程联系起来。

  • 学习计划。STEM、音乐、艺术和语言等学科,建议应用如游戏、模拟、机器人、故事和动画,可以作为开发编程技能的迷人环境。
  • 学习编程。编程可以作为一种辩证法来支持理解,并通过实际操作的探究过程来暴露诸如STEM、音乐、艺术和语言等学科中的误解。

应当注意的是,虽然在理论上,职业学派和显性学派的思想是可以结合的,但我们已经观察到,由于实际原因,教学倾向于职业教育。虽然显式编程将CT与K-12学校联系起来的愿景非常有吸引力,但实现双向连接是非常具有挑战性的(图1红色箭头)。由于这一困难,显式程序设计尚未在学校产生系统影响。在传统的K-12学科和计算机科学之间建立桥梁不仅需要对这两个学科有坚实的理解,更重要的是,理解如何有意义地连接它们。不幸的是,老师们不太可能有相关的经验。K-12学科和编程之间的巨大差距需要通过精心设计的桥接结构来连接图1)作为学科与编程之间的垫脚石(图1,绿色方框和箭头)。两个使用CT模式的例子1这里描述了桥接结构:这些项目是用AgentCubes编程的4计算思维的工具。

ins01.gif

回到顶部

例1。Collision pattern to create a virus simulation.

The virus simulation is an example of an Explicative Programming activity that can fit within the curriculum of a Life Science classroom.To program the virus simulation, students must program a healthy person, with some percent chance, becoming sick when coming into contact with a sick person.的底部图2将这种碰撞计算思维模式的实现描述为百分比机会条件为70%的IF/THEN表达式。计算角色群体的能力,允许学生通过改变患病几率的百分比、死亡和康复率来进行实验,以确定,例如,随着时间的推移,不同的疾病易感性对群体的影响。这反过来又支持发现。例如,学生经常试图通过使死亡率接近100%来制造一种致命的疾病。他们发现,与直觉相反的是,这导致了人口总死亡率的降低,正如我们很多人现在知道的那样。从中学到研究生院的课堂都见证了这一发现5以及丰富项目,如2020年6月的黑人女孩代码流行病学虚拟讲习班(https://bit.ly/BGCVirusSim).

f2.jpg
图2。在AgentCubes中描述人口数据的流行病学模拟的碰撞变化模式实现(中下)。游戏规则是这样的:“如果我在一个或多个生病的角色旁边,并且目前处于健康状态,那么我生病的几率为70%。”


第二种比较落后的计算思想学派则专注于通识教育。


ins02.gif

回到顶部

例2。创造青蛙游戏的概率生成模式。

游戏设计5为显式编程提供了充足的机会,例如,支持桥接结构,从而实现支持计算数学思维。例如,在一个类似青蛙的游戏设计活动中,学生需要为在繁忙的多车道高速公路上行驶的汽车编程,让键盘控制的青蛙通过障碍。为了让游戏更简单,但也不能太过简单,必须在这些道路上设置正确的汽车数量和分布。采用概率生成模式,对左侧隧道以一定的频率和概率生成汽车进行编程。如果使用低频率(每0.6秒)但高概率(100%),那么结果将是一波同时出现的汽车,这看起来不自然(图3, left) and makes the game play too predictable.Experimenting with the construct and selecting a high frequency (every 0.06 seconds) but low probability (10%) results in much more compelling game play (see图3将数学与游戏设计联系起来。

f3.jpg
图3。左:生成新车的频率低,概率高(100%);右:高频低概率。

Our experience from teaching Scalable Game Design5为世界各地的学生和教师提出了三个桥接结构的关键原则,以有效地促进显式编程。

ins03.gif

回到顶部

桥接结构:

  1. 通过作为高度可重用的具体抽象来培养创造力。结构应该使学生能够通过将现有的游戏或他们自己的游戏设计理念分解成他们所学到的通用设计模式而创造出具有个人意义的工件,如游戏。就像架构师不会从钉子或砖块的角度来考虑房子一样,这些模式在设计抽象的更高层次上,比编程构造(如IF或LOOP语句)要高得多。我们发现计算思维模式在构建游戏和STEM模拟方面非常有效。1计算思维模式在描述两个或多个对象的相互作用的现象层面上运行,如生成、碰撞、传输、吸收(见左)、爬坡和扩散。面向学科的CT模式,例如例2中使用的概率生成模式,对参与计算数学思维、计算音乐思维、6以及通过显式编程的计算艺术思维。对这些模式进行编程包括需要理解CT工具的功能支持。并非所有基于块或基于文本的编程语言都是相似的。在一种工具上可能是优雅和简单的,在另一种工具上可能是复杂和几乎不可能的(http://tiny.cc/affordances).
  2. 使辩证法。辩证法是一种推理过程,通过探究揭示误解,解释有力的观点。要使显式编程辩证“学习编程”,以及同样重要的“学习编程”的红色箭头图1需要支持。显式编程不仅仅是计算机科学的综合教育。例如,在科学课上,老师希望学生理解行星运动。学生们制作了一个地球精灵围绕太阳运动的动画。地球是被编程的,就像Logo中的“乌龟”,使用循环迭代地使地球向前移动一些像素,然后向右转一些度。这就产生了地球围绕太阳旋转的漂亮动画。然而,它并不比创建一个由纸、电线和胶带制成的静态立体模型更具有明确的资格。这个活动并没有让学生参与到辩证的过程中去挑战错误的概念或扩展他们对行星运动的理解。相比之下,例1中的辩证法是关于揭示传播病毒的惊人现象,而在例2中,辩证法是关于试验由调谐频率和多个隧道产生多辆汽车的概率所产生的复合概率。
  3. 促进工具性动机,使学生能够创造有意义的工件。工具性动机,2as explained previously, helps to connect disciplines with programming.Students may not be intrinsically interested in programming but may want to build personally meaningful artifacts such as simulations (Example 1), games (Example 2), animations, stories, and robots.With a discipline-oriented CT pattern, such as the probabilistic generate pattern employed to create Frogger in Example 2, instrumental motivation may result in the interest to understand math/probability because its mastery helps to create a more playable game.This is in strong contrast to traditional math learning in schools where mastery of the subject is often perceived by students as hardwired aptitude and not as an enabling instrument.Unlike students, teachers may not intrinsically care about game design, but once they see students become highly engaged to learn programming through game design teachers will likely appreciate game design as an effective pedagogic method.

K-12学科和编程之间的巨大差距需要通过精心设计的桥接结构连接起来。


回到顶部

结论

如果计算思维不只是拥挤的课程中必须教授的另一个项目,而是想真正与公立学校相关,它必须从根本上改变对跨学科教育的观点。编程如何支持STEM、艺术、音乐和语言的有效教学?也许CT的一般概念需要被面向学科的版本所取代,如计算数学思维、计算音乐思维和计算艺术思维。通过为教育工作者和学生提供构建来弥合典型的K-12学科和编程之间的巨大差距,显式编程,发展了Seymour Papert对计算思维的原始概念,正在做的正是这一点。

回到顶部

参考文献

1.Basawapatna等人。识别计算思维模式。在第42届ndACM Technical Symposium on Computer Science Education (SIGCSE), Dallas, TX, USA, 2011.

2.杜威,J。对教育的兴趣和努力。霍顿•米夫林公司,1913年版。

3.数学教育空间的探索。International Journal of Computers for Mathematical Learning 1(1996), 95 - 123。

4.超越语法:20年AgentSheets块编程的经验教训。视觉语言与感知系统杂志3(2017), 68 - 89。

5.Repenning, A.等。可扩展的游戏设计:一种通过游戏设计和模拟创作将系统的计算机科学教育带到学校的策略。Transactions on Computing Education (TOCE) 15(2015),日至31日。

6.Repenning, A.等。Computational music thinking patterns: Connecting music education with computer science education through the design of interactive notations.Presented at the 12th计算机辅助教育国际会议。(布拉格,2020),641 - 652。

7.计算思维。Commun。ACM 49(2006年3月),33-35。

回到顶部

作者

亚历山大Repenningalexander.repenning@fhnw.ch) is Professor and Chair of Computer Science Education at FHNW, School of Education, Windisch, Switzerland, and a professor of Computer Science at the University of Colorado at Boulder, Boulder, CO, USA.

Ashok Ram Basawapatnabasawapatnaa@oldwestbury.edu)是美国纽约州老韦斯特伯里市纽约州立大学数学、计算机和信息科学系计算机科学助理教授。

回到顶部

脚注

这项研究得到了美国国家科学基金会、瑞士国家科学基金会和哈斯勒基金会的支持。


版权归作者所有。
Request permission to (re)publish from the owner/author

数字图书馆是由计算机协会出版的。版权所有©2021 ACM, Inc.


没有发现记录

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