景花

随着信息技术的快速发展,小学信息技术教育改革也在不断地推进。在小学信息技术教学中,图形化编程教学得到了广泛开展,但问题也随之产生,教师需要在教学中积极探索有效的教学途径与方法来解决问题。笔者发现,思维可视化工具可以很好地为小学图形化编程教学提供支持和帮助。本文借助具体例子阐释思维可视化工具在小学图形化编程教学中的应用方法和具体效果。

● 图形化编程教学的现状与思考

图形化编程只需通过点击并拖拽控件的方式编写程序,不需要复杂的代码,让计算机编程像搭积木一样容易上手。但在课堂教学实践中笔者发现,学生刚开始都会主动探究,学习兴趣浓厚,后来他们就逐渐失去主动探究的兴趣,等待教师“喂”脚本,而且在学习中也一直存在脚本搭建随意的现象。这些都说明学生对程序的基本概念、基本结构没有真正理解与掌握,在作品创编中缺乏对知识的融会贯通与灵活应用的方式方法。由此看来,学生解决问题的方法与思维方式已成为作品创新的瓶颈,因而必须让学生学会像计算机科学家一样思考、分析、解决问题,掌握学习图形化编程的有效方法。而作为培养学生计算思维的有效载体,图形化编程学习如何实现学生从自然思维到计算思维的转换呢?下面笔者运用“思维导图”与“程序流程图”这两个思维可视化工具对培养学生思维的转换进行了教学实践与探索。

● 思维导图,构建整体思维

思维导图是运用图文结合的方法将人的思维可视化、形象化的一种工具。学生运用思维导图可以将所见、所闻、所想有机整合成清晰的有层次的知识结构图,充分展现思维过程。而计算思维就是一系列解决问题的思维过程,用思维导图把学生解决问题的策略图形化,便于学习发现问题、优化思路、凝练提升,有利于学生高效地解决问题。

1.呈现知识框架,促进程序概念的全面理解

让学生掌握编程语言的一些基本概念是计算思维能力培养的知识基础,教师可以利用思维导图对知识点进行框架构建,由点到面,呈现知识脉络,理清知识关系,完成对知识的全面理解。

例如,在教学《小猫出题》一课时,学生初次接触“变量”这一重要的程序概念,在本课的学习中,教师要将变量这一知识点通过思维导图从不同的角度进行归纳与总结(如图1),加深学生对新知识的全面理解与记忆。

2.呈现作品框架,形成解决问题的整体策略

作品分析是在模仿作品或创编作品之前不可缺少的重要环节。作品分析时,教师在抛出一系列相关问题或学生提出一些问题后让学生讨论,若学生的讨论与回答仅停留于口头文字的表述,对学习能力弱的学生来说会产生不理解、整体的学习印象不深刻的现象。而通过思维导图逐层构建的过程,能够让每个学生都清楚地知道需要做什么、要解决哪些问题,更好地帮助学生理解作品的整体框架,形成解决问题的思路。

例如,在教学《穿越迷宫》一课时,由于学生是第一次接触多个角色的人机交互的小游戏,在制作前教师就提出问题:需要做哪些准备工作?通过小组讨论和教师适时的补充提问,提炼出问题的关键字并用思维导图初步呈现,学生明确了先要准备导入背景与必要的角色。在接下来的学习过程中,思维导图又能有效地帮助分析角色的设计思路,如小猫是怎样移动的?小猫在移动过程中需要遵守哪些规则?最后在进行作品创编时,还可以继续利用思维导图进行丰富的联想,设置其他障碍,发散思维,增加创意,创作个性化作品,激发编程潜能,提高数字化创新能力。在整个学习过程中学生都能将自己的想法与思考通过思维导图可视化、具体化(如图2),思维导图的形成过程正是学生用计算思维对事件进行分解、抽象、概括来解决问题的整体策略的体现。不断地发现问题、提出问题、创新作品的思维碰撞过程促进了学生深度学习的发生,锻炼了学生解决复杂问题的计算思维能力。

● 程序流程图,走向程序思维

程序流程图是人们对解决问题的方法、思路或算法的一种描述。它能帮助学习者分析、抽象问题,建构解决问题的模型,呈现程序的结构,实现从自然语言到计算机语言转换的思维可视化,从而依据流程图顺利地编写程序,实现问题的解决。

1.理解程序结构的思想

程序流程图中的箭头能呈现程序执行的流向,描述比较复杂的编程思路与程序结构,且形象直观,便于理解。

例如,在教学《动物表演》一课时,让学生探寻让三种小动物按顺序表演的方法,最优化的方案是通过舞台脚本按表演顺序广播消息并等待,每个小动物角色负责接收消息并表演(如图3),其中蕴含了主程序调用子程序的思想(舞台脚本调用角色脚本),运用了结构化程序设计的思想。学生通过流程图能很清晰地理解程序的执行流向和程序的结构,如果有很多节目并随时需要更改顺序,通过主程序(舞台脚本)可以很方便地调整表演顺序。同样,在学习自制积木时,也可以引入流程图来理解程序结构,让学生深刻地体验到结构化程序设计思想的优点,可以高效地解决实际问题。

2.熟练计算机语言的表述

如果学生能够使用规范的编程语言来描述事件,那么正确使用对应的控件编写程序也就水到渠成了,可借助流程图让学生将自然语言转换成编程语言,锻炼其表述能力。

例如,在教学《穿越迷宫》一课时,在描述小猫不能穿墙和碰到老鼠的事件时,要求学生用“如果…那么…”的编程语言形式来准确描述小猫的动作,出示对应的分支结构流程图(如图4),由此熟悉流程图用规定符号的表示形式,然后讲解对应控件的实现,在之后碰到老鼠的事件时,先出示流程图再让学生用编程语言来表达。通过这样的方式让学生会看、会说,准确地理解流程图的含义,理解程序的结构,从而逐步学会运用流程图来描述解决实际问题。

3.架起语言转换的桥梁

学习源于生活,将学生生活中玩耍的游戏搬上编程的舞台,学生自然会兴趣盎然,但是从实体游戏直接转化成与计算机交互的游戏没有想象的那么简单,教师可借助程序流程图架起从自然语言转化成图形化编程语言的桥梁。

例如,在教学非常经典的“猜数字”游戏时,笔者先与学生玩实体游戏,在学生玩得意犹未尽之时,提问:由小猫来扮演教师的角色,每位同学都可以跟小猫尽兴地玩,那么怎样来设计这个游戏呢?虽然学生有了亲身体验,可以对游戏的流程用自然语言进行大概的描述,但是马上进行脚本的搭建,大部分学生还是无从下手,自然语言到图形化编程语言的过渡还存在较大的困难。此时,教师有针对性地提问,让学生说说在这个游戏中小猫要做什么,学生要做什么,分清交互角色的每个任务,弄清问题的关键。教师根据学生的回答用简易的程序流程图将实现游戏的过程直观形象地表达出来(如图5),师生共同分解、抽象出实现游戏的基本模型,这样就让思维可见,同时也理清了对应脚本搭建的思路,随之的学习也有章可循,变得更轻松。

在游戏转化的实践中,程序流程图有效支撑了学生的思维转换,实现了从自然语言向图形化编程语言的过渡,学生体验了从问题抽象到建立模型的计算思维的方法,计算思维能力得到了有效的锻炼。

● 结束语

小学生的思维正处于形象思维到抽象思维的过渡时期,其计算思维能力的培养不是一蹴而就的,在图形化编程教学中,要灵活运用“思维导图”和“程序流程图”这两个思维可视化的学习支架发展学生的计算思维。运用思维导图对问题进行分解来呈现各个角色之间的联系,构建解决问题的整体思维,培养学生由处理简单问题到处理复杂问题的思维能力;运用程序流程图分析每一个角色的每一个动作,并帮助理解程序结构,实现自然语言到计算机语言的有效转换,培养学生更精准地把握问题的抽象思维能力。以上两者相辅相成,逐步提高学生由自然思维向计算机思维转换的能力,培养学生运用计算思维的方式去解决实际问题,是发展学生计算思维能力的有效途径,也是提升伴随学生终身发展的信息技术核心素养的有效方法。