基于计算思维的农村初中Python程序设计教学策略探索
2023-06-20刘敬文
刘敬文
[摘 要]计算思维是计算机科学领域中最基本的思想方法,落实计算思维的路径就是让学生亲历计算机科学领域的问题解决的全过程。初中学生处于形式运算能力不断加强的阶段,逻辑推理思维逐渐成熟,因此培养计算思维符合学生的成长需求,能推动学生的高阶思维发展。文章针对Python程序设计教学,提出创设问题情境、实施分层教学、互助调试、归纳梳理等多种策略,以提升学生的学习效果和计算思维能力。
[关键词]计算思维;Python;农村初中
[中图分类号] G633.67 [文献标识码] A [文章编号] 1674-6058(2023)09-0044-03
2022年4月,《义务教育信息科技课程标准(2022年版)》(以下简称新课标)正式发布,提出计算思维是指个体运用计算机科学领域的思想方法,在问题解决的过程中涉及的抽象、分解、建模、算法设计等思维活动。具备计算思维的学生,能对问题进行抽象、分解、建模,并通过设计算法形成解决方案;能尝试模拟、仿真、验证解决问题的过程,反思、优化解决问题的方案,并将其迁移运用于解决其他问题。同时,初中学生处于形式运算能力不断加强的阶段,逻辑推理思维逐渐成熟。由此可见,培养计算思维符合初中学生的成长需求,对推动学生高阶思维发展具有重要意义。
Python 语言语法简洁、程序结构简单,快速成为中小学信息技术程序设计课程的主流学习内容。通过Python语言的学习,学生的信息技术编程能力以及计算思维能力都能得到提高。2018 年,浙江省发布了信息技术课程改革方案,Python成为浙江省信息技术高考科目。山东、四川、浙江等多地早已把Python纳入初中信息技术课程体系,2021年广州市也将Python纳入初中信息技术课程教材。
一、农村初中Python程序设计教学现状
2021年,广州市初中信息科技课程将程序设计初步内容由VB改为Python。新教材的使用初期,教学过程中难免会出现一些的困难与疑问。笔者根据自身的Python程序设计教学经验,结合新教材内容与新课标要求,分析本校Python程序设计教学现状。
笔者所在学校是镇属农村初级中学,学生信息技术知识缺乏,基本技能薄弱。超过68%的学生小学阶段未能按照课程规划顺利完成信息技术课程;超过一半的学生不会打字;本应在小学阶段学习的图形化编程,不少学生却没接触过;大部分学生缺少程序设计思想。在学生进入初中后,由于信息技术为非中考科目,部分学生不重视信息技术这门学科。同时,学生普遍认为Python 语言较难理解与掌握,且内容枯燥,提不起学习兴致,因此在学习过程中只会模仿教师的程序代码,未能真正理解程序设计语言,导致容易遗忘知识内容,出现畏难情绪。
农村初级中学师资薄弱,部分教师并非计算机专业,而是跨学科兼职,同时还兼管设备维护、平台管理等,工作任务繁重。Python進入广州初中信息技术课堂的时间不长,适用于初中Python程序设计教学的参考资料较少,同步课堂教学资源也不多,需要教师花较多的时间和精力进行备课、准备学习素材、挖掘课堂资源等。传统的程序设计教学方法以“讲练结合”为主,即教师讲授知识点,学生做模仿练习。在该教学模式中学生并不理解程序的含义,一旦脱离了教师的演示,他们便会不知所措,更难以达到运用程序解决问题的课程要求,学生的计算思维能力也得不到锻炼与提升。课程内容由VB改为Python后,大部分教师仍使用VB的教学方法来组织课堂教学,这不利于Python程序设计教学的顺利开展。
二、农村初中Python程序设计教学策略
笔者结合本校Python程序设计教学现状,专研新教材与新课标,并结合本校学生的学习特点,归纳出以下几点教学策略,以期提高农村初中学生Python程序设计的学习效果,提升学生的计算思维。
(一)创设问题情境,激发学习兴趣,培养计算思维
问题情境是教师根据学情和教学内容创设的以问题为线索引导学生解决问题的真实情境。教师通过创设问题情境激发学生学习兴趣的同时,引导学生思考分析如何解决问题,促进学生思维水平的提升。课堂伊始,通过创设情境设置简单的引导性问题,不仅关联本节课的知识点,还可将抽象的问题具体化。比如,关于循环结构,课本开篇例1就是累加求和程序,求 1+2+3+4+5+…+n的值。内容枯燥且有一定的难度,不利于学生理解和掌握。教师不妨从学生熟悉的“小高斯快速算出1+2+3+…+100”的故事引入课题,然后设置问题:小高斯是怎样计算的?其他小朋友又是怎样计算的?引出计算机的计算方法和其他小朋友的算法一样,再引导学生推导出“和=和+循环变量”的公式。用学生熟悉的故事来创设情境,更有利于激发学生的学习热情,而提出引导性问题可让学生形成主动思考的习惯。
问题情境的创设不应该是单一的,而应具有多样性、真实性和层次性。教师可以采用图片、游戏、实物等创设丰富的问题情境,以吸引学生的学习兴趣。在创设问题情境的时候,还应注意结合学生的学情,遵循学生的认知发展规律,由易到难设置问题,同时尊重学生的个体差异。创设丰富多样的问题情境,不仅能激发学生学习兴趣,更能让学生在解决问题的过程中学到知识与技能,提升计算思维。
(二)简化教材案例,由浅入深,实施分层教学
广州作为国际化大都市,教育与科技都位列前沿,市区学生的计算机能力普遍较强,对教材内容的理解也较为透彻。而广州郊区及乡镇农村的学校与市区学校存在着较大的差距,学生在计算机方面的已有经验相差较大。农村初中学生往往较难理解教材中的知识内容,因此教师在教学上须循序渐进。仍以循环结构的教学为例,如果开篇就依照教材从例1开始让学生学习1+2+3+…+n的累加,大部分农村初中学生理解起来是有难度的。为此,可重构教材内容,从简单的例子如输出1,2,3,4,5或者5,4,3,2,1等开始,先让学生理解循环基本结构,再进入累加学习。而在累加学习案例中,可先从简单的例子1+2+3+4+5开始,再到课本例子1+2+3+…+n。简化教材内容,再由浅入深,这样可让大部分学生都能够较好地理解循环结构的应用。
初中学生的逻辑思维能力尚处于发展阶段而农村初中学生普遍缺乏编程学习基础,因此对他们来说独立编写一个完整、正确的程序是一件十分困难的事情,他们常常需要反复修改程序的各种错误,而课堂时间又很有限。为此,教师可让学生进行补充程序代码的练习,即教师给出部分代码,学生只需要填写核心代码。如此不仅可以帮助学生掌握相关知识,而且在一定程度上降低了学习的难度,提高了学生的积极性和学习效率。
此外,农村初中学生的信息技术基础与能力参差不齐,教师可根据学生的不同情况设置分层任务。比如,补充程序代码可作为基础练习,完成基础练习的学生可以进行进阶练习,尝试独立完成全部代码。分层任务能让信息技术能力较强的学生扩展知识面,提升能力。而对于信息技术基础薄弱的学生,则侧重掌握基础内容,同时进行适当的提升,进而更好地理解知识内容。分层教学可使学情不同的学生都能在课堂上享受到学习的乐趣与成就感,获得良好的学习体验。
(三)互助调试,合作交流,强化思维
算法设计编写与优化的过程,实际上是学生通过程序设计解决问题的过程,这一环节可以培养学生的问题解决能力和算法设计能力。在课堂教学中,基础任务的设置可以使用“易学”课堂系统,以便学生能及时了解自己的学习情况。同时,教师也能及时了解每个学生的知识掌握情况以及班级总体学情,进而更好地调整课堂教学。让学生独立思考并完成代码编写,目的在于使每位学生都能锻炼其算法思维能力。比如,课后习题程序编写“1+2+3+…加到多少时,累加的和(total)大于1000”。有的學生未掌握while的基本格式,有的学生未能理解while的用法与功能,导致这些学生无法正确编写程序,出现畏难心理,不愿意再尝试。对此,可对学生进行分组调试,进入协作交流环节,让学生交换想法,优化程序。同时,也可以让编程基础较好的学生辅助基础薄弱的学生,这样不仅能让基础薄弱的学生巩固知识,也能让基础好的学生再次深化对程序的认识。这一环节不仅可以培养学生的合作能力,还促使学生用语言符号将自己的想法表达出来,培养学生计算思维中的数据表达能力。
(四)归纳梳理,举一反三,培养概括迁移能力
归纳梳理知识点是课堂教学中非常必要的环节,可帮助学生明确学习内容、梳理知识点、完善知识体系和锻炼概括思维能力。比如,编程基础知识点包括数据类型、常量与变量、运算符与表达式、数据类型转换函数、赋值语句、输入和输出语句、注释语句等,知识内容较多而且较分散。教师可借助思维导图,引导学生归纳知识点,逐步形成知识网络的同时,提高概括思维能力。
最后是知识的迁移应用环节。迁移应用任务应贴近学生生活,把 Python 语言落实到实际生活中,引导学生学以致用,培养其迁移应用能力。比如,在学生学习了猜数字游戏的案例,归纳了循环结构的格式与功能后,可以引入学生熟悉的简单家庭密码锁案例,并让学生用循环语句编程来实现以下功能:当输入密码与预设密码相同时,打印输出“密码正确”,退出循环;当输入的密码错误时,打印输出“密码错误”,并可继续输入密码,直到正确为止。同类问题,还可以拓展为了保障密码安全的问题,如只允许用户输入5次密码,超过5次则退出循环,显示“密码错误太多,账户已锁定”,引导学生迁移运用所学知识。如此,学生便可将课堂所学的知识内容应用到实际的问题中,通过举一反三实现知识的迁移,在学以致用的过程中培养计算思维。
三、结语
在Python程序设计教学中培养学生的计算思维,能有效帮助学生更好地学习信息技术知识,并提高学生的学习效率。在Python程序设计教学中创设问题情境,能激发学生的学习兴趣,驱动学生的学习热情,让学生形成主动思考的习惯;简化教材案例,由浅入深,内容设置有梯度,可让不同基础层次的学生都能在课堂上获得良好的学习体验;互助调试,合作交流,可强化学生思维;归纳梳理,举一反三,可培养学生的概括迁移能力。在教学中,教师应充分认识到计算思维对学生学习的重要性,并在观念上重视对学生计算思维的培养,采取多样化的教学方式,加强对学生计算思维的训练,促进学生的个性化发展。
[ 参 考 文 献 ]
[1] 中华人民共和国教育部.义务教育信息科技课程标准:2022年版[M]. 北京:北京师范大学出版社, 2022.
[2] 马兴莹.基于计算思维的初中Python课程教学模式设计与应用研究[D].济南:山东师范大学,2021.
(责任编辑 罗 艳)