1、WeDo 2.0简介 #
“乐高教育WeDo”是由麻省理工学院媒体实验室终身幼儿园负责人Mitchel Resnick和乐高集团电子研发部门负责人Erik Hansen合作的成果。此前,他们长达20年的合作为11岁以上的儿童创造了非常成功的乐高头脑风暴Mindstorms机器人系列套件。
生活中,每个人都可以利用计算思维来解决各种问题。WeDo 2.0 科学实验机器人课程,将帮助学生培养计算思维。每个课程实验中,都提供了多种培养计算思维的方式,并且将乐高积木与图形化编程语言结合起来,帮助学生找到问题的解决方案,同时了解编程原理。
WeDo 2.0 通过丰富多样的编程活动培养学生的计算思维,为学生的模型赋予生命,给学生带来欢乐,激发学生的求知欲。
2、计算机科学-计算思维-编程 #
科学和工程领域在人类早期就已出现,相比之下,计算机科学属于新兴领域。尽管如此,这个新兴的领域不仅影响着我们探索科学和工程的方式,还影响着我们的生活方式。
2.1 计算机科学 #
计算机科学属于 STEM 学科,同时具有科学、技术、工程和数学的属性。所有 STEM 学科都有助于培养学生的思维方式和终身技能。其中包括提问、设计解决方案和交流成果的能力等等。
而计算思维就是这些能力中的一种。这是人们的一种思考方式,每个人都可以利用这种思维方式来解决问题。
计算思维包含一系列技能,而其中一项技能就是算法思维。可以用“代码”或“编程”来描述创建算法的操作。因此,编程就是 STEM 中培养计算思维的一种手段。
2.2 计算思维与算法思维 #
“计算思维”这个词最先由 Seymour Papert 提出,后由周以真教授 (Jeannette Wing)
推广。她将计算思维定义为:“以有效处理信息的方式思考问题、构思并呈现解决方案的一系列思维活动。” (Wing, 2011)计算思维可用于各种领域和环境,并且也可以在日常生活中使用。科学、工程和数学领域都涉及计算思维。
这种思维包括以下能力:
分解能力
分解是指把问题分成较小的部分,从而简化问题的能力。通过分解,问题会变得更易于向别人解释,或分成具体的任务。分解之后通常需要进行概括。
例如:去度假时,可以将准备过程(或是实验)分成几个子任务:预订机票、预订酒店、打包行李等等。
概括能力(发现规律)
概括能力是指发现任务中已熟知的部分,或是在其他地方已经了解过的部分。这通常可以使设计算法变得更加简单。
例如: 交通灯的工作模式就是不断重复一系列相同的操作。
“算法思维”是指设计一系列有序的步骤来解决问题的能力。
示例一:当我们按照菜谱做菜时,需要遵循一系列步骤。
示例二:使用计算机时,我们可以通过编程来设计一系列操作,告诉计算机要做什么。
评估或纠错
是指检验原型是否能按预期运行的能力,或发现不足的能力。计算机编程人员也借此来
发现和更正程序中的错误。
示例一:做菜时,我们会不时尝尝味道,看看口味如何。
示例二:查找书面作业的拼写错误和丢失的标点,进行修改,使文字和标点正确。
抽象化
抽象化是指在解释问题或解决方案时去掉次要细节的能力。也就是说,将想法概念化的能力。
例如:描述一台自行车时,我们会着重描述它的其中一些细节。我们可能会描述它的型号和颜色,如果对方确实对自行车感兴趣,我们再进行更细致地描述。
3、培养计算思维的过程 #
3.1 运用工程设计流程 #
工程师们运用设计流程来寻找问题的解决方案。他们会通过几个阶段来引导他们找出解决方案。 每个阶段都会用到或锻炼他们的某些技能。这些技能就是我们所说的“计算思维”。在 WeDo 2.0 课程教学中,将着重通过以下几个方面提升学生的技能:
(1)确定问题
向学生提出一个主题,通过这个主题将他们引入一个问题或一种需要改善的情况。通过采用简单的方式定义问题和确定一些成功标准,将培养学生的“分解”能力。
学生是否可以用自己的语言来解释问题?
学生是否可以描述如何判断自己是否成功地解决了问题?
学生是否可以将问题分解成较小的、更便于管理的部分?
(2)规划
学生应花一些时间想象问题的不同解决方案,然后制定一份详细的计划来执行其中一种方案。他们要确定执行解决方案的步骤。通过发现任务中他们可能遇到过的东西,将培养学生们的“概括”技能。即:
学生是否可以列出要编程的操作?
学生是否可以确定他们可以使用的程序?
学生是否可以重新使用部分程序?
(3)尝试
接下来,每个学生都要完成他们最终的解决方案。在这个阶段,他们要使用图标式的编程语言激活乐高模型。当学生对自己的想法编程的过程中,将培养他们的“算法思维”。即:
学生是否可以将解决方案编写成一个程序?
学生是否可以利用序列、循环、条件语句等技巧?
(4)修改
学生要根据自己的程序和模型是否符合成功标准来评估自己的解决方案。他们要利用自己的评估技能,确定是否需要更改、修改、调整或改善程序的某些部分。即:
学生是否使程序实现了迭代?
学生是否修复了程序中的问题?
学生是否可以判断解决方案是否与问题相关?
(5)交流
课堂中,学生要向同学们展示自己最终的作品或解决方案,并解释自己的作品为何符合成功标准。在详略得当地解释解决方案的过程中,将培养他们的抽象化能力和沟通技能。即:
学生是否可以解释解决方案中最重要的部分?
学生是否描述了足够的细节来使他们的解决方案更易理解?
学生是否能清楚地说明他们的解决方案为何满足成功标准?
3.2 通过编程培养计算思维 #
最常见的 WeDo 2.0 编程原原理包括:
(1)输入
输入是计算机或设备接收的信息。可以通过传感器以数字或文本值的形式进行输入。如,传感器检测或测量一些东西(例如距离),然后将值转换为数字输入信号,使其可以在程序中使用。
(2)输出
输出由学生编写的程序所控制。WeDo 2.0 中的输出包括声音、光线、显示以及转向马达的开和关。
(3)事件
学生可以让程序在特定事件发生后再继续执行操作序列。程序可以等待一定时间,或是等待传感器检测到特定事件发生之后再执行。
(4)循环
可以在编程时设置无限重复或是在特定时间内重复,从而实现操作。
(5)功能
功能是指在特定情况下一同使用的一组操作。例如,一组可以使光线闪烁的程序块可以称为“闪烁功能”。
(6)条件判断
使用条件来设计一些只在特定情况下执行的操作。在程序中创建条件意味着:如果一直没有满足条件,那么一部分程序将永远不会执行。
例如,设定倾斜传感器向彼侧倾斜时马达启动,传感器向此侧倾斜时马达停止;那么如果倾斜传感器从来没有向彼侧倾斜,则马达将永远不会启动,如果传感器从来没有向此侧倾斜,则马达将永远不会停止。