基于PBL的初中Python程序设计实践探索
——以《分支结构——让机器学会做选择》为例

2022-04-27 04:13
教育信息技术 2022年3期
关键词:程序设计编程教学模式

刘 宁

(广东省广州市第八十九中学,广东广州 510520)

一、研究背景

2012年修订的《基础教育信息技术课程标准》指出,在中学课程模块“算法与程序设计入门”中要以程序为基础,以算法为核心,不以代码编写训练为目的,而以程序设计方法和算法思想的体验为宗旨[1]。学习编程并不是要让学生掌握编写程序的技巧,而是让其逐步接触、理解、体验编程的逻辑操作、算法、数据结构、工程设计等通用的工程方法和数学知识,这些核心知识的掌握和能力的提升才是编程教学的根本目的[2]。

自2020年9月起,广州市信息技术教科书第二册的《程序设计初步》改版,将原来的VB编程语言改成Python语言。Python语言,它语法简洁,极易上手,可以如同“胶水”一样把许多语言黏合在一起,由于它的简洁易懂和跨平台等特点,逐渐受到计算机编程领域的重视,目前已经成为最受欢迎的程序设计语言之一[3]。

随着教育方针的变革,传统教学方法和教学模式己经不能满足时代的需求和学生的需要,如何提高《Python程序设计初步》课堂教学的有效性,寻找一种既能激发学生学习兴趣又提高课堂教学效率的程序设计教学方法和教学模式势在必行。本文通过阅读文献、教学实践等方式,提出基于PBL模式的中学Python程序设计的课堂教学流程和策略,以期对编程教学有所帮助。

二、相关概述

(一)PBL

基于问题的学习(PBL)起源于20世纪50年代的医学教育,后来被其他学科领域所采用,如商业教育、建筑教育、工程教育等,并逐渐受到中小学教师的青睐[4]。PBL强调设置有意义的问题情境,通过让学习者合作解决真实性问题,来学习隐含于问题背后的科学知识,形成解决问题的技能,并发展自主学习和终生学习的能力。PBL教学模式是基于问题情境、学习环境,是以学生为中心、具有高度的互动性的教学模式[5]。

(二)Python程序设计

Python语言虽然语法简单,容易上手,但是对于初中生来说,依然存在编写程序的过程中需要不断调试、修改程序的问题。采用传统的讲演练的教学方式,学生仿照教师来完成编程的每一步,教学方式存在单向性的问题,教师与学生之间缺乏互动,学生的参与度不高,很多学生对知识点的理解还停留在表面上。随着难度的加大,学生一时无法掌握,进而失去兴趣,产生怠学心理,导致最终放弃。

在PBL教学模式下进行Python教学,可以让学生主动学习,提高课堂的教学效率。同时,将信息技术运用到学习生活中,利用生活中常见的问题为原型来推动Python教学也有利于学生学以致用。因此,寻求基于PBL的Python程序设计教学实践的操作方法与策略,有助于找到提高信息技术课堂教学效率的有效途径、方法。

三、基于PBL的Python程序设计课堂教学流程

笔者通过教学设计研讨和课堂实践研究,将基于PBL的Python程序设计课堂教学流程总结如为问题呈现、明确任务、问题探究、算法设计与程序编写、活动评价等几个环节,具体如下图所示。

基于PBL模式的初中Python程序设计教学流程图

(一)问题呈现

要针对常规课堂教学设置“问题”,让学生在有限时间内体验编程的成感。目前国内PBL教学主要应用在校本课程的教学、个性化学习小组的研学,或者是一个大项目拆解到不同课时里完成[6]。这样的教学模式对学生的能力要求比较高,对教师教学进度控制也有限制,不适用于常规课堂教学。而本次教学实践旨在研究PBL教学模式在日常课堂的适用性。基于问题的学习的学习过程包括“与现实世界所处情形一样,将问题情境呈现给学习者”。[7]问题设置的是“真实内容”,只有能引起学生关注和兴趣才能激发学生的学习动力。因此,在选取问题时,可以从学生数学课堂学习的知识,日常生活中遇到的问题、常用软件及游戏等几方面考虑。结合Python编程的教学目标,选取既体现编程思想,又贴合学生生活实际的案例教学。让学生即使在短短一节课内也能体会程序设计方法和算法思想,感受到“学以致用”的成就感。

(二)明确任务和问题探究

教师在课前做好充足准备,课上充当好导师和顾问的角色。基于问题的学习(PBL)中教师充当导师,扮演指导者或协调人的角色[8]。因此教师的重要任务就是设置清晰的学习目标,布置明确的学习任务,提供有效的学习资料。在这个环节,教师将课前准备好的问题情景,“任务清单”,“参考范例”等学习资源提供给学生。把更多的时间留给学生,教师隐身为“顾问”,[9]让学生成为课堂的主角,体会到自主学习的乐趣。同时,由于大部分学生能够自主学习,教师更能将时间留出来给学习困难的学生和小组,及时发现他们的学习问题,给予帮助和反馈。

(三)算法设计、程序编写

这个环节主要是学生在教师引导下小组协作完成学习任务。没有独立思考的时间,讨论与合作都可能流于形式,不仅不能让学生很好地思考问题,还可能破坏一些学生对问题的深入思考。因此,在任务布置之后,有必要给2分钟时间让每个学生独立思考问题的解决方案,然后进行小组讨论和合作分工。小组合作在很多课堂模式中多被谈及,但在实际的教学过程中又常常流于形式。究其原因主要有学生层次水平不均,常出现一人代劳、人员闲置等情况。因此结合日常教学经验,以利于合作,便于评价等原则将学生进行分组。为避免“浑水摸鱼”的学生难以被察觉,将每组人数定为3人左右。并针对分组情况和学习目标,围绕要解决的问题,将任务设置得更利于“合作分工”。既有需要共同讨论达成一致的解决方案,又有可以分开操作、单独完成的“分解任务”,这样,在教师任务布置中就能指引小组成员之间分工合作,尽量避免学生由于不熟悉合作学习模式而造成学习时间的浪费。

(四)活动评价

当小组完成任务后,教师通过教学系统给每个小组成员评价。课后,根据小组成员评价反馈情况,还可以对不同小组成员额外奖惩积分。如对小组评价中贡献较大,帮助他人的学生额外奖励积分,对被小组成员评价没有参与或学习态度不积极的学生扣除积分,这样做,学生的学习积极性和小组成员之间互帮互助的积极性都被调动起来了。

四、基于PBL的初中Python程序设计教学案例

本案例的教学内容选取了广州市信息技术教科书《信息技术》八年级第2章第3节“分支结构—让机器学会做选择”,是分支结构的第3课时,前2课时主要了解程序中条件表达式(关系和逻辑表达式)的表示方法、掌握条件语句的三种格式(单选、二选一、多选一)。本节课的主要学习任务是体会条件语句在生活和程序中的应用。具体教学流程如下:

(一)问题呈现

本课选取的“情景问题”是“判断三条边是否能组成三角形”。这是数学中的经典问题,是学生在初二年级上学期数学课的学习内容。符合PBL教学模式中“与现实世界所处情形一样,将问题情境呈现给学习者”的任务特征。在了解了条件语句的三种结构基础上完成这个任务属于在学生已经掌握的知识技能基础上可以构建的知识内容,同时因为是数学课堂遇到过的真实问题,现在能用编写程序的方式完成这个任务,学生对此容易产生兴趣。

(二)明确任务要求

本课设计了“判断这三条边能否构成三角形”任务清单。考虑到学生比较少以这种形式完成任务,对于任务清单中的“问题分析”和IPO设计(输入输出分析)恐怕不能很好理解,因此,以上节课完成的“判断一个数是奇数还是偶数”的任务为例,制作了任务清单参考范例,以便学生能更好得理解相关任务,并参考范例,完成本课学习任务。

(三)自主探究、合作讨论

教师在任务布置之后,首先给2分钟时间让每个学生独立思考问题的解决方案,然后进行小组讨论和合作分工。教师说明“判断这三条边能否构成三角形”任务清单,让学生明确具体要完成的任务同时,也给出小组成员分工合作建议,即合作讨论之后分工完成各个“子任务”,如问题分析详解、流程图设计、程序代码编写等。随后教师对问题解决方案进行阶段性总结,便于学生对知识的理解和掌握,以保障任务顺利进行。

(四)算法设计、程序编写

学生以小组为单位完成流程图设计、程序编写和程序测试。对于出现的问题,小组成员之间可以讨论分析,寻求解决办法。也可以询问其他小组的同学,组间可以互相体验各自的程序,交流学习经验,取长补短。

在任务完成过程中,教师要仔细巡视,对个别小组出现的问题给与及时的指导和帮助。对于有待完善的地方给出意见和建议。同时,监控班级整体任务完成进度。

(五)活动评价、课堂总结

通过巡堂指导,根据学生完成的情况和课堂时间,挑选部分有代表性的作品展示点评。教师重点讲解学生遇到的问题,并帮助学生梳理本课的学习要点,即体会条件语句在生活和程序中的应用。教师根据学生的表现和任务的完成情况进行客观的评价,以小组为单位给予加分评分。

通过作品展示、教师评价、小组互评,不仅能够活跃课堂气氛,促进学生之间的交流与合作,而且更是学生自我反思和自我判断的过程,在思考、欣赏同学作品的过程中,对所学知识进行巩固。

五、教学效果分析

通过“分支结构”练习题测试,将常规教学组和PBL模式教学组相对比,所得到的检验结果如表1所示。常规组学生得分的平均值为4.29,PBL组学生得分的平均值为4.74,PBL组得分高于常规组得分。两组得分的标准差可以看出,常规组得分的标准差为2.272,PBL组得分的标准差为2.459,PBL组得分的标准差较大。常规组与PBL组得分进行成对样本T检验,两配对样本的统计量t值为-1.175,概率p值为0.019,小于0.05。因此,基于PBL模式的Python编程教学的学生,分支结构练习题得分高于未使用此模式的常规教学组,不是偶然的,两者具有显著性差异。可以认为基于PBL模式的Python编程教学模式有改进教学效果的作用。

表1 “分支结构”练习题测试结果

根据学生问卷调查结果分析(如表2),可知学生对于基于PBL模式的Python程序设计教学普遍比较认可。

表2 学生问卷调查结果

对参与公开课备课、上课、评课的教师进行访谈,教师普遍对于此课程模式比较认可,认为其调动了学生的积极性,学生参与度高,授课教师课堂准备内容丰富,可复用性好,便于信息技术教师开发再利用。也有教师提出个别学生还是没能参与到课堂中,课程设计还需进一步改进等。

六、结语

实践证明,基于PBL模式的中学Python程序设计的课堂教学实践学习目的明确、过程清晰,只要选取适合的案例和教学内容,做好课前准备工作,如合理分组、制作任务清单等,学生就能很好得参与到课堂学习中,充分发挥主观能动性,主动探究合作学习。课堂任务的完成效果就很好,整节课的目标性、参与性、互动性都会增强。在实践的过程中也会遇到一些问题,比如在开展小组合作学习中,个别学生的学习情况不能被掌握,小组合作的充分性不足。一些纪律较差的班级,会出现学生课堂散漫,课堂无序的状态,如何增强课堂组织和管理的有效性有待研究。PBL在其他的课程内容是否适用,如新课讲授或者复习课是否也有参考的价值和应用的方法,也是我们进一步研究的方向。

以目前教学效果来看,基于PBL的Python程序设计教学能够实现学生在真实的问题中学习,培养信息技术学科思维,特别是计算思维,养成用学科知识解决实际问题的习惯,是值得我们不断学习和探究的教学模式。

猜你喜欢
程序设计编程教学模式
群文阅读教学模式探讨
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
基于Visual Studio Code的C语言程序设计实践教学探索
纺织机上诞生的编程
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
“一精三多”教学模式的探索与实践
“导航杯”实践教学模式的做法与成效