基于Scratch培养初中生计算思维实践?
2020-04-27华俊
华俊
计算思维教育不是把所有学生都培训成“程序员”,而是发展学生利用信息技术工具与学科方法解决问题的能力,使其成为合格的“数字化公民”。Scratch软件是一款由麻省理工学院设计开发的编程工具,其特点是构成程序的命令和参数通过积木形状的模块来实现。在Scratch教学中,提升学生计算思维能力的实质就是培养学生利用计算机思考解决问题的办法(算法分析)和具体实现的过程(程序实现)的能力。
挖掘计算思维在初中信息技术课堂中的核心要素
基于Scratch软件教学来培养初中生的计算思维,笔者将麻省理工学院Scratch研究小组提出的计算思维三层架构和我国信息技术学科核心素养中有关计算思维的定义对接起来。对接如下:①计算思维概念:运用计算机科学领域的思想方法形成解决问题方案的过程中,所包含的一系列思维活动。计算概念包含顺序、循环、并行、条件、事件、回溯、运算符、数据等。②计算实践:具备计算思维的学生在信息活动中能够采用计算机可以处理的方式界定问题,抽象问题特征,建立结构模型,合理组织数据;通过判断、分析、综合各种信息资源,运用算法设计解决问题的方案。③计算观念:总结利用计算机解决问题的过程与方法,并且迁移到与其相关的其他问题解决之中。
笔者结合教学实践,提炼了初中信息技术课堂体现的计算思维核心要素以及每个核心要素在初中信息技术教学中计算思维的体现,如下表所示。在教学中,教师不能简单地关注以上表格的某一个要素,要培养学生的计算思维就要全面关注以上七个要素,关注系统性。
开发校本教材
1.教材整体解读
整套校本教材共开发了4个单元,每个单元分别包含3课、2课、5课、4课,每课内容1课时(45分钟)。第一单元到第三单元针对全体学生,第四单元针对选拔出来的社团学生。在开发教材前,笔者对本校初一新生进行了问卷调查,学生在小学阶段已经具备了一定的Scratch软件学习基础,为学生在初中阶段更好地用Scratch软件思考解决问题和具体实现提供了可能。如果将Scratch作品比喻成一座房子,那么Scratch軟件的八大模块组中包含的目前计算概念中涉及的顺序、循环、并行、事件、条件、运算符、数据等要素就相当于砖头,也就是说可以将计算概念类比成盖房子所用的砖头,计算实践就可以类比成盖房子的整个过程,学生的作品成果映射出砖头、过程方法以及在过程中形成的品格。砖头可能是盖房子的时候需要,但是在这个过程中形成的思维方法和品格可能在学习和生活中也需要,这就是计算思维中的计算观念迁移到了与其相关的其他问题解决之中。
2.教材单元解读
第一单元在小学的基础上进行授课。我们用3课时将“砖头”(八大模块组中涉及的图形化模块)传达给学生,并用“砖头”搭建一些简单的房子。第二单元是第一单元和第三单元的过渡,如果说第一单元是让学生在理解计算思维的基础上,明确了本教材每课的内容是以“砖头—搭建过程—房子”模式去开展的话,那么本单元就是重视了搭建过程。第三单元的内容是基于学生对“砖头”和“搭建过程”有了积累之后进行编写的,在每课的实施上,先给出一个情境模型,学生用问题化的学习方式自主探究搭建过程,生成一座房子。第四单元要依据学生对前三单元的掌握情况,结合学生的意愿、能力、意志品质选拔部分学生进入拓展模块的学习。在拓展模块里,学生会结合主题自主设计规则、设计方案、准备资料、编写程序、搭建实物、调试程序、修改作品、展示交流并推广。
提炼初中Scratch软件课堂教学流程
编程不是主要任务,课堂上基于“算法”的方案设计在学生心中地位提高了,对学生来说,编程是对设计方案的检验。综合前面对计算思维要素的挖掘,笔者提炼出课堂教学流程(如下图)。
教师在课堂上要引导学生经历计算思维过程。流程图上方是课堂教学环节,中间是师生需要做的工作,下方是培养学生计算思维涉及的要素。计算思维的形成包含两个阶段:从感性具体上升到思维抽象、从思维抽象上升到思维具体。在上页图中,从课堂开始到小结点拨完成了第一个阶段,从小结点拨到任务结束完成了第二个阶段。小结点拨是中间过渡环节,在分析游戏之后、编写游戏之前,学生完成了“思维抽象”的过程。
①课前备课。随着课时的推进,教师要结合学情重视资源的开发,因为资源会在课堂教学中起到“脚手架”的作用。②课堂导入。在课堂导入环节,师生要明确本节课要解决的问题,通过学生对任务的理解,实现学生对问题的自主界定和自主表征,培养学生的抽象能力。③分析子任务。课堂任务的设计要有梯度,课堂总体任务有几个梯度,就要分解成几个子任务,这个核心过程要对应重复几次。这样,就可将课堂教学目标分解成教学环节,层层递进去达成。④子任务总结点评。学生对每个梯度的子任务进行分析后,要形成解决方案,在此环节,每位学生要把自己对子任务的解决方案进行总结,教师要选出典型方案展示,要组织学生针对子任务的总结方案,进行初步评估。⑤开发测试。这一步是每位学生根据自己的“选择最优方案”进行编程、调试,那么编程阶段就是对方案的检验,实现了对自己心中认为最优方案解决问题的可行或者不可行的检验。⑥总结拓展。这一步是通过组织学生对课堂总任务进行总结,是对自己选择的最优方案经过检验后的汇报,也是对学生计算思维中“概括”要素的进一步培养。通过拓展环节,实现学生对自己个性化方案作品的进一步设计、资料选择、游戏制作。
探索以培养计算思维为目标的教学策略
教师深挖Scratch软件可以解决的问题,整合教材后,在课堂上从发现问题、分析问题、解决问题的思路来引导思考。在具体实施过程中,笔者采用了以下教学策略。
1.鼓励学生主动形成解决问题的思路
在实际教学中,可以让学生先玩一玩游戏,并引导学生通过观察玩游戏的过程思考与游戏开发紧密相关的核心问题。这样不仅可以调动全班学生的兴趣,还可以把学生引入到思考解决问题的起点,让学生提升表征问题、界定问题、提炼问题的能力。
2.鼓励学生接收可视化教学理念
给学生提供任务(项目)解决的流程图、概念表征图示(变量、链表)。问题解决流程图的运用可以采用以角色为对象,逐一解决问题,过渡到从整体上把握脚本的编写思路。在课堂实践时,流程图是在学生思考的基础上生成的思考模型,流程图要随着学生思维的发展逐渐生成,这样会收到更好的效果。以笔者开发的《深海逃亡》一课为例,学生分组讨论后,引导学生仔细思考组合模块,自制教具引领学生展开程序分析,学生组合教具,自主生成流程图进行课堂展示,此后再引导学生参照流程图进行程序编写。
3.重视程序调试、修改
遇到课堂难点时,教师应该以实践和探究作为课堂主要教学方式,引导学生进行小组合作学习,激发学生积极主动探究相关问题,从而以纠错的方式改进程序。通过程序调试,诊断我们的解决方案能否完成设计的效果,并考虑如何改进。教师只有在课堂教學中针对难点,巡视出典型例子组织学生思考、研讨、修改、完善,才会让学生聚焦难点进行调试,突破课堂难点,进而达到培养学生计算思维的目的。例如,在《红海行动》课例中,在学生即将编写完游戏,笔者在课堂巡视过程中发现,很多学生都会遇到如下问题:玩完一次游戏之后,中国军舰的位置没有回到游戏初始位置,导致上次体验的结果影响了本次的运行(有些学生一开始游戏,立即成功或者失败)。笔者抽取了一件有这类典型问题的学生作品进行演示,将问题在课堂上展现,在全体学生明确问题之后,组织学生分小组讨论,讨论过后进行修改,使学生通过直观的观察,聚焦修改后的一条语句后,感受到了游戏初始化的重要性。
4.鼓励多种算法,打破固有思路
教师既要在备课时重视多种思路的预设,又要在课堂进行时重视多种思路问题的生成。在课堂上教师鼓励学生质疑和创新,应尽量采用一题多解的方法,然后进行比较,最终选择最优的方案,以此来拓展学生思路,进行有意识的思维训练。同时,因为算法多样化,教师也要尊重学生的思维方式,理解学生能力的个体差异。例如,在《声音模块组》一课中,用钢琴演奏乐曲,当教师提出问题用Scratch软件演奏一曲乐曲之后,有些学生用弹奏音符语句演奏每个音符,最后将这首歌演奏出来,也有些学生建立链表将音符存在链表中,然后再用循环结构访问链表的方式优化了脚本,将这首歌弹奏出来。
培养学生计算思维过程中的操作建议
1.结合学情重视对计算思维内涵的挖掘
对内涵的挖掘既要看文献又要联系教学实际。对内涵的挖掘深度和后续的培养效果之间既互相联系又互相促进。因此,教师要深入结合教学实践,对“培养学生计算思维”这一主题有自己的个性化理解。
2.计算思维培养要结合学情,注意层次性和渐进性
思维的形成受很多因素影响,计算思维训练是一个长期的过程,切忌急功近利,将计算思维教育简单化。单纯的传授知识的教学不是思维教学,思维的培养必须基于所教学生的认知基础,符合学生计算思维发展规律。所以,教师要了解学生的认知基础,注意计算思维培养的层次性和渐进性。以大连地区为例,小学时学生有过Scratch学习经历,但小学、初中没有针对计算思维的理性认知的内容。教师对学生计算思维的培养不能出现断档或脱节。因此,在初中阶段,笔者自主开发了校本教材。教材第一单元用3课时从计算思维认知角度对Scratch软件的模块进行整合,既让学生在初中阶段对计算思维有了理性认知角度,又为后续课程培养学生计算思维的发展打下基础。笔者通过课堂实践的探索,提炼了以培养计算思维为目标的初中Scratch软件课堂教学模式。教师在使用时要注意两个原则:一是结合学情,二是抓住计算思维核心要素。因此,教师要通过教学实践经历用模式到脱模的过程。教师也要在教育学、教育心理学理论支持下,结合本校学生学情去辩证使用笔者开发的课程和提炼的流程,最终目的都是为了培养自己所教学生的计算思维。
3.重视评价和计算思维要素对接
在培养学生计算思维过程中,要重视将对学生的评价和计算思维要素互相结合起来,因为评价的目的是促进学生计算思维的形成,而且评价具有引导性,所以在课堂教学时,教师要重视关注学生在学会知识过程中的思维过程,做好跟踪、过程性评价。为保障评价相对科学,围绕前期提炼的计算思维七大要素,笔者开发了计算思维课堂评价加分表。因此,Scratch软件教学评价是由期末测试和计算思维课堂评价加分表两大部分组成。计算思维课堂评价加分表在实践中既激发了学生的课堂参与度,提升了学生用自然语言叙述设计思路的能力,又让学生在积极思维形成解决课堂问题的方法后去编写程序。
为更有效地培养初中生的计算思维,作为教师,我们应该继续探索,进一步学习相关的教育教学理论,并结合课堂实践进行思考,还要关注学情,结合学情进一步提炼培养学生计算思维更有效的策略、课堂模式、评价体系,让学生能够体味到计算思维的魅力。