聂建锋
(东莞市常平中学,广东 东莞)
随着《普通高中信息技术课程标准(2017年版)》的发布,“信息意识、计算思维、数字化学习与创新、信息社会责任”等4大信息技术核心素养逐渐成为人们热议的话题。其中,计算思维作为信息技术学科核心素养之一,以其面向学科的特性受到格外关注[1],而程序设计教学是落实计算思维的培养的一个重要载体。
传统的程序设计教学一般以知识点的内在结构和演化逻辑组织教学[2],先介绍知识点的语法格式,再通过实例说明知识点在程序设计中的用法。这种教学方法的特点是知识结构比较完整,有利于学生全面、系统地掌握知识。另一方面,这种以知识点为中心的教学方法也带来一个问题,就是学生容易在学习知识点的过程中只见树木不见森林,迷失方向。
由于信息技术课程并非高考科目,对于零基础、学习动机不强的学生来说,学习程序设计这种相对抽象的课程,往往存在畏难情绪。为了调动学生的学习积极性,笔者在校本课程《Python程序设计》教学过程总结出“三段教学法”的教学方法。所谓“三段”,就是把程序设计教学过程由浅入深、循序渐进划分为三个阶段:认识程序、会读程序、会写程序,每个阶段的目标和实现方法见下表。
程序设计教学的“三段教学法”
在教学的初期,向学生介绍程序设计与程序设计语言的基础知识,演示趣味小程序,如猜数游戏、汉诺塔游戏等,激发学生的学习兴趣。课堂中让学生运行现成的Python小程序,熟悉Python语言的编程环境,体验程序输入、处理、输出的执行过程,形成“Python程序挺好玩”的初步认知。
在学生对Python程序产生好感之后,接下来就要让学生从感性认知上升为理性认知。通过解释程序语句的含义、借助纸笔运算模拟用程序解决问题的过程、请学生修改程序体验不同的运行结果,不仅使学生了解Python语言的语法知识,更重要的是让学生学会从整体的角度去理解程序,既看到树木,也看到森林。
同时,也要注意引导学生理解程序是怎样解决问题的,体会程序中蕴含的计算思维要素,为下一阶段设计算法、编写程序做好铺垫。
阅读一个好程序就犹如阅读一篇好文章,不仅可以从中学习编程者排版布局、编程习惯、编程技巧等,还可以学习编程者不同的编程思想。为解决同一个问题而编写出来的不同程序,有的纷繁复杂,有的简洁易懂,有的漏洞百出,有的严谨细致。学会阅读程序、欣赏程序,也是一种学习程序设计必须掌握的重要能力。
能根据问题建立模型、设计算法并编写程序解决问题,是计算思维的显性体现。
编写程序可以先从解决简单的问题开始,如打印输出自己的姓名、货币转换等。对一些稍复杂的问题,如猜数问题、信息加密问题等,可以通过学生先阅读示例程序,修改示例程序,理解程序的逻辑流程,再进行归纳小结,最后自己编写程序的方式来降低直接编写程序的难度,增强学生的学习兴趣和成就感。通过应用练习,训练学生独立建模、设计算法与编写程序的能力。
通过阅读程序、编写程序的反复训练,让学生感受、理解逻辑思维与计算思维的区别,掌握运用计算思维解决问题的能力。
通过对学生以匿名的方式进行问卷调查,结果显示,59.6%的学生学习Python的兴趣比较高或很高,37.1%的学生对学好Python的信心很强,83.3%的学生对Python程序设计课程总体表示满意。
在程序设计课程中运用“三段教学法”进行教学,从认识程序开始激发学生的学习兴趣,从阅读程序中感受和学习程序设计语言,从编写程序中训练学生的计算思维,由整体到局部、由浅入深、循序渐进,降低了学习的台阶和难度,符合学习认知规律。
由于笔者所任教的学校在东莞高中阶段属于中等层次,学生对程序设计课程的学习动机不强,因此在教学过程中主要以培养学生的学习兴趣和形成良好编程习惯为主,以训练学生的计算思维为目标。同时,在教学内容方面也进行了适当降阶处理,期望通过这种方式减少学生对程序设计的畏惧心理,主要采用一些贴近生活、简单易懂的问题作为示例,上机练习也是多以改写程序、模仿编程为主,在培养学生的创新能力方面还有待进一步的研究。