模块化设计助力小学生计算思维的培养
2024-06-19李艳程
李艳程
【摘 要】计算思维作为信息科技学科的四大核心素养之一,被写进《义务教育信息科技课程标准(2022年版)》,标志着计算思维在培养具备核心竞争力的未来人才中有着重要地位。本文通过一些Scratch教学案例探索模块化设计如何助力小学生计算思维培养,为当前小学生计算思维培养提供一定的参考。
【关键词】核心素养;计算思维;模块化设计
【中图分类号】G434 【文献标志码】B
【论文编号】1671-7384(2024)06-068-02
小学生正处于思维发展的关键时期,培养他们的计算思维将对他们未来的学习和生活产生深远的影响。在《义务教育信息科技课程标准(2022年版)》中,计算思维作为核心素养之一,必将推动信息科技学科教与学的创新发展。
模块化设计与计算思维
计算思维是指个体运用计算机科学领域的思想方法[1],在问题解决过程中涉及的抽象、分解、建模、算法设计等思维活动[2]。
模块化设计是一种分而治之的思想。在软件工程领域,模块化设计是一种将软件系统分解为若干独立模块,每个模块都具有特定的功能,可以单独设计和实现,最终通过组合这些模块来实现整体功能的方法。模块化设计同样存在着抽象、分解、建模、算法设计的思维活动,因此,模块化设计与计算思维存在着一定的关联性。在教学中渗透模块化设计将有助于小学生计算思维的培养和解决问题能力的提升。
模块化设计在Scratch教学中的运用
在Scratch教学中,教师要引导学生运用模块化设计将学习项目通过项目分层、任务分解和建模以及算法封装的方式化整为零,各个击破解决问题,进而提升学生计算思维。
1.项目分层让思路更清晰
分层在软件架构中有着广泛的运用,是一种系统思维。它把项目按照功能或任务分成几个层次,各个层次之间是可以实现互通的,并且有着不同的任务。笔者把Scratch编程分成“界面布局层”“逻辑脚本层”“数据存储层”“外接硬件层”。界面布局层负责游戏界面的展示,包括创建角色和场景构图;逻辑脚本层负责通过编写脚本代码块来实现不同的游戏效果或功能;数据存储层负责数据的存储和管理;外接硬件层主要任务是对外接设备的控制和互通数据。
“创建‘海底世界场景”是福建教育出版社信息技术六年级上册第3课,是综合编程的第一课。教师可通过分层帮助初涉编程的学生理清编程思路,了解编写程序的完整过程。学生在教师的引导下完成编程任务,最后教师设计问题:请你说一说这节课是如何一步一步打造这个作品的?学生通过回忆能初步形成一个流程:选择舞台背景;添加角色;设计角色动作;编写角色脚本;测试程序。教师板书流程图,进而在流程图的基础上将整个流程抽象为“界面布局”“逻辑脚本”两个层次。在界面布局层主要有舞台背景、添加角色、设计角色动作三项任务,而在逻辑脚本层主要有编写角色脚本和测试程序两项任务,这两项任务是循环往复直至达到预期效果的。最终形成思维导图,让学生更直观地理解完整编程过程,初步建立分层概念。
在六年级下册的人工智能教学中还会涉及“外接硬件层”,主要任务是机器人搭建、传感器的选择和与传感器的通信。在Scratch编程教学中渗透分层架构的概念,可以帮助学生更好地理解编程的基本原则,理清编程的思路,提高逻辑思维能力和解决问题的能力,从而促进计算思维的发展。
2.任务分解、建模让结构更合理
分解是将复杂问题拆分为更小、更易处理的部分(通常称为“模块”),然后分别解决这些小问题。在编程时我们通常可以将程序任务分解为“输入、计算、输出”三个模块,这是计算机编程中最基本的三大模块,几乎所有计算机程序都由这三个基本模块组成。在学习编程时,理解这三个模块的作用和原理可以帮助学生更好地组织和设计程序结构和算法。
以福建教育出版社信息技术六年级上册第4课“趣味编程1:猜数游戏”为例,主题要求小猫随机产生一个数,请学生输入一个数,小猫立刻做出判断。若学生输入的数大了,小猫提示“大了,再猜”,学生再次输入;若小了则提示“小了,再猜”,学生再次输入;若学生输入的数相等则提示“恭喜你,答对了”。
学生通过自然语言描述程序流程,发现在这个程序中主要涉及输入、计算、输出三个模块。输入模块是指程序从外部获取数据或信息的模块,而数据来源可以是键盘、鼠标或文件等。这个模块负责接收学生输入的数据,需要使用“询问”积木块,通过输入框输入数据,并将其存储到变量中供程序后续使用。计算模块是指程序对输入的数据进行处理或计算的模块,通常需要考虑程序结构,用到一些数学运算、逻辑运算以及算法。在这个项目中,该模块负责将学生输入的数值与小猫产生的随机数进行比较,需要用到逻辑判断运算。输出模块是指程序将计算结果反馈给学生的模块,这个模块负责输出计算结果,需要使用“说话”积木块、“显示文本”积木块或“播放声音”积木块等。此时小猫根据比较结果“说”出相应的内容,再判断是否进入循环。
学生通过分解任务、分析问题,运用所学数学学科知识明确程序所需积木块,与计算机语言建立联系,从计算机语言的角度分解主题,选择程序结构、建立I/O模型、设计算法,从而解决问题,有效地提升了计算思维。
3.算法封装让设计更高效
封装是面向对象程序的主要特征,指的是把抽象得到的数据和行为(或功能)像黑匣子一样“封装”成一个整体。在Scratch中,我们可以将重复使用的代码块封装成自定义的积木,以便在需要时重复使用。这种封装的思想可以培养学生的抽象思维和复用意识。
如在福建教育出版社信息技术六年级上册第8课“绘制基本几何图形”中,教师可以在学生完成绘制正N边形的基础上让学生尝试绘制图形(图1)。
图1 学生绘制的几何图形
教师和学生通过共同分析发现,该图形是由正五边形复制、旋转360°和正三角形复制、旋转360°叠加后得到的。此时教师引入“自制积木”,并引导学生将绘制正N边形的程序封装为“正N边形绘制”的自定义积木,以便通过重复多次调用完成图形的绘制。
教师在此基础上还可以再让学生尝试绘制更多正N边形的组合图形,如“五边形+六边形”“五边形+一百边形+八边形”等。学生通过简单地改变参数、多次调用“正N边形绘制”的自制积木,绘制出绚丽多彩的图形,避免了大量的复制和粘贴,使程序变得简洁,大大提高了编程的效率。这个过程中,学生通过观察发现了在周长不变的情况下,边数越多的正多边形越接近圆形的规律,锻炼了对问题的抽象、建模和算法实现的能力,有效地促进了计算思维的发展。
结 语
模块化设计可以有效地帮助学生解决问题、编写程序和创新思考。小学生通过学习如何使用模块化编程、掌握常见的模块和算法、培养抽象思维和建模能力以及注重实践和反思等方法,可以更好地提升计算思维。
参考文献
周纯,以单元表现性评价促进初中生计算思维的发展[J]. 中国信息技术教育,2023(1).
李锋,李冬梅,魏雄鹰,朱莎. 发展关键能力 提升数字素养与技能:义务教育信息科技课程标准(2022年版)的内容设计与实施建议[J]. 教师教育学报,2022(5).