基于Micro:bit的项目式Python程序教学与实践
2020-04-27姜孝春
姜孝春
如何提高学生学习程序设计的积极性和参与度?兴趣是最好的老师,将程序知识的教学融合到一个个开源硬件项目设计之中,寓教于乐,能够给师生带来新的程序教学体验。
在基于Micro:bit的Python教学实践中,我们创新了一套基于Micro:bit开源硬件的项目式Python程序设计课堂教学范式。用Micro:bit硬件代替VB的窗体设计环节,学生可以直观地把项目设计成果掌控在自己的手里,同时也能更加聚焦于程序设计的核心——算法,有效提升了课堂上的程序设计完成率。
基于Micro:bit的Python项目式程序课程
Micro:bit是一款便携、易于学习的可编程开源硬件,不仅支持多种即学即会的图形化编程环境,还支持多种主流的代码编程语言,甚至还能支持运行Python,让我们可以低成本实现基于Micro:bit开源硬件的Python程序教学。打通软件与硬件的程序设计教学,用硬件实物代替界面设计,能使学生更专注于程序逻辑,学习过程更聚焦于程序知识,更有助于学生突破软件限制,培养学生的计算思维和解决问题的能力。
学生在完成项目的设计中,需要团队协作发散思维设计方案,通过学习预设的相关Python知识点对开源硬件编程,完成项目设计,在项目的迭代、优化中巩固教学知识点,培养学生的计算思维和综合创新能力。学生在基于Micro:bit的项目式学习中训练计算思维,通过Python程序设计语言实践项目设计的方式和方法,获得运用程序设计解决问题的成功体验,不断增强学习程序设计的信心,通过创新和展示激发了学生源源不断的创新动力,使学生深度参与程序学习,培养学生运用计算思维设计方案和解决问题的能力。
基于Micro:bit的项目式Python程序教材
编写原则:教学内容由简单到复杂,由基础到应用;章节和项目的设置依据高内聚、低耦合的原则;项目实现方式既有程序设计也有硬件搭建。用软硬件结合的方式,从学生原有的块语言程序设计基础完成到代码语言的过渡,逐渐培养学生运用开源硬件与程序设计结合的综合项目设计能力。
基于Micro:bit的Python项目式教学设计模型:基于已有知识水平,本着让学生感兴趣、让教师可掌控的原则,我们采用贴近中学生生活的项目式教学方式,综合STEM理念对课程进行整合,运用创客思维设计课程,将Python语言程序设计知识与Micro:bit开源硬件进行整合,组成一个个教学项目。每个项目的教学过程分为情境式项目导入、项目分析、问题分解、技术实现、团队展示和应用拓展这几个环节。
校本教材的整體设计思路:以课程指导纲要为指导,基于Micro:bit的Python程序教学课程主要用于八年级下学期的程序教学,依据课时安排和学生已有知识能力等实际情况,设计了16章教学内容,每章设计一个项目范例,用1~2个课时完成。每节课的教学都有明确的学习目标、程序相关知识点,通过Micro:bit组件和Python语言知识,完成范例项目,并在此基础上尝试拓展思考和创新。教材第1~3章为入门的基础内容,第4~12章为项目式Python语言程序设计教学,第13~16章为综合项目设计。
基于Micro:bit的项目式Python教学实施
下面以第8章《循环很有趣》的教学设计为例,结合课堂教学过程中所涉及的多个环节逐一进行阐述。
课前准备:2人一组,BBC micro:bit,USB连接线,教材、学案。
教学目标:了解遍历的一般概念;掌握for…in结构;运用range()函数生成相应的列表;掌握display.set_pixel()方法;在教学过程中积累依据规则进行代码编码的经验;培养采用小组合作形式解决问题的能力;体会开源硬件编程的乐趣;激发学习程序设计的兴趣。
1.项目情境导入
每个项目都有一个吸引人的项目名称,如“会呼吸的灯”,通过情境文字结合配图对项目进行描述,将程序教学与创客教育有效整合,形成一个个贴近学生生活的创新项目设计,赋予课堂活力,激发学生创造与设计的兴趣,培养学生学习程序设计解决实际问题的综合能力。同时,为了便于课程的实施推广,更高效直观地引导师生自学,结合易加互动平台上的课程资源库建设,录制并上传微视频,师生通过扫描二维码即可观看《会呼吸的灯》等所有课例的完成效果演示视频。
“会呼吸的灯”是指灯光在程序控制之下完成亮度由亮到暗的逐渐变化,并且不断循环,好像是人在呼吸一样。在实际教学中,教师引导学生合理使用Micro:bit的硬件功能与性能,构想实现效果的多种可能性,在此基础上展开讨论分析确定程序设计方案。
2.动手写一写
在完成项目情境导入、项目流程分析之后,教材同时设计了Python语言和图形化块语言两套程序方案,这样既可以为Python初学者提供阅读程序的阶梯,也可以丰富学生对程序设计的认识,同时有助于整班上课时学困生的差异化教学,让无法运用Python语言完成程序设计的学生也能通过简单易学的块语言感受到程序设计带来的乐趣和成就感。
教师引导学生根据Micro:bit开源硬件的特点,运用Micro:bit自带的5×5LED点阵信息屏幕作为灯光,通过程序控制实现亮度逐渐从暗到亮,再从亮到暗。这里从暗到亮需要按照图像*(1/9)、图像*(2/9)……图像*(9/9)的顺序将图像逐一显示出来。每次显示变化的是图像*(x/9)中的x,而且x是从1到9有规律地变化的,对此本程序可以学习使用for…in遍历结构。反之,让x从9到1变化则实现从亮到暗。学生在通过动手写一写编写Python语言程序的探究学习中,可根据自己的知识与经验和教材的提示,通过小组合作完成相关任务。“动手写一写”Python语言和图形化块语言两套程序方案如图1所示。
3.代码解说
先对程序进行总体概括性描述,然后按程序运行流程进行逐条解释,其中贯穿新授的知识点介绍。根据章节设置,为了便于教学目标的达成,以及难点、重点的突破,其中穿插了项目相关的“Python知识”模块,将Python知识重点进行详细讲解,从一般语句结构介绍开始,配有文字描述和程序流程图,结合例程进行讲解。从常规应用到特殊情况和注意事项,力求细致、全面、简洁。“Micro:bit知识”模块如图2所示,配图介绍了项目设计所运用到的Micro:bit相关传感器性能、参数,以及在MicroPython环境中“microbit”内置模块对象的调用方法和注意事项。
4.思考题
通过思考与实践巩固本节Python程序语言知识,鼓励学生综合运用新旧知识,充分发挥小组的创造力解决新问题、设计新项目,在以小组为基本单位的项目式学习中培养学生的计算思维和团队协作能力。
例如,在本节内容后布置了如下思考题:实现一个“闪烁的星空”的效果,即在LED屏幕(天空)上随机点亮(9级)一些点(星星),然后这些星星的亮度逐渐由亮变暗直至消失,而这些星星会交错地出现,周而复始,就像夏日夜晚中摇曳的星空。在这个项目中,学生设计除了需要用到本节的for…in遍历结构,还需要复习之前做过的项目,综合运用第6章《随机数的乐趣》中的随机数对象random,结合micro:bit知识和range()函數生成相应的新列表,完成程序主干部分;而“这些星星的亮度逐渐由亮变暗直至消失”,则是开放性的设计,可以通过多种方式达到殊途同归的效果,训练学生的发散性思维,实践和探究解决问题的多种策略。
5.运用“易加互动”学习平台支持,共建优质在线资源
“易加互动”学习平台是苏州工业园区智慧教育网络平台,全区教师、学生做到人人有账号、个个能登录。平台资源共建、共享简化了教师工作,教师可以在平台上分工协作开发课程,共同完成资源库建设,《跟着“小微”学Python》(苏州大学出版社出版)课程资源已经通过易加平台共享给全区教师,教师可以引用共享资源,创建适合自己教学的新课程资源。“易加互动”学习平台丰富的教学资源和互动评价为学生自主学习提供了有力的支持。运用“易加互动”学习平台支持,可有效开展差异化教学,促成高效互动的程序项目式Python程序设计课堂。
课程实施的感悟与收获
在开展基于Micro:bit的项目式Python程序设计教学过程中,教师在课堂教学中起引路人的作用。教师要熟练掌握Python语言,熟悉Micro:bit的硬件性能,也需要了解创客教育的规律,充分发挥学生在学习过程中的主体性,把握学生在模仿、设计、制作、调试等环节中的难点问题,培养学生的计算思维和解决问题的能力,激发学生更多的创意。在教学中我们要激活课堂,调动学生的自主性,合理设置项目难度梯度,给予学生信任和充足的自主时间,通过适当的教学资源辅助和个性化指导,充分激发学生的想象力与创造力。
教师在程序教学的实践中应把握信息技术学科教育的基本规律和原则,从实际情况出发,引导学生从小项目做起,在学习、模仿、设计、反复优化作品的过程中不断累积,培养学生的计算思维和解决问题的综合能力。