公务员期刊网 论文中心 正文

Python程序设计教学改革浅析

Python程序设计教学改革浅析

摘要:为解决Python程序设计课程教学中教学内容不丰富、教学方法与考核方式单一的问题,利用超星学习通作为学生线上学习平台,上传课程专题教学视频和单元测试以帮助学生课前预习与课后复习,并在线下传统课堂教学中引入案例式教学、项目化驱动教学和讨论式教学以丰富教学内容并提高课堂吸引力。通过丰富并完善现有考核体系,可强化过程学习的重要性,并形成科学、合理的多维考核评价机制。此外,研究发现基于混合教学模式的教学改革能有效增强学生的自学能力,激发学生学习的积极性,并提高其综合运用知识解决实际问题的编程应用能力。

关键词:混合教学模式;Python程序设计;过程考核;教学改革

0引言

随着网络时代下人工智能、大数据、云计算等领域的飞速发展,Python因其具有语法简单易学且具备强大的第三方库等优点[1],不仅成为上述领域最受欢迎的编程工具,而且成为高校计算机专业学生应对市场需求而需要掌握的就业技能之一[2-3]。Python程序设计是中国矿业大学开设的通识教育基础必修课程,对该门课程的掌握程度将会直接影响学生利用计算机分析、解决问题的能力,同时也将对学生学习后续计算机相关课程产生很大影响。但是就目前国内高校Python程序设计教学现状来看,仍然存在学生编程应用能力差,以及课堂教学以教师为中心,学生无法成为教学设计的主体,导致学生的学习积极性难以被调动、自主学习能力有待提高等突出问题。Python程序设计教学目前存在问题主要包括:(1)教学内容。大纲中涵盖了Python语言的基本语法、程序控制结构、组合数据类型、函数和文件等主要内容,但由于教师上课更重视知识体系的系统性和全面性,因此会在课堂教学中详细对每一个知识点进行讲授。每章的学时一般为4~8学时,其中针对编程语法的理论讲解几乎面面俱到,但每个章节中结合实际应用的案例,尤其是综合若干章节重难点应用的案例较少,学生无法深入体会编程的魅力以及如何使用计算机语言解决实际问题。同时受到课堂总学时40学时的限制,整个课程也只能完成6~8章的授课内容。通常当讲到Python在科学计算和数据分析以及网络爬虫中的应用时,往往因为学时紧张而只能点到为止,学生无法深入体验Python在人工智能相关领域的深层次应用。(2)教学方法。我国大部分高校程序设计课程普遍采用以教师为中心的传统授课模式,学生仍然是被动灌输的群体。在整个授课过程中,教师是课堂的主体,教学形式仍然以PPT课件为主,教学方法比较单一[4]。学生作为知识的被动接受者,在整个学习过程中缺乏学习的主动性。该教学模式在一定程度上不利于培养学生的自主学习能力和实践应用能力。(3)考核方式。我国大部分高校程序设计课程都以期末考试成绩作为主要考核评判依据,通常期末考试成绩占总成绩的70%,平时成绩只占30%。该考核体系不可避免地造成了一部分学生不重视过程学习,只把学习重心放在考前一两周时间里,突击看书、刷题,甚至用死记硬背的方式通过考试。在该考核模式下,学生几乎没有日常的学习压力,而这种零压力的过程学习方式,会使得学生对章节内容的掌握不够扎实,不利于知识在大脑中的长期储备与灵活运用。

1相关研究

计算机和互联网的飞速发展使在线学习风靡全球,随之而来的大规模开放在线课程(MOOC)和小规模限制性在线课程(SPOC)等新型教育形式开启了全民在线学习的新时代。虽然在线学习在高等教育中的优势非常明显,如打破了空间和时间限制,学生可充分利用碎片化时间自由掌控学习进度,但同时也存在一些突出问题,如生生交流和师生交流较为匮乏,教师不能及时了解学生学习动态,并对学生自学中反馈的问题给予及时的指导与帮助。因此,单纯的线上学习并不能完全替代传统的课堂教学[5]。混合教学模式是指将信息化教学方式融入传统课堂,并将二者的优势有机融合,实现完全以学生为中心的教学模式[6]。混合教学模式将真实的教师课堂面授与虚拟的学生在线学习相结合,并将自主学习与协作学习相结合,实现了生生互动、师生互动和线上线下相混合[7]。在混合教学模式实施过程中,教师将课件、微视频、作业、测试、专题讨论等教学资料上传至如超星学习通等线上智慧教学平台,供学生课前预习和课后复习巩固,充分体现了学生的主体地位。线下则将传统课堂与线上学习反馈相结合,更有效地发挥了教师的主导作用。如今在程序设计课程中也越来越多地使用线上线下混合教学模式,很多学者对其进行了研究。如王文豪等[5]研究了在Java程序设计中实施线上线下混合教学模式;李慧等[8]进行了线上线下混合式一流课程建设的探索与实践;李峰等[9]实践并完成了Python课程的线上线下混合教学模式改革,并取得了很好的教学效果。本文探索了混合教学模式,实践线上与线下有机融合的教学改革。线上学习以智慧化教学工具为平台,以微课学习为任务驱动,辅以测试、小组讨论与项目作业,提升学生的自主学习能力;线下以学生的学习需求为前提,在传统课堂上实施多样化的教学方法,促进知识的内化。

2教学改革与实践探索

为激发学生自主学习的兴趣,提高课程教学质量,线上课程资源建设与线下传统课堂的有机融合需要考虑很多因素。

2.1线上课程资源建设需差别对待学生的不同

因为学生学习能力的不同,教师在设计线上自学内容时,需要差别对待学生的不同。在整体上将线上自学内容划分为两种类型:一类是每一章中语法相对简单、容易理解的内容,将其作为课前自学内容,也是学生的必学内容;另一类则是每一章重难点的拓展应用内容,学有余力的学生可在课后利用该内容进行复习巩固,属于选学内容。教师提前将这两部分自学内容按照专题录制为教学短视频,每个视频时长控制在10min以内。通过理论讲解结合实例演示,在降低学生自学难度的同时,也能提高学习能力较弱学生的自学积极性。目前我国有很多优秀的线上学习平台,如超星学习通、钉钉、腾讯课堂等,利用线上学习平台的预习与测试功能,教师可提前指定预习任务点,如指定一个或几个专题的视频学习。学生只有在规定时间内完成了指定的必学内容,才能进行自学测试,进而得到该章的预习成绩。选学的短视频内容旨在提升编程应用的深度和广度,适合学习能力较强的学生进一步拓宽视野。

2.2线下课堂运用多样化的教学方法

教学内容的丰富以及考核模式的改革都依赖于教学方法的改进,目前大部分高校的程序设计课程依然停留在以PPT授课为主的模式,学生依然是被动的接受者,这并不利于对学生自主学习能力的培养,因此教师需要在课堂中引入多样化的教学方法,不断挖掘学生的学习潜能。(1)案例式教学。对于线下的传统课堂教学内容,在安排学生完成线上自学内容的基础上,教师可将课堂重心放在重难点解析上,并结合大量应用案例,让枯燥的语法知识在灵活的编程应用中生动起来。比如在讲解列表这一知识点时,其基本语法如定义、索引、切片等不是很难理解,但是如何灵活使用条件判断、循环结构访问和操作列表中的元素,是学生在编程中会遇到的问题。教师不必拘泥于教材中的案例,可引入生活中的常见问题进行编程解析,如使用列表解决“选10乐透”的问题,即编写一个程序从文件中读取若干数字,并且判断是否涵盖了1~99之间的所有数字,或者解决随机从52张扑克牌中抽取4张牌的问题,这是学生们在生活中喜闻乐见的游戏。在有趣的教学内容引导下,学生的注意力很容易被吸引,听课效率也会得到大幅提升。(2)项目化驱动教学。项目的引入是对线上自学内容和线下课堂知识的补充与总结,每完成3~4章的内容,以学生们相对较难理解章节中的知识点为主线,将一个综合应用项目按照知识点拆分为多个案例,每个案例均从充满趣味性的问题解决入手,系统、全面、循序渐进地逐个展开对知识点的讲解,使学生们能够学以致用、融会贯通。项目化的教学实践注重培养学生分析、判断和解决问题的高层次思维,学会综合应用知识或技术解决实际问题[10]。以组合数据类型、函数和文件3章的重难点知识总结为例,项目主题为英文词典设计,要求在一个文本文件中预先存放与具有指定格式的单词和翻译相对应的若干行,设计一个界面让用户进行功能选择:添词、查词或退出词典,定义两个函数分别实现添词和查词功能,词典写入和读取均需对文件进行操作。当对此项目进行解析时,将项目按照知识点拆分为3个案例。案例一解决的问题是如何读、写文本文件中的数据,案例二则解析如何使用字典这个组合数据类型进行键值对赋值与读取,而案例三则强调函数定义、函数参数传递以及形参与实参之间相互影响的问题。实际上,该项目还涉及到选择结构、循环结构的灵活应用。在该项目驱动下,前面3章的教学重点内容得到了重点突出,学生们对知识的运用也有了更深刻、生动的实践编程体验。(3)讨论式教学。讨论式教学是学生在教师给出问题的引导下独立思考问题,然后通过生生互动和师生互动进行思考与学习,从而掌握课堂教学重点和难点[11]。在课堂中增加问题讨论互动环节,可强化学生的主体地位,并发挥教师在课堂内的指导作用,培养学生观察、独立分析及解决问题的能力。例如,教师在课堂中给出如图1所示的一段由学生编写的出错代码(彩图扫OSID码可见),在启发学生对程序进行纠错时,提出如下问题让学生进行思考与讨论:用户可进行几次输入用户名和密码的尝试?假设每一次尝试都存在用户名或密码错误,所有尝试后的程序运行结果是否相同?教师安排学生们带着这两个问题进行小组讨论,找到错误所在并给出问题解决方案。不同小组给出的编程算法可能不同,教师带领学生一起对不同算法进行分析与探讨,以找到最优算法。在该教学设计下,学生完全是课堂的主体,从分析、解决问题,到最优算法的确定,学生在教师的引导下既有团队合作,又有个体参与,能够更好地激发学生课堂学习的积极性。

3考核方式与实施效果

教学内容的丰富和教学方法的改革必然会引起考核模式朝着多维度、多标准方向发展,建立一个科学、合理、完善的考核体系,能够解决目前普遍存在的考核标准重结果轻过程、重理论轻能力的问题。强化过程考核,加强过程学习中的监督力度,对培养学生的自主学习能力、激发学生学习兴趣以提高混合教学模式下的教学质量具有非常重要的促进作用。

3.1强化过程考核

为提高学生对过程学习的重视程度,将期末考试成绩占比调整为50%,过程考核为50%。期末考试采用闭卷机考的方式进行,过程考核是对学生自主学习能力、团队合作能力、实践编程能力以及知识内化和固化能力等综合素质的考核,可有效提高学生日常学习的积极性,并消除部分学生存在的“平时不用努力,全靠考前突击”的侥幸心理。学生在均衡的学习压力下,边学习、边实践,边消化、边拓展应用,学生的学习潜能就会随着知识的持续不断积累而激发出来[12]。过程考核包括线上的课前预习与测试(15%)、线下小组讨论与课堂参与(10%)、线下项目作业(10%)和线上阶段性测试(15%)4部分内容,线上和线下各占50%。课前预习中的微课视频观看任务和预习测试,可利用网络学习平台如超星学习通来完成;小组讨论和课堂参与,其考核虽然无法做到即时量化,但教师可要求学生将小组讨论结果以作业形式上传到学习通平台,并着重说明自己在小组讨论中所作的贡献,从而有助于教师掌握每一个小组及每一个学生在专题讨论部分的参与度,给出相对公平、合理的考核量化结果;每次的阶段性测试可利用10~15min的课堂时间完成,学习通的监考功能可有效保证考核的真实性和公平性;项目作业也可利用学习通进行提交与评价,但考虑到可能存在的代码抄袭情况,教师需对学生进行抽查答辩,以保证成绩的公平性。

3.2实施效果

经过教学实践,相对于单一的传统课堂,线上线下相融合的混合教学模式取得了明显的教学效果。以工商管理类2020级04班的30名学生为例,平均成绩达到80.9分,其中90分以上的有8人,80分以上的有9人,没有学生不及格。通过强化过程学习,让学生对知识的掌握更扎实,通过案例和项目的引入以及讨论式教学,极大地提升了学生对课程的学习兴趣。为全面了解混合教学模式下学生的学习体验,课程结束后对学生发起了课程满意度线上问卷调查,问卷内容包括课前预习微课内容及其配套测试题的难易度、在线资源能否满足学生的自学需求、线下项目作业是否有助于学生编程能力的提高、课堂中案例的引入和项目分析是否能提升学生的编程兴趣、讨论式教学是否能提高学生的课堂参与热情和团队合作精神等问题。调查问卷结果显示,学生对问卷中各项内容的满意度均分在90分以上,说明学生非常认可在Python课程中实施的线上线下混合教学模式。

4结语

目前推行线上线下相融合的混合教学模式已成为我国各大高校教学改革的主流趋势。一方面,这种教学模式既继承了线下传统课堂教学的优势,又充分利用了线上丰富的网络资源,学生真正成为了学习的主体,学生的自主学习能力和协作学习能力都得到了大幅提升。但另一方面也面临一些新的挑战,如教师的工作量相对于传统授课而言大大增加,从微视频主题筛选和录制、预习测试和阶段性测试题目整理与归类、小组讨论专题设计与考核以及项目作业成绩评定等都有大量工作需要完成。另外,如何在课程中引入更多集趣味性、实践性和科学性于一体的案例和项目以丰富课程内容、提升课程吸引力,也是未来需要探索的重要内容。

作者:李向群 许新征 高娟 单位:中国矿业大学计算机科学与技术学院