自美国计算机科学家周以真教授于2006年提出计算思维这一概念以来,计算思维已成为计算机科学领域的关键理念。2022年4月,教育部颁布了《义务教育信息科技课程标准(2022年版)》,许多中小学已经开始重视计算思维能力的培养,并尝试通过编程教学来实现这一目标。图形化编程软件因其直观、易学的特点,成为中小学编程教学的热门选择。本案例旨在探讨基于计算思维培养的小学图形化编程教学策略与方法,为中小学编程教学提供有益的参考。
一、基于计算思维培养的小学图形化编程教学案例展示
接下来我将以“编程猫”图形化编程课程中的“清理河道”一课为例,详细阐述如何利用“编程猫”的图形化编程教学策略与方法来培养学生的计算思维能力。在本课中需要学生学习制作一个“清理河道”的游戏,实现如图1所示的清理河道游戏。游戏中,学生需通过键盘操作“编程猫”进行划船,并成功清除河道中的垃圾。针对这一教学内容,我设计了如下的教学实施过程:
(一)情景体验
为更有效地开展一堂课,我们首先需要构建一个身临其境的学习环境,以激发学生的好奇心和求知欲,促使他们主动思考、勇于探索和创新。
虽然本节课配备了示例程序,但这些程序所呈现的虚拟场景难以让学生深刻体验“清理河道垃圾”的实际情境。为让学生更具体地理解这一过程,我设计了一次实践活动。
课堂上,我准备了一个小河模型,配备了小船和一些模拟河道垃圾(如纸张和瓶子),组织学生进行一次清理垃圾的小型比赛。
教学片段1:
教师:同学们,我们生活的周围时常可以看到乱扔垃圾的现象,不仅在河流中,街道上也是如此。看,我面前的小河模型就反映了这样一个情况,河里满是垃圾。现在我邀请一位同学上台来,帮助我清理这些垃圾。
(学生上台清理垃圾。在他清理的时候,教师要把新的垃圾投放进去)
教师:请你描述一下你是如何清理河道的。
学生:我通过控制小船来捡垃圾。
教师:清理完了吗?
学生:没,新的垃圾还会不断出现。
教师:那么我们该如何通过编程让“编程猫”持续清理河道直到任务完成呢?现在请大家打开示例程序尝试操作。
(运行示例程序玩“游戏”)
教师:请你描述一下,你在操作程序中看到的清理河道的过程。
学生:游戏开始时,我使用方向键控制“编程猫”划船收集垃圾,每收集一块垃圾就得到一分,垃圾消失后会在随机位置重新出现,当分数达到20分时任务完成。
通过这次模拟实践活动,学生亲身体验了船只清理垃圾的过程。结合示例程序的操作,他们能够更直观地理解程序中各元素之间的关系和操作方式。这种从具体实践操作向抽象思维转变的教学过程对于培养学生的计算思维能力具有显著效果,也为学生后续课程的学习打下了坚实的基础,进一步提升了自身的计算思维能力。
(二)需求分析
设计“清理河道”程序各对象之间的关系如何?教师在编程教学中不进行有效的引导和分解,学生通常会面临程序设计的困扰,不知从何下手。为改善这一状况,我在教学过程中尝试采用问题清单、流程图等辅助工具与学生共同分析示例程序。通过这种方法,我们将复杂的编程任务分解为若干个小任务,帮助学生逐步构建解决问题的初步思维框架,从而培养他们的计算思维能力。
1.问题清单
问题清单是一种列出所面对或需要解决的问题的教学工具,它有助于系统化地整理和明确问题的具体内容。授课中我让学生体验示例程序,通过观察、对比与思考,想想每个情景背后待解决的问题,并尝试用自己的语言把问题描述出来(如表1)。从学生的课堂反馈来看,他们所提出的问题极具价值和启发性。
引导学生主动提出问题,不仅有助于他们分析任务,还为任务的分解提供了有力的铺垫。这种教学方式能够促进学生的发散性思维,使他们在解决问题的过程中经历计算思维中的“分解”环节,从而深化对计算思维的理解与应用。
2.思维导图
思维导图作为一种有效的分析工具,对于辅助思考和解决问题具有显著作用。本课的教学中,我采用问答的形式引导学生深入思考游戏所需的角色,并仔细观察角色的运动状态、触发条件以及所需的指令。通过这种方式,学生能够更加清晰地理解游戏的内在逻辑和编程要求,为后续的编程任务打下坚实的基础。
用思维导图的方式,可以让学生把无形的思维转化成直观可见的导图(如图2“清理河道”思维导图),按照“图”的步骤将示例程序中的背景、角色、指令和算法逐一对应。在为学生拆分任务、构思算法以及设计程序的过程中,我们不仅搭建他们的思维支架,同时也让学生感受“分解”和“概括”等计算思维的独特魅力。我指导学生逐步分析看似复杂的问题,并将其拆解为一系列简单且易于理解的“小”问题,从而实现了化繁为简的目的。帮助学生理清每个角色的动作和编程思路,为学生建立了建模和程序设计的稳固基础,这充分体现了计算思维中“分解”和“建模”的核心思想。
(三)程序设计
在完成初步的分析与场景设计后,我们便可以着手进行程序设计。程序设计过程中确保“编程猫”能够顺利划船并清除“垃圾”是至关重要的。为了实现这一功能,我们需要设计一个合理的算法,并通过流程图来清晰地描述这一过程。特别是“垃圾”清除后随机再出现机制更是关键所在,需要精心策划和实施。
教学片段2:
教师:我们按下空格键,编程猫开始清除垃圾,但当它碰到垃圾时,垃圾却没有被清除,怎么办呢?
学生:要检测到垃圾碰到编程猫。
教师:检测到垃圾碰到编程猫,垃圾要怎么样?
学生1:消失。
学生2:加分。
……
教师:消失加分后垃圾还会出现吗?是立即出现吗?出现在哪里?
学生1:随机出现。
学生2:等待一秒再出现。
……
经过上述步骤,我们成功构建了“清理河道”的程序流程图(如图3),这为学生完成整个作品的程序设计提供了清晰且易于遵循的指南。
(四)测试改进
程序设计往往并非一蹴而就,而是一个持续进行测试、纠错和完善的过程。编程教学的核心目标并非仅仅完成某个项目,而是通过不断的测试和改进,引导学生深入思考如何实现他们自己的目标。学生需要在心中构建一个流程图,通过不断的实践和优化,逐步打造出自己期望的程序效果。这一过程恰恰体现了计算思维中的“评估”“纠错”和“迭代”等核心理念。
(五)交流分享
课程结束之际,学生积极对作品做自我评价、相互评价,展现了积极的学习态度。通过这种交流、分享的方式,他们不仅能够借鉴彼此的知识、技术和创意,还促进了思想层面的深入交流。这种互动环节不仅丰富了课堂内容,也为学生提供了一个宝贵的学习机会,有助于他们不断提升自己的编程水平和创造力。
二、基于计算思维培养的小学图形化编程教学反思
实施了以计算思维培养为核心的图形化编程教学后,我们欣喜地观察到学生对编程课堂的兴趣发生了显著的变化。他们对编程课堂的兴趣日益浓厚,展现出了极高的学习热情和参与度。以往学生只是机械地完成老师布置的任务,完成后便很快忘记。如今他们主动探索游戏背后的原理,并尝试自主开发程序1.0、程序2.0等不同版本。这种主动学习的态度预示着学生在计算思维培养过程中的学习心态发生了积极转变。同时,随着学生计算思维能力的提升,他们在分析问题和应用所学知识于程序设计方面的能力也得到了显著提高。
三、结语
在这个充满变革与机遇的人工智能时代,培养孩子的计算思维能力已成为一项至关重要的任务。图形化编程软件及游戏化教学方式为此提供了有力的支持,它们不仅极大地丰富了编程教学的形式,还降低了学习门槛,使学生能够轻松、愉快地掌握编程的核心要义。通过这些创新工具,学生能在实践中感受编程的魅力,锻炼解决问题的能力,为未来的学术研究与职业发展打下坚实的基础。我坚信,在这个充满无限可能和挑战的时代,具备计算思维的学生将更具竞争力,为社会的进步和发展贡献出他们宝贵的力量。
(作者单位:1.佛山市高明区杨和镇杨梅小学;2.佛山市高明区杨和镇中心小学)
编辑:孙守春