● 引言
《普通高中信息技术课程标准(2017年版)》指出,教师在课堂教学中要注重对学生信息意识、计算思维、数字化学习与创新和信息社会责任四个方面核心素养的培养,而计算机编程无疑是培养学生计算思维的主要途径与方法。但笔者调查发现,在所任教的班级中,每个班级都有90%以上的学生没有接触过计算机语言,所以很难理解计算机编程语言的语义语法,也不会使用。因此,为了更好地促进学生在做中学,笔者在讲解Python时,将《必修1 数据与计算》中第2章的内容与必修2中《2.6 小型信息系统的组建》的内容相结合,设计了基于硬件的Python语言项目学习(如下表)。
● 实施过程
1.以身边事例引入项目
教师以学生身边的事例引入,引导学生分析“交通信号灯的亮灯的完整过程”,激发学生学习的积极性,并清晰地理解交通信号灯的过程及算法,为后面Python程序的编写打下坚实的基础。
2.搭建硬件为Python编程铺路
本次课堂中使用的硬件有Arduino UNO R3板、红绿灯模块及杜邦线。教师利用1课时的时间讲解《2.6 小型信息系统的组建》一节的内容,让学生认识Arduino UNO R3板及板的主要构造(正极、负极、模拟数字端口、数字端口等)、LED灯、基本传感器的端口介绍及与Arduino UNO R3板的连线,并设置一个简单的实验,利用Arduino程序代码编写,让Arduino UNO R3板上自带的LED灯亮起来,并通过按钮控制LED灯。
3.做足准备,让UNO R3板读懂Python语言
第一步:在Pyhton中安装pyfirmata模块,让Python语言控制UNO R3板成为可能。
第二步:打开Arduino软件烧录文件(目的是让UNO认识Python文件并执行),烧录的文件如下页图所示。
4.项目活动设计,让灯亮起来
教师重点讲述第二课时的活动实施过程。
活动一:教师介绍硬件及其工作原理(1表示灯亮,0表示灯灭),让学生将USB插入到计算机的USB接口中,并完成相应的表格任务。
设计意图:通过UNO R3板的串口的填写及交通信号灯的接线,让学生更熟悉UNO R3板,为后续程序的阅读与完善做好铺垫。
活动二:教师给出只有绿灯亮起—熄灭、黄灯跳闪一次的代码,解释程序中导入pyfirmata库的代码,解释库的作用,引导学生填入UNO板的串口号,填好后运行程序观察灯的变化(绿灯亮灭后,黄灯亮灭),并要求学生根据灯的显示给四行代码添加注释语句(注释语句用#表示)。接着,引导学生观察并思考编写的程序需要完善的地方。学生通过代码运行会发现,当前黄灯只闪烁一次。但生活中为了便于发挥黄灯的警示作用,黄灯跳闪多次,红灯才会亮起,思考如何通过代码让黄灯跳闪多次。
设计意图:通过注释语句的填写让学生熟悉程序代码及已经实现的功能,方便学生对后面代码的理解和修改。通过黄灯闪烁多次的问题引出本节课的重点循环结构。
活动三:教师讲解for语句格式,通过下面的例子让学生理解循环次数的设置及执行过程,并通过计数循环语句的讲解,让学生利用for语句完善代码,实现黄灯的3次闪烁。
打印10颗“*”?print(“*”)写10次,思考:如何改成循环语句?
设计意图:通过简单的例子帮助学生理解计数循环,让学生理解for语句的使用及正确书写,并能解决实际问题。
活动四:引导学生做一个SOS紧急救援灯(三短三长三短)。
引导学生分析项目要求,并得出只用黄灯(3次快速跳閃,3次慢速跳闪,3次快速跳闪)就可以完成项目。
设计意图:设置挑战环节,激发有能力的学生进一步学习,最后通过欣赏优秀的作品,提高学生的学习积极性。
● 结语
本项目通过Arduino UNO R3板与Python编程语言的结合,让学生在“联系观察—分析思考—动手实践—反思调整”的过程中,一步步完成智能交通信号灯的制作,进而提升学生的思维能力,把学生学习的过程变成不断突破、不断超越的过程。