刊文精选

2022年第33期·基于拼题A的程序设计课程教学改革

来源:教育教学论坛 2023/1/12 9:38:38

[出处] 教育教学论坛_2022年第33期

连新泽,邹董董,李 婧,廖雪峰

(温州理工学院 数据科学与人工智能学院,浙江 温州 325000)

引言

程序设计能力是软件开发人员的基本功,只有懂得程序设计,才能进一步懂得计算机,才能真正了解计算是怎样工作的。通过学习程序设计课程,懂得计算机的工作原理,才能更好地理解和应用计算机。基于此,程序设计课程作为计算机相关专业一门重要的专业基础课,主要以培养学生的程序设计能力为目标,突出教学内容的基础性和实践性。在课程教学改革方面,贯彻知识、能力、素养辩证统一的思想,结合学生特点,更新教学方法、教学内容和考核方式,激发学生的学习兴趣,增强学生的创新思维能力,提高学生对程序设计的理解和应用能力。培养和提高学生在编程与调试过程中独立分析问题与解决问题的能力,同时为后续开设应用性课程做好知识准备,使得学生毕业后更能胜任软件开发工作。因此,对计算机专业进行程序设计类课程教学模式改革具有十分重要的意义。

一、PTA程序设计类实验辅助教学平台介绍

随着计算机技术及网络技术的发展,以网络技术为支撑平台的计算机技术已经具备了较大规模的普及与应用的基础。利用计算机网络组织实施大规模异地实时在线考试,已经成为当前各类教学与考试的一种重要方式。PTA平台是浙江大学国家级程序设计系列课程教学团队与网易公司、杭州百腾教育科技有限公司合作,于2015年9月推出的面向高校和社会的程序自动评测、开放式的教学辅助平台。到目前为止,平台有近7万题量(包含“C语言程序设计”“Java语言程序设计”等课程),由于平台为开放式平台,教师可以在平台上添加题目,题库的量在持续增加。

二、教学现状分析

程序设计课程是计算机专业课程的先导课,大多数高校选用“C语言程序设计”这门课程,一般都安排在一年级的第一学期开设。基本上采用“提出知识点—解释知识点—提出案例—讲解案例—上机练习”五步式教学模式进行教学,这种教学模式主要存在以下问题。

(一)教师教学工作任务繁重

程序设计课程作业批改是一项很重的教学工作任务,以每个班级50位学生为例,一次作业10个题目,每个题目计20行代码,全班总共代码约10000行,约250页的代码文档;目前一般普通高校1位教师,承担2个班级的教学任务,则一个星期约有500页的作业文档需要批改。教师认真仔细查阅每一行代码,批改每一位学生的作业,几乎是不可能完成的任务,一般采用的方式是轮流选取部分学生的作业进行批改。这种批改作业的方式,导致部分学生存在侥幸心理,以致不认真完成作业,同时,教师也较难全面了解班级学习情况。

(二)学生学习积极性不高

程序设计课程是各大高校计算机科学与技术及软件工程学科的专业基础课程,也是有关学科的必修课程。但是,对于刚入学的学生而言,学习积极性不高,分析其原因,一是课程难度较大,程序设计课程内容较多,部分大一学生在高中没有接触程序设计,确实存在一定的难度;二是兴趣不高,针对知识点的案例过于枯燥,而且上机实验时,学生常将教材或习题集上的程序代码抄写到编译器中,进行简单测试后,直接提交到机房服务器就算完成作业,对结果是否完全正确并不知情,更谈不上透彻理解程序;三是教学过于侧重理论,这种以理论为主的“填鸭式”教学模式,容易造成学生理解不深刻并形成考完试即忘的应付式学习模式,由于没有实际的项目拓展,使学生的学习变得索然无味。以上问题直接影响了计算机语言类课程的学习效果,导致这些课程的及格率偏低,学生对程序设计课程的抱怨较多,严重影响了学生的学习积极性。

(三)学生掌握知识不扎实

程序设计课程较其他课程有所不同,它是一门实践操作性较强的学科,对学生的上机能力要求较高。现有的教学方式,学生练习的代码量不足,而且存在抄袭现象,很大程度上限制了学生程序设计能力的提高。实验课程通常是要求在规定数目的实验中完成给定的题目,实验数目和题目数目均受到限制,一般课程结束,好的学生完成的题量也是几十题而已。这样的代码量对培养好的程序设计能力所需要的代码量来说,明显不足,若增加练习量,按现有的教学方法,与教师工作量繁重又存在矛盾,该矛盾导致学生练习不够,掌握知识不够扎实。

(四)课程过程考核缺乏依据根据

《教育部关于加快建设高水平本科教育全面提高人才培养能力的意见》中加强学生学习过程管理、严格过程考核标准、加大过程考核成绩在课程总成绩中的比重精神,浙江省教育厅规定原则上课程平时考核成绩占课程总成绩的比例不低于40%。然而,现在的平时成绩中,作业成绩的考核相对比较松散,缺乏依据,由于教师教学工作任务繁重等原因,教师无法完整、细致地批改作业,而且无法辨别抄袭现象,严重影响了考核的客观性。

三、基于拼题A的教学改革

针对现在存在的教师教学工作任务繁重、学生学习积极性不高、学生掌握知识不扎实、课程过程考核缺乏依据四个问题,我们将从四个方面进行改革。

(一)教学方法改革

针对以上存在的四个问题,我们将从教学方法上进行改革,由传统的“五步式”教学模式的“以教为本”“以师为本”,转向“以学为本”“以生为本”的线上线下混合式教学模式。创新教学方式,有效地结合慕课学习资源,教师在课堂上不再单向传递课程知识,重点放在组织学生进行重点难点的讨论,包括课程知识点、上机编程练习中遇到的难题,以及平时的上机测试遇到的问题。以培养学生的能力为出发点,课堂上学生变成了主角,所有的讨论与互动都以学生为中心展开。新课堂模式的显著特点是实现了学生学习方式的根本转变,自主学习、合作探究、小组展示成为学生主要的学习方式。提前将全班学生分成若干个小组,按小组布置任务,课堂内每个小组坐在一起,方便讨论,同时鼓励同组成员之间相互帮忙,以小组为单位对PTA平台中的题目展开讨论,并按小组类似于天梯赛开展班级内部的竞赛活动。

(二)教学内容改革

计算机语言类课程的知识点十分庞杂琐碎,使得学生难以厘清脉络,从而无法有效掌握。我们将按照“分层分类、抓大放小、突出重点”的原则,化繁为简,厘清脉络。对课程内容进行分层分类,初级教学阶段的课程内容设置为主要加强基础语法的学习,以简单有趣的案例作为学习内容,促进学生主动学习;中级教学阶段更倾向于中、大型规模的实际案例研究与重建,在初级阶段掌握基础语法的基础上,将具有一定规模的典型案例作为研究对象,对案例进行程序架构分析、程序模块的功能研究、具体功能算法的实现研究;高级教学阶段则更注重团队项目立项与开发,锻炼学生的团队协作能力和项目开发能力。以小组为单位进行项目设计、项目开发、项目测试、项目修正与完善、结项,整个流程作为教学的一部分。

(三)实践教学改革

现有的实践教学形式一般采用“一次实验两个课时”,这种实践教学方式不够充分,不够综合,也不够深入,无法有效地培养学生综合运用知识解决实际问题的能力。我们将实践教学分为两类:第一类是以巩固每次课堂所学知识为主,称为“巩固性实验”。“巩固性实验”是基础语法知识点的巩固,教师在PTA平台上设计选择题和填空题,并颁布作业,学生通过手机端或电脑端登录PTA平台,线上完成相关练习和作业。第二类是以提高学生综合编程能力为主的“综合性实验”。“综合性实验”是课程知识点在实际问题中的综合运用,教师根据教学内容选用PTA平台的题目或者自主设计编程题,形成教师个体题库,学生通过电脑端登录PTA平台,完成相关题目训练,以此达到巩固知识点及将知识点运用于实际的能力。通过这种实践教学改革方式,学生不仅巩固了知识点,而且从“综合性实验”训练中提高了其编程和动手实践能力,确保了学生对知识的全面掌握。

(四)考核方式改革

越来越多的高校重视课程的过程考核,但是存在教学过程考核缺乏依据的弊端。针对这个问题,我们对课程考核方式进行了改革,程序设计课程总成绩采用平时成绩+平时测试成绩+期末测试成绩相结合的方式:平时成绩占20%,包括考勤、课堂表现、上机实验和作业完成情况,分别占平时成绩的20%、20%、40%和20%;平时测试成绩占30%,安排4次平时测试;期末成绩占50%。上机实验、作业、平时测试和期末测试全部在PTA平台上完成,同时,为了避免抄袭现象,平时测试采用闭卷考试,并且其80%的试题来自上机实验和平时作业的原题,并规定若平时测试中来自上机实验和平时作业的原题部分得分率低于50%,判定作业为抄袭,平时作业成绩无效,以此来杜绝抄袭作业的现象。

四、改革后的效果分析

(一)减轻教师教学工作负担

本文的第一节叙述中提出,教师任教两个班级,需要每周要批改500页的作业文档,若每一页批改时间为2分钟计,则每周批改作业这项工作需要占用约17个小时。教学改革后教师将不需要批改作业和测试试卷,只需要查看PTA提供的作业和测试试卷分析报告,根据分析报告,教师可以了解和掌握学生的整体情况,包括学生代码的规范性、每道题的错误率和错误原因、学生完成作业的时间等一系列数据,为后续的课堂教学改革提供了翔实的数据支撑,同时,由于教师教学工作压力减轻,教师有更多的时间与学生交流和讨论,从而提升了与学生相处的融洽程度,有利于提高学生的整体成绩,进而提高学生对教师教学的评价。

(二)提高学生学习兴趣

高等教育教学一项重要的任务是培养学生的自主学习能力,提升学生的学习兴趣是培养自主学习能力的关键所在。基于PTA平台的教学改革,从三方面提升了学生学习的兴趣:一是PTA平台的题目都是经过资深教师和专家精心设计的,不仅具有趣味性,而且都有实际应用背景,学生在阅读题目时已被题目的背景深深吸引,让学生感受到学有所用,增加了学生的学习兴趣。二是PTA平台具有排名功能,学生学习过程中你追我赶的学习方式,可极大地刺激和激发学生的学习动力,提高学生的学习兴趣。三是平台具有即时反馈功能,提交代码以后,马上得到反馈,或者有其他的提示,类似游戏通关的过程,学生从中获得了回报和极大的满足感。

(三)提高学生编程能力

在之前的实验课上,不少学生常将教材或习题集上的程序代码抄写到编译器中,然后提交到机房服务器就算完成作业,对结果是否完全正确并不知情,更谈不上透彻理解程序。在PTA 平台上训练,若学生提交的代码测试存在不正确之处,该题不能获得全部的分数,学生必须找出错误所在,修改程序代码,直到通过所有测试数据组的测试。这种训练,不仅提高了学生思考问题和算法设计的能力,而且提高了程序的改错调试能力,经过反复的练习,很大程度上提高了学生的编程能力。

五、存在问题及解决措施

(一)PTA平台上手难

PTA平台虽然设计得很人性化,并给教师和学生都提供了操作指导用书,但是刚开始时,学生常常感到无从下手,在上机操作过程中经常出现各类问题。特别是学生在编译器上运行正确的程序代码,到PTA平台提交后,出现不能得分或者不能得满分的现象。

解决这个问题,我们需从两方面入手:一是教师前期耐心地讲解和辅导,在操作前给学生详细介绍平台的操作流程,并告知学生平台给出错误提示的含义,及时帮助学生解决遇到的各类问题。二是鼓励学生多学多练习,给学生足够的信心,在经历了2~3次上机实验操作后,学生基本能很好地使用平台上的相关操作。

(二)抄袭现象

PTA平台的优点之一是可以随时随地通过网络进行答题,这种优点引发的一个弊端是出现抄袭现象。虽然一直对学生强调诚信的重要性,但是还是不可避免地存在一些学生通过复制同学的代码来提交答题的情况。

解决这个问题,我们需三方面入手:一是教导,让学生知道抄袭属于作弊行为,高校对作弊的处罚非常严重,会影响学生诚信的评价。二是依赖于平台的技术手段,PTA平台具有“查重”功能,对学生与学生之间提交的代码进行“查重”,来辨别是否存在抄袭行为。三是从制度方面入手,平时测试在规定的时间和地点进行,采用闭卷考试并且有教师监考。

结语

针对程序设计课程教学过程中存在的学生学习兴趣、效率不高,教师工作任务繁重等问题,本文基于PTA平台,对程序设计课程的教学方法、教学内容、实践教学和考核方式等方面进行了改革,通过改革,减轻了教师的工作负担,提高了学生的学习兴趣和编程能力。


本文版权归教育教学论坛杂志社及本文作者所有,未经同意,不得转载! ——《教育教学论坛》查稿电话:0311-85178286