构建模型 学习计算思维

来源 :中国科技教育 | 被引量 : 0次 | 上传用户:tekken1981
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  计算思维是2006年卡内基梅隆大学周以真教授提出的概念。计算思维指的是一种运用计算机科学基本概念求解问题、设计系统和理解人类行为的方式,它涵盖了计算机科学领域广度的一系列思维工具。学习计算思维不仅有助于我们理解计算机科学的概念和思想,更可以将它广泛应用于工作、学习、生活中,为我们提供不一样的组织和分析问题的视角。
  在小学和中学阶段,信息技术课程的学习是培养计算思维的一个重要途径,以至于有些学生和教师会把计算思维误解为编程的思维方法。其实,自2006年周以真教授提出计算思维的理念时,她就已经明确指出了计算思维是人的思维,不是计算机的思维,计算思维面向所有人、所有地方,而不仅仅是编程中使用的思维方式。举一个小例子,想一想日常生活中我们做一顿饭的程序是怎么样的:先把米放进电饭锅,让电饭锅开始煮饭,趁着电饭锅煮饭的时间再处理其他食材。为什么我们不先做好菜再开始煮饭呢?这是因为我们采用这种程序的时候刚好能在菜做完之后,饭也刚好熟了,这就是计算思维中的流程优化。只要多观察,我们会发现计算思维在生活中无处不在。
  除了计算机课程外,我们可以将计算思维融入学科学习、创客教育、社会实践活动等方面。计算思维的培养方式很多,构建模型就是其中一种方式。运用计算思维构建模型的4个主要步骤是分解、模式识别、抽象和算法。面对一个大的问题,我们将问题分解为若干方便我们解决的小部分,识别出每个部分的模式,化繁为简,将现实的事物抽象为计算机能够理解、能够识别的东西,再通过构建算法,通过算法建立起我们所需的模型。
  实用的模型学习软件NetLogo
  2020年3月, “科技学堂”组织了4期STEM云教研活动,和数百位教师在线探讨如何通过构建模型的方法将计算思维运用于科技教育课堂中。在这几期STEM云教研中,我们选择了多主体建模软件NetLogo作为构建模型的工具,以帮助学生运用计算思维探究学科和项目式学习中遇到的问题。从功能层面上看,NetLogo并不是一个强大的编程工具,不适合开发复杂的计算机程序。但NetLogo的优势在于它的语法足够简单,学习成本很低,并且还配备了完善的模型库可供使用。即使学生没有经过NetLogo的编程语法的学习,我们也可以直接运用模型探究现实问题,我们还可以通过修改代码,对模型进行进一步拓展,以满足我们实际研究需求。NetLogo的特点意味着它很适合开发简易的模型,也很适合成为培养学生计算思维的工具。
  NetLogo是美国西北大学连接学习与计算机建模中心教授尤里·韦伦斯基(UriWilensky)于1999年开发的一款开源编程语言。从名字可以看出,NetLogo基于Logo语言设计而成。Logo语言是第一门专门面向于教育的编程语言,它的出现对编程教育和计算机语言产生了深远的影响,目前流行的编程教育工具Scratch便直接从Logo语言发展而来,而目前最流行的编程语言Python也深受Logo语言的影响,Python的编程教育工具Turtle类库更是向Logo语言致敬(图1)。经过了50多年的发展,Logo语言枝繁叶茂,而NetLogo便是这棵大树低调而美丽的花朵。
  NetLogo适用于计算思维教学的一个优势在于它自带的模型库,模型库中拥有数百个模型,所涉及的学科包括艺术、生物、物理、化学、计算机科学、地球科学、数学、网络、哲学、心理学、社会科学等。这些模型的源代码都是开源的,我们可以在NetLogo的代码页面修改相应的代码,以拓展模型的应用空间。大部分模型还配备了教学建议,在模型的“信息”页面我们可以看到这个模型是什么,它是怎样运行的,我们怎样运用模型,使用的注意事项,如何引导学生探索,怎样拓展模型,以及有哪些了解更多的阅读材料。
  NetLogo是一种建立多主体系统(multiagent system)的工具,所谓多主体,即通过计算机生成一个个主体,每个主体遵循一定的规则活动。通过主体的行为和相互作用观察对世界的宏观影响。NetLogo的世界中包括4种类型的主体:海龟、瓦片、链和观察者。
  ·海龟(turtle):海龟指的是可以在模型中自由移动的主体,大多数模型都会出现海龟角色。海龟的默认形状是箭头,我们也可以把它修改成其他形状。海龟的概念继承自Logo语言,Python Turtle等类库也运用了海龟的概念。
  ·瓦片(patch):瓦片指的是在模型中靜止的主体,我们也可以称之为网格。NetLogo模型的场景中每一个坐标格就是一个瓦片。瓦片可以和海龟交互,也可以与其他瓦片交互。大多数模型会用到瓦片的角色。
  ·链(link):链指的是连接在海龟与海龟之间的线,相连的每一个海龟称之为节点(node)。链在研究社群网络关系中有着重要的作用。
  ·观察者(observer):观察者指的是不参与到模型运行中的角色,它包括控制模型运行的按钮、调整模型参数的滑杆、控制运营模式的开关、观察模型数据的图表和监视器等。这些角色虽然不直接参与模型的运行,但它对于我们观察模型的变化,得出模型的结论至关重要。因此,几乎所有的模型都会出现观察者的主体。
  我们可以通过NetLogo自带的模型库认识各种主体的作用。以“狼 羊捕猎”模型(WolfSheep Predation)为例,这个模型模拟的是一个由狼、羊和草组成的简易生态系统。这个模型有3条简单的运行规则:
  。狼会吃羊,羊会吃草;
  。每隔一段时间,空地会长出新的草;
  。羊和狼通过捕食会增加能量,能量会随着时间逐渐消失,当能量到达一定数值就会生出新的狼和羊,当能量消失为0的时候狼或者羊就会死去。
  通过这3条简单的规则,我们就能够探索在这个生态系统中狼、羊和草的变化规律。运行模型时,我们会看到这样的画面(图2)。
  在画面左侧,我们看到有很多滑杆、按钮、开关、图表、数字窗口等。它们都属于“观察者”,这些主体不直接参与模型的运行,但它们的作用也是非常重要的。我们可以通过画面左上角的滑杆调整模型参数,如狼和羊的初始数量、草的生长数量,狼和羊的繁殖所需的能量等,从而了解不同因素对狼 羊 草生态系统的影响。画面左下角的表格和监视窗可以让我们直观地了解到当前狼、羊、草的数量和它们的变化情况。   画面右侧为场景区,我们可以看到场景区上有白色的羊、黑色的狼、绿色的草和褐色的空土地。在这个区域,羊和狼可以在画面中随机行走,因此,都属于“海龟”主体,尽管它们并不是海龟的形状;地面的草是不可以移动的,因此,属于“瓦片”主体,当羊从绿色的瓦片经过的时候,瓦片就从绿色转为褐色,表示草被羊吃掉了,这意味着“海龟”主体能够和“瓦片”主体进行交互。
  这个模型并没有用到“链”,我们换个模型认识一下。图3是“病毒传播网络” (Viruson Network)模型,我们可以用它研究病毒在人群中传播的规律。
  这个模型左侧同样是属于“观察者”的按钮、滑杆和图表;在右侧我们可以看到一个个圆形的点,点和点之间连接着一根根线。这些线就是所谓“链”,而链上的圆点我们称之为节点。节点属于一种比较特殊的“海龟”。红色的节点表示感染者,蓝色的节点表示易感者,灰色的节点表示免疫者,而连接着节点与节点的链表示人与人的社会关系。当一个节点感染了病毒之后,它会有一定概率经过链将病毒传播到与之相邻的易感者上,使之成为新的感染者。而感染者也有可能在一段时间后成为免疫者,免疫者不会传播病毒。通过这个模型我们就能研究病毒在社群中传播的路径,并作出相应的预防措施。这个模型很适合与当下的疫情情况结合起来,通过计算思维的方法让学生认识采用什么方法能够防范病毒在社会中扩散。
  @NetLogo的使用和学习
  NetLogo是一款免费的建模软件,在NetLogo的官方网站(http://ccl.northwestem. edu/netlogo/index. shtml) 即可以选择合适的版本下载。如果教师只是想在学科课程中偶尔展现模型,或想简单体验模型,NetLogo官方网站也提供了在线版本,在这个版本中你可以体验到NetLogo自带的所有模型,但在线版本不能制作和保存新的模型,功能也不如桌面版的完善。
  NetLogo安装包包括NetLogo、NetLogo3D、HubNet Chent和Behaviors Earth,我们主要使用的软件是NetLogo。点击NetLogo的“文件”
  “模型库”,即可获得数百个完善的模型。打开模型后,页面上方出现“界面”“信息”和“代码”3个标签页,在信息頁面中我们可以了解模型的具体信息和操作指南,在代码页面中我们可以阅读模型是如何建构的,我们可以修改代码以拓展模型。
  如果保愿意更加深入地学习NetLogo,制作自己的模型。你可以在NetLogo的官方网页获取中文版用户手册,它可以帮助我们初步掌握NetLogo的程序编写。如果在编写程序中遇到困难,我们还可以在帮助页面查阅NetLogo词典。这些都很方便我们构建自己的程序。
  参考文献
  [1] Google面向教育者的计算思维课程.https://edu.google. com/resources/programs/exploringcomputationalthinking/
  [2] NetLog0 4.0.2用户手册(中文版)http://ccl.northwestern. edu/netlogo/4.0. 4/docs/NetLogo_manualchinese.pdf
其他文献
在我国社会建设不断发展的过程中,各个领域对于电力能源的需求量正在不断增加,电力能源已经成为居民日常工作生活中非常重要的一项能源。电力部门在进行营销活动的过程中,需
随着《中国学生发展核心素养》的发布和实施,中小学教育中更强调学生的社会参与。开展社会调查活动便是培养学生社会参与意识的一种方法。参与社会调查活动有助于让学生处理好自我与社会的关系,养成现代公民所必须遵守和履行的道德准则和行为规范。  社会调查活动属于社会科学范畴。社会学家完成了社会调查后往往会用计算机建立仿真程序模型,让计算机模拟人们的行为,发现社会现象背后的规律。这个方法也可以应用在中小学的社会
用SP法检测基质金属蛋白酶-7(MMP-7)在大肠癌中的表达,分析MMP-7在大肠癌中的表达与临床病理之间的关系。结果MMP-7的阳性表达率为70.24%,与肿瘤组织类型、淋巴结转移和Dukes分期相
1998~2005年,我们采用单孔钻颅双管引流的方法治疗老年慢性硬膜下血肿(CSDH),取得满意疗效。现报告如下。
刑事举报是向有关单位检举报告刑事犯罪,是侦查机关发现、预防和打击违法犯罪的一种重要的社会辅助手段。当前,我国犯罪率持续高发,而法治建设仍在逐步完善中,作为一种低成本
2006年1月-2007年10月,我院采用关节腔内注射玻璃酸钠(SH)治疗膝骨关节炎(OA)患者70例,效果满意。现报告如下。临床资料:70例OA患者(86膝),男26例,女44例;年龄41-73岁,平均56岁;病程6个月-2
领导干部怎样"为民干事"?或者说领导干部的价值在哪里?首先,想不想干事,是态度问题,反映着内心对事业人生和理想信仰的愿望追求;其次,会不会干成事,是责任问题,体现出一名领导干
计算思维是一种运用计算机科学解决问题、设计系统和理解人类行为的方式,目前我国中小学的信息技术课程是培养计算思维的一个重要途径,但计算思维并非只是为学习计算机编程而采用的思维方法。本期专题我们请“科技学堂”的陈染老师通过运用计算思维构建模型的方式,为大家介绍融入学科学习、创客教育、社会实践活动方方面面的计算思维,希望能够给教师们一些启发,在其他学科的教学中也可以应用计算思维换个角度思考。从工具来说,
科学论证教学是将论证引入科学课堂,使学生经历类似科学家的论证过程,从而促进学生理解科学概念与科学本质,发展学生的科学思维。当下, “科学是一种知识体系”这种朴素科学观已经发展为“科学是基于证据的思想、解释与辩护”[1]的新时代科学观。由此,科学教育不应只是科学事实的传授与技能的训练,更应重视培养学生的批判性思维与论证能力。科学论证在科学教学中的重要性日益凸显,如何将科学论证融入科学教学成为新一轮科