初中信息技术Python项目式教学的设计与实践
2022-04-29刘利红
刘利红
【摘要】项目式学习能让学生创造性地解决真实情境中的问题,从而明白编程的意义。以“成绩查询小程序”为例,分析项目式教学应用于编程教学中的必要性,重点对项目式教学展开研究,同时在项目活动中引导学生体验真实问题的解决过程,最终有效实现教学相长。
【关键词】项目式教学;信息技术;Python编程
《普通高中信息技术课程标准(2017年版)》倡导开展基于项目的学习方式。2022年4月21日,教育部发布的《义务教育课程方案和课程标准(2022年版)》也倡导项目驱动。由此看来,在今后的信息技术教学中,项目式教学仍然是趋势,因为项目式教学能真正为学生创造沉浸式的学习体验。
新课标将计算思维作为核心素养的一部分,而编程教学是培养学生计算思维的有效途径之一,使用当下最流行的程序语言Python来解决实际问题,培养学生的计算思维最为合适。本文以项目解决问题为向导,将项目式学习引入“成绩查询小程序”Python学习课程。
一、Python编程教学现状
目前初中教师在讲解Python时,通常是按照print( )—input( )—分支语句—循环语句和函数的顺序开展教学的。教师在讲授每个函数或者语句时会给出一个情境,而这些情境往往只针对某个知识点,在讲解下一知识点时又会更换为另一实例。授课方式是教师先讲半节课,学生再根据教师的讲解机械式地模仿,目的就是为了完成任务,只有极少数的学生去创新拓展。且信息技术课时较少,学生学习新知识时早已忘记上节课的内容。在这样的学习方式下,学生不能用自己编写的程序去解决问题,更不能将知识融会贯通,从根本上失去了学习编程的意义。由于Python是近几年才流行的编程语言,大部分教师在大学学习C语言较多,再加上课程改革之前的教材中编程内容不多,导致当前中小学信息技术教师编程水平不高。教师应提高自己的编程水平,寻求一种有效的教学方式,与学生共同学习、相互促进。教师只有参与到项目中才會发现问题并及时做出调整。在和学生协作学习的过程中,教师也要不断扩充自己的知识来解决教学中的问题,不断学习和成长。
二、在编程教学中应用项目式教学的必要性
1.真正理解编程的目的。编程的目的是让电脑帮助我们高效快捷地解决生活中的问题。正如本节课要研究的查询成绩小程序,从学生的角度来看,要想查询成绩需要一个欢迎界面,还要有一个查询模块;从教师的角度来看,需要一个追加学生成绩以及删除学生成绩的模块;从管理员的角度来看,还应该有成绩分析模块。项目式学习是围绕真实的情境展开的,只有立足于生活,才能切身体会到解决问题的关键。
2.迎合编程的学习方式。编程主要依靠学生投入时间练习,并且需要持之以恒。很多编程任务都是团队协作完成的,项目式学习就鼓励学生与同伴合作自主学习、动手实操。在“做中学”是项目式学习的重要特征,由此来看,项目式学习恰好与编程的学习方式相符。
3.学好编程的有效途径。学好编程的关键是学会总结和思考,单纯看课本、听教师讲解只能停留在编程表面。要想编写程序解决生活问题就要不断总结、勤于思考,将自己学习过的知识融会贯通,然后学以致用。而项目式学习则鼓励学生积极地发问,要保持好奇心,最后还要进行成果展示交流,并从中发现自己的不足。
三、案例:“成绩查询小程序”项目设计与实践
结合Python编程的语言特点,本项目设计参考了项目化学习流程。第一步,依据教材分析学习内容,确定学习目标;第二步,以问题驱动的方式展开头脑风暴;第三步,明确需要解决的问题,并形成方案;第四步,通过分组分工的方式分解项目任务,明确各自的任务;第五步,完善项目任务,小组轮流分享成果,指明亮点和不足;第六步,通过聆听小组的分享,展开小组互评和小组成员自评(如图1)。
1.依据教材内容确定学习目标。电话号码簿是信息技术八年级上册第13课的内容,属于综合案例课程,主要考察学生对以往所学知识的综合运用。本课中新的知识点有字典、打开文件的各种方式和try-except语句;以往学习过的知识点有if-elif-else语句、while循环语句和函数。使用项目式学习,不仅可以囊括这些Python基础知识点,还可以让学生通过协作学习将知识融会贯通,用编写的程序解决实际问题,从而体会到编程的意义。
2.驱动性问题(头脑风暴)。考试成绩与学生密不可分,而当前公布成绩的方式大多是在学校张贴或将成绩发至家长群或者在班级宣读。教师可针对成绩的发放方式,让学生展开头脑风暴,指出这几种方式的不妥之处,思考如何解决这一问题。
从广义上讲,项目式学习就是学生对开放性问题进行研究,并运用所具备的知识来制造真实的产品或制定出可行的解决方案。因此项目式教学必须围绕“提出问题—解决问题”这条主线展开。经过讨论,解决问题要从学生和教师两个角度出发。从学生角度出发:当前这种成绩公布方式不仅伤害了学生的自尊心,还泄露了隐私。从教师的角度讲:如果一旦发布的成绩有误,还要将原始数据和公布的数据一并更改。如果教师将每位同学的成绩都通知到个人的话,很明显加大了工作量。要想解决该问题,有学生想到模拟中考和高考查分系统,这样输入准考证号码便知自己的成绩,能有效保护隐私。但是学生很难体会到教师担忧的问题。此时更需学生本色出演,思考在这一过程中容易出现的问题,如考试时有没有教师算错分数的情况?有的同学填错考场号后,成绩被登记到别的班级如何解决?有的同学考试忘记填写姓名,后期补录如何解决?把考试中易出现的问题罗列出来,再让学生从教师的角度来思考解决办法。显而易见,分值算错需要这个系统有成绩更正功能;后期录入需要系统有成绩追加功能;考生成绩录错班级,需要系统有删除功能;而输入准考证号码查询成绩就是该系统最基本的查询功能。从提出问题到利用角色扮演来解决问题,很容易就想到成绩查询小系统应该具备的几个功能模块,问题迎刃而解。
3.确定项目名称(形成方案)。教材中第13课的主题是电话号码簿,电话号码簿在手机中应用最为广泛,以文件的形式保存在电脑中并不实用,也不常见。为了让学生本色出演,更具有发言权,笔者决定将本课的项目主题由电话号码簿更改为成绩查询。由于初中学习Python大多为基础知识,还没有涉及到数据库,本项目还无法实现像高考查分系统一样的用户登录功能,所以将此项目定为“成绩查询小程序”。
4.分组及分工。项目式学习通常会顾及学生的自由选择,并为学生的主动学习和团队合作打下基础。因此各小组成员可自由选择其中一个功能模块完成任务。表1为小组成员的任务分配,列出了小组每位成员需要掌握的知识点和难度系数,从而让每位组员有针对性地进行选择和学习。
5.实施方案。项目式学习并非是完全开放式的,教师要针对项目进行设计和指导。表2是教师根据学习目标和学情设计的方案实施步骤,学生可按照表2的步骤逐步完善图2的流程图,最终完成“成绩查询小程序”。
6.成果交流和反思。每个小组派一个成员将组员的程序分别定义成图2中lookup( )、add( )、dele( )和change( )函数,并且完成“成绩查询小程序”的代码编写,最后代表小组展示流程图和程序的运行结果,并针对新知进行讲解,说出设计亮点、遇到的困难和有待改进的地方。
7.评价与反思。针对自己在该项目中的表现,填写表3自我评价表;针对各小组的展示和讲解,填写表4小组评价表。
学生可以从小组分享中发现自己的不足和他人的优点。成果的分享是一个不可或缺的环节,有了分享才有反思,只有反思才会进步,有了进步,学生才能体会到分享的快乐,才能在项目式教学中快乐学习。
本文以“成绩查询小程序”为例,介绍了本项目的实施过程。在项目中学生体验到了“确定学习目标—提出问题—解决问题—确定方案—实施方案—反思评价”的完整过程,并且能够自觉主动地运用知识去解决问题,同时也培养了学生的沟通与合作能力。与此同时,教师在知识点重组、教材整合、学科融合和学情把握上都有所提高,真正实现了教学相长。
【参考文献】
[1]林拱标,袁泽姬.翻转的项目式学习(PBL)及教学实践[M].广州:中山大学出版社,2021.
[2](美)苏西·博斯,(美)简·克劳斯.PBL项目制学习[M].北京:中国纺织出版社有限公司,2021.
[3]夏雪梅.项目化学习设计:学习素养视角下的国际与本土实践[M].北京:教育科学出版社,2021.
(基金项目:本文系海南省三亚市2022年小课题“初中信息技术Python项目式教学的设计与实践研究”的研究成果,课题编号:A302-2022009)