乐高硬件环境下的Scratch3.0编程教学案例探究
2021-12-09朱春健
摘 要:文章主要在探討乐高硬件结合小学Scratch3.0编程教学对学生的学习效果及问题解决能力的影响,研究方法为案例研究法。研究结果显示,学生对于乐高硬件结合Scratch3.0编程教学课程非常感兴趣,学生也觉得可以帮助自身理解程序设计的逻辑概念以及问题解决能力。
关键词:Scratch3.0程序设计;乐高硬件;编程教学
一、 Scratch软件简介
Scratch是麻省理工学院媒体实验室(MIT Media Lab)Resnick教授所领导Lifelong Kindergarten小组开发的一套图形化编程软件,主要目的是帮助程序设计语言初学者不需要先学习语言语法便能设计创作作品。它专为8~16岁年龄的青少年设计,是学习程序设计的入门软件,兼具教育性和娱乐性,容易学习。Scratch3.0相比之前的版本,支持移动设备操作,可以在平板电脑(iPad)和移动设备(iOS和Android 6.0+)上运行,可以自由地为人物上色,有更多新的音效和颜色等,同时保留Scratch2.0中的JSON文件,声音编辑模块中可以对声音文件进行细微的操作和调整,扩展模块中添加了以前不支持的一些功能,例如视频、翻译等。
二、 乐高硬件简介
LEGOMindstorms EV3是乐高公司在2013年初开发的Mindstorms系列的第三代机器人,采用可编程积木,拥有输出输入端,读取各类传感器的输入值,并控制输出端的伺服马达运转等,另配有各式各样的积木。
LEGO Education WeDo 2.0包括控制器(Smarthub)、马达、运动传感器、倾斜传感器和积木组件。控制器有2个端口,传感器和电机可以任意组合连接,可以吸引学生并激发他们对科学和工程的兴趣。
乐高硬件的工作原理是组合可编程化积木,结合传动装置、轮胎、马达、传感器等制作机器人,再编写程序下载至可编程积木内,执行程序,控制输入传感器或输出伺服器马达,也就是控制机器人来完成动作。
三、 乐高硬件和Scratch3.0软件连接
Scratch3.0要和乐高硬件蓝牙连接,须安装Scratch Link软件,Mac版本下载地址:https://apps.apple.com/cn/app/scratch-link/id1408863490?mt=12
Win版本下载地址:https://downloads.scratch.mit.edu/link/windows.zip。
安装成功后,在任务栏会出现Scratch Link的图标。这时,我们打开Scratch软件,开启LEGO Mindstorms EV3可编程主机,连接之前需打开蓝牙,在Scratch3.0软件中单击添加扩展,选择LEGO Mindstorms EV3,点击刷新,显示出设备名称,点击连接,用默认识别码(PIN)1234连接EV3主机,然后返回编辑器,这时软硬件之间已经完成连接。LEGO Education WeDo 2.0连接的方法还要简单,只要添加LEGO Education WeDo 2.0扩展,点击开始搜索,按下控制器上的绿色按钮,控制器上的蓝色指示灯亮起表示连接完成。
四、 利用LEGO Mindstorms EV3硬件体验Scratch弹球游戏交互性
弹球游戏教学案例是Scratch中一个经典的案例,从Scratch1.4官方实例中就有了。案例中一个小球在屏幕中移动,碰到边缘反弹回来,下面有一块挡板在左右移动,接到球之后就反弹,没有接到球的话,则失败。接下来我们利用LEGO Mindstorms EV3硬件给弹球游戏加入交互性,我们用两个触碰传感器分别接在EV3控制器的1号和2号端口上。
(1)在角色库中导入3个角色,分别是弹球、挡板、停止线,分别调整大小,把停止线移动到舞台区底部,当弹球碰到停止线的时候,游戏就结束。
(2)编写弹球的脚本。将小绿旗添加到编辑区,在程序的一开始先让它停留在(0,160)的位置。Scratch中的方向用角度值来表示,既然弹球的初始位置为舞台的上边缘中部,则初始运动方向可以向下以一定角度运动,则角度值范围为135度到225度之间,为了增加游戏的不确定性,使用随机数模块。
(3)编写挡板的脚本。挡板Y坐标值是固定不变的,所以在程序的一开始,将Y坐标值设为120,通过LEGO Mindstorms EV3按钮传感器对挡板左右移动控制,来拦截弹球。接下来就是程序的关键之处,编写按钮控制挡板移动的脚本。这里要用到控制模块里面的“如果……那么”指令,还要用到LEGO EV3模块里的“按下按钮”指令。当按下按钮1,将X坐标增加-5,实现挡板的左移;当按下按钮2,将X坐标增加5,实现挡板的右移。
(4)编写弹球碰到挡板的脚本。在弹球脚本中,继续拖动控制模块“如果……那么”指令,把侦测模块中的“碰到”指令拖动到“如果”后面,选择“挡板”,弹球碰到挡板之后,先播放声音“pop”,接着让弹球面向-45至45这个区间移动。
(5)编写弹球碰到停止线的脚本。程序编写到这里,我们发现整个程序不会结束,角色“停止线”还没有派上用场,我们还要对弹球碰到停止线进行设定,继续在弹球脚本的下面拖动“如果……那么”指令,在侦测模块中选择“碰到鼠标指针”,拖动到如果后面,选择“停止线”角色,最后在“控制”模块中选择“停止全部脚本”。这样一旦弹球没有被挡板接住,掉落到红色停止线的话,游戏就结束了。
(6)编写得分的脚本。挡板每接住一次小球,加1分。得分是弹球游戏最重要的反馈机制之一,添加得分,需要新建一个变量。游戏开始时,得分为0,所以需要在脚本开头处,将变量“得分”设为0。当小球碰到挡板时,变量“得分”的值增加1。
(7)增加弹球游戏的难度,小球随着得分的增加,速度越来越快。之前的脚本,小球的运动速度为恒定的“5步”,我们可以将小球的运动速度设定为“5+得分”。这样,当得分越高,速度就越快。
五、 利用LEGO Education WeDo 2.0硬件提升Scratch弹球游戏交互性
在LEGO Mindstorms EV3硬件中我们用2个触碰传感器完成挡板的左移和右移,实现了用硬件控制角色的动作,接下来我们尝试用LEGO Education WeDo 2.0硬件中的倾斜传感器模拟手势控制挡板的移动。
LEGO Education WeDo 2.0硬件中的倾斜传感器可以侦测机器人的六种状态,即前、后、左、右、平放、抖动。在弹球游戏例子中,我们只用到左、右两种状态。把倾斜传感器固定在WeDo 2.0控制器上之后,前面的弧形箭头代表左、右方向,侧面的弧形箭头代表上、下方向,这里我们改变挡板角色的脚本。在程序的一开始,将Y坐标值设为120,通过LEGO Education WeDo 2.0的倾斜传感器对挡板左右移动控制,来拦截弹球。这里要用到控制模块里面的“如果……那么”指令,还要用到WeDo 2.0模块里的“向任意方向倾斜”指令。当向左倾斜时,将X坐标增加-5,实现挡板的左移;当向右倾斜时,将X坐标增加5,实现挡板的右移。
这样我们就可以用手握住控制器,模拟手势控制挡板的移动,相比用LEGO Mindstorms EV3硬件的两个触碰传感器来控制挡板的移动,用倾斜传感器控制更加提升了弹球游戏的交互性。
六、 利用乐高硬件结合问题导向助力中小学编程教学
中小学编程教学是指在计算机环境中解决问题的所有任务,包括思考和解决问题的过程。出于这个原因,当前教学越来越多地使用计算思维的概念来描述获取和实施编程教学所需要的思维过程。计算思维不仅有助于发现解决问题的方法,还利用人类的创造力和批判性思维使计算机增强解决问题的能力。要在编程教学领域获得成功,个人必须首先发展和获得高级思维技能,例如解决问题的能力、逻辑能力、数学思维能力、批判性思维能力和创造性思维能力。此外,也可以说,学习计算机编程也是培养这些技能的有效途径。在这种情况下,解决问题和逻辑数学思维能力对于编程教学至关重要。为了确保学生在计算机编程中表现出色,首先需要培养他们的解决问题和逻辑数学思维能力,这可以通过学习编程来实现。
Scratch3.0编程软件可以方便地让教师设计情境问题,学生在面对情境问题时,必须先去设计程序,并且分析程序的难度,将问题分为各个小问题,再去搜集相关的资料,经过分析、推理与归纳的过程后,写出解决问题的程序,最后加以验证,再不断修正程序来真正完整的解决问题。Scratch3.0软件图形化的创作方式让编程更为方便,而且作品创作的过程与问题解决的过程相融合。Scratch软件在教学上具有提升学生问题解决能力的作用,它使每位学生更容易理解计算机编程。作为一个图形化编程软件,它使得学生更轻松的理解和掌握编程逻辑和算法思维技能,有助于提高学生数学思维、解决问题的能力。
乐高硬件系统包括控制器、传感器和乐高积木等,基于乐高硬件的编程教学相比基于Scratch传统编程教学活动对学生解决问题的能力有更大的帮助。乐高硬件编程教学活动通常是基于项目的教学应用,要求学生通过设计自己的方案来解决预先确定的问题,基于乐高硬件的编程教学活动将对解决问题的能力产生积极影响。
问题导向学习(Problem-Based Learning,PBL)是指在教学过程中,教师设计一个符合真实情境的问题为核心,建立学习目标,鼓励小组合作讨论,经过不断的试验后,最终提出问题的解决方案,借此让学习者透过问题解决的过程,培养主动学习、批判思考和问题解决的能力,并学习建构知识的过程,获得新知。
中小学教学领域中最被广泛认可的提升问题解决能力的教学策略就是问题导向学习,所以利用乐高硬件结合问题导向进行编程教学,设计适用于中小学生的编程教学课程,能够提升学生的问题解决能力。
七、 结语
在弹球游戏这个课例中,我们使用LEGO Mindstorms EV3按钮传感器、LEGO Education WeDo 2.0倾斜传感器来控制弹球的左右移动,使得经典的弹球游戏玩法更加丰富,学生对Scratch3.0扩展硬件项目有了更深入的了解。在这个课例中体现了对象、指令、数据、順序、条件、循环等编程思想,在调试程序的过程中又培养了学生的计算思维,在小组和全班同学的合作与讨论中又体现了创意与表达、交流与协作、理解与质疑等计算理念。乐高硬件拓展了Scratch3.0的应用,使得编程变得更加有趣,更具有互动性。LEGO Mindstorms EV3还配备了丰富的传感器,例如声音、超声波、陀螺仪、颜色等传感器,学生可以在弹球游戏的基础上举一反三,利用这些传感器制作更加具有交互性、更加有趣的Scratch作品。
参考文献:
[1]钱晨露.基于Scratch3.0的图像识别程序制作[J].北极光,2019(11).
[2]顾曙敏.浅谈教师的心理健康及训练策略[J].石家庄师范专科学校学报,2003(3).
作者简介:
朱春健,江苏省南通市,南通市海门实验学校附属小学。