平潭中湖小学 福建省福州市 350400
【摘要】学习编程可以使孩子拥有更严谨的思维,能让孩子展示最优秀的一面,提高自己的自信心。在程序的世界里,没有标准答案,孩子可以根据自己的创造性思维去分析问题并解决问题,这将很好的提高孩子独立思考并解决问题的主动性,锻炼孩子的逻辑思维能力。图形化编程语言Scratch,让孩子在快乐中学习,在提升逻辑思维与独特创造力的同时,还可以培养耐性、训练专注力、锻炼团队合作精神、增强解决问题的能力、提升创意表达能力。
【关键词】Scratch编程 编程思维 发散思维 创意表达
人与人通过语言来沟通,而人与计算机则需要通过计算机语言来沟通。要实现人与计算机无障碍沟通,突破口就在于用计算机语言编写的程序。学习编程可以教会人们思考,可以训练人们的思维方式,他在锻炼人们的发散思维以及逻辑性方面发挥特殊贡献,他将培养人们新的看待问题和处理问题的方式。
常用的编程语言有很多,Scratch编程是图形化编程语言,是一款可以实现创意的可视化编程工具,他的指令像积木一样,编写程序就像是在搭积木,把代表不同指令的积木块组合成实现某个功能的脚本。它可以实现动画制作、游戏编写、创意图案绘制,也可以完成AI智能程序的编写。通过Scratch编程,孩子可以了解编程概念、理解编程思维、掌握编程能力,还可以开启创意思维,训练逻辑思维能力,提高跨学科学习能力,实现创造性表达。
一、Scratch编程引导学生拆解问题
一口吃不成胖子,一顿饿不成瘦子。把庞大复杂的问题,拆分成一个个更简单、更好解决的小问题,再逐个突破,这就是问题拆解。
比如我在讲授循环结构这个知识点时,首先引导学生使用顺序结构的方式编写实现A功能的脚本,接着要求学生重复执行N次A功能,在N比较小的时候,学生还是可以耐心复制N次A功能的指令,可是当N比较大的时候,学生就会犹豫了,这时候引导他们找到重复执行的命令,学生就会立刻理解重复执行指令的作用。在下一次碰到类似问题时,学生就可以拆分问题,先研究实现一次功能的脚本,再使用重复执行指令实现重复N次的功能。
在讲解图章作用时,首先介绍已存在的图章指令功能,让学生明白图章的作用就是为了印制已存在的图形。接着升级难度,引导学生使用新积木代替图章,将一个简单的操作打包到新积木块中,需要时我们可以直接调用新积木块,实现优化脚本,提高效率的好处。这也是引导学生拆分问题,逐个突破,再整合脚本的思维模式。
二、Scratch编程培养学生学习迁移能力
迁移是指人们在先前学习中获得的知识或技能,可以影响之后的学习情境,从而获得另一种成就。学习迁移其实就是把旧知识应用到新环境中,将新问题变成了老问题,使用以往的经验知识解决类似的问题,高效解决细分问题。
在讲授《猜数游戏》这节课时,需要先让学生了解我们生活中的猜数游戏玩法,然后再思考使用Scratch实现猜数功能。这个游戏的核心是判断计算机生成的数与所猜的数是否一致,并给出相应的提示。计算机需要模拟出题过程:生成一个随机数并用变量A存储,我们需要输入猜测的数据B,计算机判断A与B 的大小关系来实现猜数功能。这节课需要用到以往学过的随机数命令,还需要将现实中的游戏玩法迁移到Scratch编程实现中。
在学习了画笔功能之后,我引导学生思考如何在之前的走迷宫游戏中使用画笔功能给角色添加个“大招”:即可以实现墙壁在几秒内被挖通,角色可以在这几秒内快速穿越墙壁。这时候学生就开始尝试用各种方法实现指定的功能,不但实现了知识迁移,还让学生不再拘泥于传统想法,大胆想象,发散思维,提高创新表达能力。
三、Scratch编程促进抽象思维的形成
抽象思维是人的思维和动物心理的根本区别,是人们凭借科学抽象概念获得超出靠感觉器官直接感知的知识。当我们碰到从未遇见过的事物时,如果能运用抽象的思维去寻找解决问题的关键因素,即事物之间存在的联系,那我们解决问题的效率也会有所提高。
在《趣味编程:克隆蚂蚁》一课中,为了让学生对克隆效果更加深刻,我给大家播放了孙悟空分身的视频,让学生知道,克隆指令可以用来复制与原角色相同的克隆体,应用它可以设计出有趣的动画。虽然克隆体对学生还比较陌生,但是通过具体实例引导学生发散思维,让学生大胆想象如果自己有了克隆分身,你想让他帮你做什么,同时将自己的想法在Scratch编程中实现,促进学生抽象思维的形成。
在《接苹果》一课中,学生实现了课本中给出的功能:用鼠标控制篮子接随机掉落的苹果后,我引导学生思考如何实现坦克大战游戏,发挥学生的抽象思维能力,将已经实现的接苹果游戏改造成坦克大战。
简单来说,编程思维就是把一个复杂问题通过分析、联想和抽象等方法,拆成一个个简单、具体的问题并设计解决路径,逐个加以突破。它教会孩子逻辑性思考和批判性思考的相互融合能力,提高孩子思考如何高效解决问题的能力。所以,学习编程特别有助于思维能力的锻炼。
四、Scratch编程推进算法的理解与设计
算法是如何解决一类问题而采取的方法与步骤。算法设计,就是设计一步一步的解决路径,从而解决整个问题。解决一个问题的算法不是唯一的,解决同一个问题,可以有多种算法,而对于特定的问题、特定的约束条件,可以找到比较好的算法。因此,在特殊情况下,如何找到合适的算法,对高效解决问题还是很有用的。
在《综合活动:编写“青蛙吃飞虫”程序》中,要求学生综合所学知识,应用游戏开发的方法,设计并制作小游戏。学生为了完成此游戏的制作,需要经历游戏策划、编程、测试过程,最终完成集体创作作品,体验游戏开发工程师的工作过程,提高设计和编程能力。在综合活动的实践过程中,学生需要根据小组确定的游戏开发方案,收集相关的背景及角色素材,并确定游戏各元素之间的对应关系。为了强化学生的语言表达能力,这里提倡学生先用自然语言表达想法。接着需要确定各对象脚本的编程思路,使用流程图表示。再根据绘制的流程图编写游戏脚本,测试并完善脚本。通过此次活动的实践,学生了解了游戏开发过程,并了解了算法的设计过程,为解决更多现实问题打下基础。
Scratch编程让学生在解决问题的过程中,开发一些有意义的理念,设计不一样的方法去发现和解决问题,让学生在不断的发现、思考、解决问题的过程中获得成就感。
在《综合活动:制作填色书》中,学生需要先了解书本的结构,体验书本的出版过程,将Scratch会制的图案导出为图片,打印装订成一本填色书。除了让学生按照课本中出现的图案设计外,我还建议学生上网搜索一些贝雕相关的图片,了解贝雕制作过程,收集贝壳图片,尝试制作平面贝雕作品。学生根据之前学过的游戏制作过程,把目标分为几个任务,再按流程进行:学习相关知识、准备所需的资源、组建团队分工协作、完成任务。这个活动让学生更加理解算法的作用,以及算法的设计过程,再使用Scratch编程将算法实现。当完成自己炫酷的作品并分享给其他同学时,孩子将体验到满足感、成就感,增加学习的兴趣。
总之,Scratch编程可以锻炼孩子大胆想象,有创造性地表达自己的想法,让孩子成为一个发散思维,逻辑清晰,条理清楚,表达完整的人。学习Scratch编程的目的是让学生学会运用信息技术发现、分析和解决问题,借助Scratch编程设计一些有创意的数字化的产品,提升跨学科学习能力,预测问题、发现问题并探索解决问题的方法,提高学生的动手实践能力和创新精神,提升信息技术学科核心素养,迎接信息时代和知识社会的挑战。
参考文献:
[1]于伟伟. 让计算思维之"花"在Scratch创意编程教学中尽情"绽放"[J]. 数码世界, 2020, No.181(11):115-116.
[2]许绍丽. 小学Scratch编程教学中学生计算思维能力的培养策略[J]. 信息周刊, 2019(44):1.