尤作林
本文探讨了小学图形化编程的教学目标,提出教学安排,以游戏化项目式教学方法实现 Python编程的图形化编程教学,探索从 scratch 到 Python的过渡方法,对培养学生的思维能力及学习 Python的兴趣具有积极作用。
Python当前在很多领域都应用广泛,基于 scratch 的图形化编程是当前中小学学习 Python的重要方法,为了让学生早期接触 Python,培养计算机思维,可以采用 Python图形化编程的方法,将编程细化为简单、有趣的项目来学习。
教学目标
教学目标在于让学生掌握使用 scratch 进行图形化编程的能力,形成对 Python语法的认识,可以通过 Python进行简单编程。就过程与方法上,通过教师讲解先导知識,学生通过协助学习及自主探究的方式,形成对 Python的认识。在图形化编程的过程中,增强对学习 Python的兴趣。
教学安排
学习阶段,需要掌握 scratch 图形化编程软件的操作方法,基于相关模块来学习条件、循环等编程命令的使用。项目应用阶段为学生创作,目的在于提高解决实际问题的能力,如制作门铃、楼道感应灯和音乐盒等作品。
这几个阶段的难度逐渐增加、逐渐复杂,学习过程中随着难度的增加及语句的复杂性不断提高,学生可能会丧失对学习 Python的兴趣,为了让学生始终保持兴趣,形成对Python编程的热爱,需要教师采用游戏教学的方法来提高学生的学习积极性,通过学生动手操作及运行程序来得到成就感、满足感。在教学内容安排上,基于学生不同的年龄段安排符合其年龄、认知特点的内容,随着其年龄的增加,抽象程度也逐渐增高。
教学过程及设计
采用游戏化的项目式教学。设计教学情节,例如小女孩为小朋友介绍前往 Python王国的方法(安装 Python软件);小蟒蛇带领小朋友寻找新朋友,介绍使用 Python语言来通过电脑来进行交流;采用 Python程序计算水果总价;帮小动物画五角星等。
借鉴学生以往采用 scratch 编程的经历,教师首先为学生提供成品 Python代码,用模块化、图形化的方法来让学生研究与讨论,来了解代码的作用与结构,弄明白代码片段的意思,从提供的代码中选择片段进行拼接及调试,从而让代码正常运行。提前为学生讲解程序的结构,说明核心代码的作用,从而方便学生的学习。由于学生都已经使用 scratch 进行过模块化编程,因此这一方法学生容易理解,可以在短时间内上手。
学习 Python时,引导学生在实际体验、探索的过程中来学习。例如教师编写“抽奖”小游戏的 Python代码,让学生先抽奖,在实践过程中了解代码的作用、程序的结构。为学生提供编写好的代码,让学生将整个代码视作图形来分析程序的结构,通过拼接来探索逻辑运算符的作用,帮助学生认识抽奖游戏的实质。通过程序来模拟游戏化情境,为学生说明游戏的方法,比一比谁赢得最多,从而提高学生参与学习的热情。对 scratch 案例进行分析,让学生以自己熟悉的形式来认识抽奖程序的算法结构,从而自然地转到 Python的学习。学习时复习随机数的生成,为学生提供能从 1~9 中随机生成整数的代码,学生自行尝试将代码修改为从 1~3 中随机生成整数的代码。学生成功完成操作后,教师再次为学生展示代码,讲解抽奖活动的逻辑是生成随机数并进行比较,从而判断是否中奖及奖项,之后让学生尝试编写该程序,如图 1 所示。完成后教师提出具体要求“玩家有 100 枚硬币,每次抽奖费用10 枚硬币,当抽到一等奖、二等奖、三等奖时分别奖励 30枚、20 枚、10 枚硬币,继续提供代码,让学生对代码进行拼接,探索玩家中奖的概率。之后从商家角度来探讨该如何优化游戏才能提高自己的效益,如降低二等奖中奖概率、减少奖励硬币数量、增加抽奖所需硬币数量等,从而让学生认识到算法的重要性。学生成功尝试后,教师可以为学生展示基于 Python 的智能算法并发放给学生,让学生通过游戏认识到该算法如何让玩家早期获利,后期越玩越亏。
教学评价
教学评价包括了总结性评价及过程性评价。总结性评价发生于课堂结课时,学生完成综合性作品或项目,教师对完成情况进行评价。过程性评价发生于学习过程中,由家长、同学、教师共同参与评价。
Scratch 软件可以为小学生学习 Python带来很大助力,通过图形化编程来培养计算机思维,是一种行之有效的方式。基于 STEAM 理念的指导,采用游戏化的教学方法来让Python课程的学习变得更加有趣,提高学生对编程的兴趣。