摘要:在混合式学习中,作业+闭卷的考核方式不能体现学生的编程思维和综合能力,不利于驱动学生自主学习。依据“Python程序设计”课程实践性强的特点和线上线下混合学习模式的特征,将理论知识考核与能力评价、技能考核与过程评价有机结合,从随堂测试、章节测试、课堂表现、线上主题讨论、作业、项目设计、期末考试等多元方式对学生进行考核,能激励学生发挥主观能动性,提升学生的编程能力、实践能力和创新能力。
关键词:课程考核、Python程序设计、能力培养
课程考核是课程建设的重要环节,是教与学的指挥棒,关系着教学质量和人才培养目标的实现。大部分学生会依据考核的形式和内容决定自己对该课程学习的广度和深度,合理的考核方案不仅能考查学生对知识点的掌握程度,还能培养学生运用知识解决实际问题的能力和创新能力。因此,建立合适的课程考核方案能激发学生学习的主动性,促进学生高阶能力的发展,提高课程的目标达成度。
一、“Python程序设计”课程传统考核方案存在的问题
“Python程序设计”是一门培养学生能熟练运用Python语言进行结构化程序设计,并培养学生具备较强的逻辑思维能力和反思能力,养成科学、严谨的态度以及创新意识,具有胜任编程工作的良好业务素质和身心素质的课程。课程具有知识点多,难度偏大,实践性强的特点,在教学中经常采用线上+线下的混合模式进行教学,便于学生利用视频巩固知识和利用资源包扩展编程思维。而在混合学习模式下,采用传统的平时作业和期末闭卷考试的方法进行考核,存在以下不足:
(一)传统考核方式不能客观的反馈学生的编程思维
闭卷考试重点是考查学生对知识点的记忆和理解情况,很难将分析和解决问题的能力体现在具体的试卷中。“Python程序设计”课程教学目标的重点是培养学生的编程能力和算法思维,要培养学生能分析问题,考虑解决问题的算法并转换为代码的能力,属于实践性很强的课程。在考核中,只是通过笔试对知识点进行单独考核,不能体现学生的整体编程思路。就算在笔试中考查学生编程,也会由于考试时长的限制只能考查简单的单个功能的实现,缺乏对学生算法能力和创新能力的考量。因此,笔试对于勤刷题的同学比较友好,而对算法比较熟悉的同学则没有发挥的余地。在这种考核方式下,学生很习惯根据考核方式学习内容,容易把关注点集中在单个知识点的背诵。如学生能知道列表的增加元素的方法有append()、insert()、extend()等,但具体案例中如何根据环境要求进行选择,不同方法后续应用中有何不同则不会太多关注。
(二)传统考核方式不能全面的体现学生的综合素质
作业和笔试的考核重点都是知识点的掌握,对学生的学习过程、学习态度、实践运用能力、工匠精神等综合素质没有相应的考核内容,容易使学生忽视自主学习意愿的养成和利用Python程序开发创新性产品的探索,会导致学生的知识体系与实际的行业实践相脱节,不利于职业发展。
(三)传统考核方式不能驱动学生的线上自学
Python功能强大,特别是库和函数很多,课程内容涵盖的信息量较大,只靠上课时间是无法获取足够的知识点,部分知识只能依赖学生利用平台的资源进行线上自学。在作业+闭卷的考核方式下,考核的范围都是围绕课堂的教学内容,不考的知识点大部分学生是没有动力去自学的。传统的考核方案不能很好的调动学生自主学习的积极性,不利于学生扩展见识。
二、“Python程序设计”课程考核改革的目标
“Python程序设计”课程考核改革的目标是通过多元化考核,全面客观的反馈学生的学习情况,促使学生能关注算法和编程思维的提高,激发学生主动通过线上各种资源自主学习,了解Python编程的发展趋势和应用实例,扩展学科知识面,提高自己的创新能力和实践能力,能开发实用的软件产品。
三、“Python程序设计”课程考核方法
在“Python程序设计”课程中,依据课程的实践性强的特点和线上线下混合学习模式的特征,将理论知识考核与能力评价、技能考核与过程评价有机结合,能形成更全面合理的考核方案。该课程的成绩构成为:总成绩(100%)=随堂测试(10%)+章节测试(10%)+课堂表现(10%)+线上主题讨论(5%)+作业(15%)+项目设计(20%)+期末考试(30%),如表1。
(一)随堂测试
随堂测试是教师在课堂上通过学习平台发送测试题,学生在规定的时间内完成测试。因为是在课堂上完成,为了不占用太多时间,主要采用单选、多选、填空、判断等客观题的方式进行。
在混合式学习中,知识的获取是由线上自学和线下活动共同组成,知识的学习很多是依赖学生对视频的自学,因此很多老师会对观看视频的任务给予一定的分值。其实视频是学生在课后的时间自己观看的,观看的效果如何不能通过视频观看的完成来体现,部分同学会利用手机播放视频但人没去看的方式获取分值,观看视频得分的考核方式不利于促进学生的学习。但是在混合式学习中,学生视频学习又是影响课程学习效果的关键,还是需要对视频学习情况进行考核,才有督促作用。在“Python程序设计”课程的混合式学习中,采用了随堂测试的方式对学生的视频学习效果进行评价和督促。
对于线上学习的主题,教师会在学习平台提供相应的资源包和学习任务单。在自主学习时段的下一周上课时,教师采用随堂测试的方法,测试的内容为视频介绍的基础知识和相应知识的灵活应用。通过随堂考核,督促学生完成线上任务,也方便教师了解学生的自学情况和及时强化疑难问题。
对于线下学习的内容,随堂测试主要是为了吸引学生认真听讲,跟随老师的思路。测试的内容为课堂上刚介绍过的知识点,最好是知识在实际生活中的应用或者是可能产生疑惑的问题。通过测试引导学生主动思考,同时也提高学生的学习兴趣。如在介绍random库函数时,测试题可以是福利彩票小功能的开发。有一种彩票方式叫“32 选7”,从整数1 到32 中随机选出7 个号码。如果所买彩票上的7 个数字和公布出来的一等奖的7 个号码完全相同,而不管顺序如何,那用户就中一等奖了。请学生选择random库中的函数编写能实现随机产生这7 个幸运号码的Python 程序。大学生的学习动机复杂多样,职业化的学习动机逐渐明显。学生都希望通过学习能把知识应用到实际生活当中,像这类能把教学内容与社会生活相关联的习题,很容易吸引学生探索的兴趣。
(二)章节测试
在“Python程序设计”课程的混合式学习中,教师在学习平台提供各个知识点的学习视频,视频不做任务要求。对应每个知识点,有相应的章节测试,采用题库随机抽题的方式,确保每份试题的题目尽量不同。每个知识点学生有3次测试机会,选择最高分数为该知识点章节测试的最后成绩。如果同学对内容很熟悉,第一次测试的成绩比较理想,则通过该知识点的测试;如果测试成绩不够理想,同学可以通过知识点视频进行复习巩固后再次测试。
章节测试的时间相对宽泛,一般为一周,主要目的是帮助学生发现知识点中存在的问题,查漏补缺。通过多次测试的方法,督促学习效果不理想的学生能借助视频复习所学知识,或者主动寻求老师或者同学的帮助,确保全班同学都能掌握Python语言的基本语法。
(三)课堂表现
2021年12月,教育部高教司吴岩司长在第十二届新华网教育论坛上指出,混合式教学要成为今后高等教育教学新常态。混合式教学的成效,重点在于线上有资源、线下有活动、过程有评价。混合式学习中,线下课堂更多是引导学生通过项目、任务、讨论等活动培养高阶能力。在活动中,学生积极主动参与课堂至关重要。在“Python程序设计”课程中,课堂表现评价的方式有:投票、抽人回答问题、自由抢答、主题讨论、分组程序设计等。
随着社会的发展,一方面是工作问题日益复杂,另一方面是分工越来越细,合作是未来大部分人工作的必然形态。在课程中培养学生交流能力、汇报能力和合作精神也是教学的重要目标。特别是软件系统的开发,往往都需要有软件设计人员、市场研究人员、编程人员、美工、创意人员等的团队合作,培养学生良好的沟通和交流能力对学生职业生涯发展至关重要。因此在教学中经常要通过小组的方式进行各种讨论、活动。
在小组讨论和活动中,如果只是对项目或任务的结果进行小组评价,则经常会出现小组内部分比较优秀的同学承担了大部分的任务,部分同学则并没有参与任务。为了避免该情况,“Python程序设计”课程在以小组为单位完成的任务中,是在小组内随机抽一位同学进行主题汇报和回答问题,以该同学的得分作为小组任务得分,促使每位同学都有责任感,必须参与小组的讨论过程和了解小组的成果。
在课堂表现评价中,教师还通过观察同学的表达意愿,学生之间的互动情况,学生回答问题或汇报时表达的技巧和专业内容的体现等进行评价,并在课堂上直接反馈学生的评价信息。比如某同学在汇报时,算法的表达很清晰,但是在功能阐述上,没有强调用户的体验感等。通过及时的有针对性的评价反馈,督促学生思考并不断优化编程能力与表达能力。
(四)线上主题讨论
主题讨论是围绕某一个疑难问题进行头脑风暴。课堂由于时间的限制,一些有争议的论题无法展开探讨,通过线上主题讨论的方式,更能促进学生思维碰撞。学生获取了一些灵感或者接触到一些原来没想到的切入点,就能利用网上资源,拓展学习。讨论中,也体现了学生针对具体问题进行交流的能力。
在“Python程序设计”课程中,学生可以发布话题,回复别人的话题,评论别人的回答等,都可以积分。
(五)作业
作业是针对单元知识点的复习巩固,主要包括编程和绘制单元知识点的思维导图。
“Python程序设计”课程最重要的教学目标是培养学生的编程能力,该课程最主要的作业是编写程序,用于巩固学生对基本概念的理解和迁移应用,强化编程能力。在作业中,尽量选择一些能有多种算法实现,具有实际意义的小功能的程序开发。
Python的方法和函数很多,容易混淆。如在海龟绘图的函数中,分为空间坐标、运动控制、方向控制、画笔控制等函数,运动控制函数又分为直线运动 fd(d)、曲线运动circle(r, extent=None)等函数。在海龟绘图模块,其中一个作业就是学生绘制个性化思维导图。通过绘图,帮助学生理清各函数的关系。
(六)项目设计
学生根据某主题进行项目设计,能体验需求分析、功能定位、算法设计、编程实现、代码调试等软件开发的完整过程。在项目设计中,能培养学生分析问题和解决问题、创新设计等综合能力。
在项目设计中,教师首先创设情境,导入项目主题和要求。项目是联系现实生活而开发的,最好具有开发性的特点。如在“Python程序设计”课程的组合数据类型模块,就采用了开发“资源共享平台”项目。学生可以自定自己想实现共享的资源,有些小组是图书,有些小组是特产,有些小组是就业信息等。开放性的项目有利于学生开发自己感兴趣的主题产品,更能调动学生的积极主动性。而且不同主题有不同的特色,开发软件时需要考虑不同的功能实现,后期汇报中也能扩宽学生视野,给其他组的同学经验借鉴。如在“资源共享平台”项目中,特产是需要有实物互换环节的设计,就业信息则可以直接通过网络进行观看。都是资源共享,但不同产品考虑的因素也有所不同。
学生根据主题分析平台的功能,如有用户登陆、登记自己的产品信息、查阅他人的产品信息、实现共享、用户交流等模块。然后考虑技术的可行性,如果需要可对实地进行调研,小组分工编码,合成代码并调试程序等。
在编程过程中,程序经常会出现BUG,项目中期会举行一个“大家来找茬”的活动。各组成员把自己组编程中遇到的问题进行展示,全班同学采用抢答的方式来找茬,能解决一个BUG的同学,就给该同学所在组的成员各加一分,以此激励同学培养反思能力。
最后,小组进行汇报,全班同学进行评价并提出完善建议,启发学生不断优化代码。对于项目作品,除了考虑产品的功能,也对界面的美观,用户的体验感等进行评价,培养学生精益求精的工匠精神。
通过项目设计,学生体会到利用Python语言解决实际问题的魅力、其创新想法也得到体现,能让学生更迫切的想学更多的知识,开发更多实用的产品。在项目过程中,也潜移默化的培养了学生的团队合作精神和分析与解决问题的能力。
(七)期末考试
期末采用闭卷的方式,确保学生对Python语言语法结构的系统化认识。考核主要以教学大纲为依据,尽量覆盖面广,知识点分布合理,难易适中,既有基础理论的考核,更多是技能的灵活应用。
在“Python程序设计”课程考核改革中,因为更关注过程考核,可能有部分同学会忽视期末的复习。为了避免同学不重视期末考试,因此采用了“一票否决”制,如果该课程期末成绩低于50分,则无论其他各项积分多少,该课程的总评为不及格。
四、“Python程序设计”课程考核改革的效果
在“Python程序设计”课程中对考核方案进行改革,以培养学生的编程能力和解决问题能力为主线,采用多元化考核方式,注重“学习过程”的评价,驱动了学生的学习主动性,提高了课程的目标达成度。考核方案改革后,学生对课程内容的兴趣明显增强,期末考试成绩有所提高,特别是在编程实现和项目开发中,学生的高阶思维和实践能力都显著提升。
参考文献:
[1]徐凤芹,高小针,胡飞.“产品设计程序与方法”课程考核改革与实践[J].天中学刊,2022(12):148-151.
[2]饶永超,王树立,何岩峰,等.基于OBE理念的实验课程考核模式改革与探索[J].大学教育,2022(12):47-49.
[3]寇志伟,崔啸鸣,刘月文,等.以有效学习为标准的在线考核方式研究——以“电子技术”课程为例[J].现代信息科技,2020(07):196-198.
基金项目:广东省本科高校教学质量工程与教学改革工程建设项目:“教育技术学卓越教师专项人才培养计划”(编号:粤教高函【2023】4号)
作者简介:徐苑(1980— ),汉族,广东梅州人,硕士,讲师,研究方向:信息化教学。