平时成绩在高校程序开发类课程教学中的应用

2022-12-13 09:33陈冰川
科技风 2022年31期
关键词:平时成绩代码分数

陈冰川

广东财经大学统计与数学学院 广东广州 510320

一、概述

成绩是评价高校学生在校情况和能力的一个重要指标,因此如何通过成绩公正、公平、公开和全面地体现出学生的真实水平,一直以来都是高校教学从业人员努力的方向。在高校的成绩体系中除了各种考试的卷面分数以外,为了多方位考察学生的学习情况,还增加了平时成绩,并在期末总评成绩中占有一定比例。然而针对平时成绩如何量化客观地给出分数目前并未有一个较好的解决方案,如果教师加入了主观印象和个人感觉来进行评价,那么就极易产生晕轮效应与个体偏差,导致学生对成绩评定结果不认可,从而慢慢失去学习兴趣,并且会影响到教学效果和师生关系[1]。但是如果让高校教师在授课的同时,在一个学期内有限的课堂时间掌握全班几十甚至上百学生的情况,并给出客观评判这是不可能的,因此需要通过一些可量化的指标来评定平时成绩。

本文结合了高校教育的初衷以及笔者主要承担的计算机语言类课程的侧重点,给出了一个相对客观并且可量化的评价体系,有效地提高师生关系和学生对课程的认可度和学习积极性。

二、评价方法的目标

众所周知,高校学生在校不仅仅要学好专业知识,为了出学校后在社会上更具有竞争力还需要具备良好的自我学习能力、沟通和表达能力、团队协作能力等能力,尤其是对于计算机语言类课程的学习还需要有较强的动手能力,否则只是纸上谈兵。卷面的考试只能考察学生学习成绩如何,对于与课程相关的学生的素质无法全面了解,这些考察内容就可以通过平时成绩进行评估,因此本文提出的平时成绩评定方法以全面考察学生与课程相关的各种能力和学习态度,具体内容包括:

(1)提高课堂参与度。课堂参与度的提升对于教学质量以及学生对于知识的理解将会加深,但是由于学生进入高校后课堂主动发言的欲望降低,因此需要采取措施提高学生上课主动参与的欲望。

(2)提高学生自主学习能力。通过平时成绩的评定模式,增加学生自主学习的动力,培养课下自主学习,从而增强课堂教学的效果。

(3)提高学生的动手能力。程序开发类课程,重在动手,每周两节课的上机课,对于熟悉一门编程语言远远不够,因此还需要学生在平时也能经常动手编程。

(4)提高学生的表达能力。程序开发与人交流必不可少,能够清晰地表达自己的观点至关重要。

(5)提高学生的团队协作能力。当今社会是一个团队合作的社会,在一个开发项目中成员间配合的好坏直接影响到项目最终的成败,因此在程序开发类课程中,不仅仅要培养学生的开发动手能力,对于学生团队协作能力的培养也是至关重要的。

三、评价计算模型

(一)总评成绩计算

在高校教学中,一般在期末考核学生的总评成绩时,需要同时参考平时成绩和考试成绩,通过各自所占比例计算得到:

S=Snrn+Sfrf

其中S为总评成绩,Sn表示平时成绩,rn表示平时成绩所占百分比,Sf表示期末考试成绩,rf表示期末考试成绩所占比例。一般情况下rn=30%或40%,rf=70%或60%。针对编程类课程由于动手能力和综合素质要求相对较高,一般可采取平时成绩较高的百分比,即40%强化平时考核所占比例,这样更容易体现效果。

为了能够全面培养学生能力,平时成绩不再像传统一次性或者根据出勤率或几次作业情况进行评定,而是由多种平时成绩考评事件多次的评分计算得到,即:

Si为第i次平时成绩考评事件的得分,一学期每个学生有m次的平时成绩,最终取平均值作为期末最终的平时成绩。

(二)平时成绩考评事件

由目标可知,为了能够全面培养学生各种素质,需要对多种考评事件进行设定标准:

1.课堂互动

通过鼓励学生课堂积极回答问题、采用“翻转课堂”模式让学生多上台表达分享等方法,提高学生课堂的参与度和自主学习能力。将上述活动纳入平时成绩的考评体系中并对其进行量化,激励学生能够积极参与。

(1)课堂积极回答教师提问。当教师课堂针对某个问题提问时,一般情况是:学生主动举手回答或者由教师随机选择学生回答。针对不同情况,阶梯给分刺激学生积极主动发言。

①学生主动举手回答:回答正确给予一次Sar=100分,为了鼓励主动举手发言的学生,即使回答错误也可以酌情给出一个高于一般情况的分数Saw,例如:95分。因为分数高,可以激励让学生更愿意主动举手回答问题,不必担心回答错被同学嘲笑。

②大学阶段,学生在课堂上主动举手发言的欲望较低,有时候没人举手,此时可以通过随机点名的方式,这样同样达到了与学生交流的目的,但这是被动的,如果答对可以给一个低于主动回答但依然是高于一般情况的分数Spr,如果答错,为了鼓励互动依然可以给一个低于答对的分数但是还是高于一般情况的分数Spw。评分标准:Spw

通过上述两种情况的给分策略,给学生一个明确的暗示,课堂上积极举手发言就能够得到教师的认可,并能够提升平时成绩,对于期末总评分至关重要。实践证明该措施对于学习相对较差的学生和力争好成绩的学生有较大的激励作用。

(2)学生总结。为了进一步提高学生对课堂教学的参与度和自主学习能力,采用“翻转课堂”的模式,在课前(10分钟左右)增加课程复习总结环节:每节课都由一组学生上讲台总结上次课堂所讲内容,并出题向其他同学提问。

①整个活动中,学生提问由其他学生举手回答,本组学生根据答案的对错为答题学生打分,并作为答题学生的一次平时成绩。

②活动结束后,教师对该组学生的总结和问题进行点评,并根据效果好坏为全组成员给出成绩,作为团队中每个学生的一次平时成绩。

该方法主要融合了“翻转课堂”的教学模式,通过对课程的总结和提炼题目锻炼了学生的表达能力和自主学习的能力;由于是为整个团队打分,则锻炼了学生的团队协作能力和团队精神;同学之间互相提问并进行打分,则不仅提升了课堂的活跃度,而且促进了学生主动思考的能力。

2.实验课编程

动手能力是计算机语言课程的重要能力。实验课的教学主要是让学生通过编码实操,加深对理论课上所学知识的理解。为此每次实验课会为学生有针对性地布置编程作业,每次作业教师根据学生的完成情况给出分数。为了确保学生对于自己的代码确实掌握了,并提高学生的表达能力,可以把教师查看和学生上台讲述相结合;为了确保学生的代码不是抄袭,还要在学生讲述过程中选择部分代码进行提问;根据学生的表现给出不同的评分(根据学生的情况,甚至可以只有上来讲述的学生才可以给分),从而在训练动手能力的同时提高学生的表达能力。

实验作业的打分参考点包括:(1)代码功能完整性和正确性占70%:是否按照题目要求完成相关功能,程序能否正常运行,结果是否正确,是否达到题目要求。(2)编码风格占5%:代码中有适当的注释、命名规则采用驼峰型、适当使用缩进使代码清晰易读。(3)特殊情况的处理合理占10%:当输入一些边界条件是否也能正常运行,没有按预期输入是否进行了判断何处理(例如要求输入数字但实际上输入了字符)等。(4)讲述清楚与否占5%:对于自己代码的解释是否清晰,是否有逻辑,是否将重要的考察点讲清楚等。(5)问题回答情况占10%:教师根据学生的代码,选择某些语句提问其功能,针对某些变量提问其作用,针对某种输入让学生描述代码运行的路径等。本部分主要是防止学生抄袭代码,因此相关提问如果完全答不上时,需要学生重新理解后再来讲评代码,最后再根据以上几个内容完成情况给分数。

实践证明,学生讲述自己的程序更利于学生对于课程内容的理解,同时可以提高学生的语言表达能力。

3.团队协作和自主学习能力

在课程开始的第一节课,可以布置一个囊括了本学期大部分重要内容的一个终极题目,要求学生必须组队完成,并对于完成的团队成员给出一个比较高的平时成绩,例如做出可以一次性确定全年的平时成绩Sn或者给出相当于多次的平时成绩,较高的平时成绩可以鼓励学生提前主动去学习课程需要的内容,以及培养团队协作能力。为了确保小组中每个成员都在题目中贡献了等同的工作,题目完成后,要求小组负责人首先要讲清楚每个人的分工,然后每个人针对自己所做的工作依次上台通过PPT解释代码功能,并接受教师和同学的提问,确保每个同学都有投入。最后教师根据每个同学各方面的表现给出最终评分数。评分内容包括:(1)各自的工作内容占50%:主要查看每个学生的工作量均衡,代码能够正确得到预期的结果。(2)代码风格占20%:符合课程要求,代码中有适当的注释、命名规则采用驼峰型、适当使用缩进使代码清晰易读。(3)讲解表达占10%:对于自己代码的解释是否清晰,是否有逻辑,是否将重要的考察点讲清楚等。(4)问题回答占10%:教师根据学生的代码,选择某些语句提问其功能,针对某些变量提问其作用,针对某种输入让学生描述代码运行的路径等。本部分主要是防止学生抄袭代码,但是并不理解。因此相关提问如果完全答不上时,需要学生重新理解后再来讲评代码,最后再给分数。(5)PPT效果占10%:PPT美观、清晰、逻辑清楚,主题突出。

由于该题目一次性做完即可获得最终平时成绩的分数,非常具有吸引力,有能力的同学往往会比较投入地组队完成,对于提高学生自主学习的积极性和探索精神具有较好的促进作用。通过笔者在教学实践中发现,往往会有些优秀的学生给出一些惊喜,使得教学效果提升。学生也对该方法非常认可,部分学生往往能够在学期中期将整个学期要学的内容提前有所了解,到课程进展到相应章节时,学生的接受度大大提升。

4.课堂纪律

对于出勤率以及课堂纪律可以根据不同情况给予扣分处理,根据扣分的多少控制课堂的宽松度和严格度,可酌情予以处理。笔者为了确保出勤率,将学生一次无任何理由的缺勤计一次0分平时成绩,只有终极作业可以将其替换掉,从一方面加强了出勤率的要求,另一方面也将动手能力的考查放到了重要位置。

(三)基准成绩分析

无论制定了何种平时分的评分标准,都会有一些学生完全不参与进来,于是就会出现平时成绩没有分数的情况,对于这种情况,基准成绩(即一个学期正常来听课,但未进行任何互动而给的默认分数)就成为一个指挥棒,通过它来调整学生的学习态度。这个分数需要根据学生的实际情况灵活调整:

(1)当学生普遍认真,愿意投入学习。当班级中以这类学生为主的时候,就可以采用较为温和的基准成绩,使学生能够在相对宽松的环境下自由学习,这种情况可以将基准分设置为60~80分。学生可以根据自己的性格特点选择学习的方式,对于课堂的接受度较高。

分数的具体设定,需要根据学生情况进行调整。适当调低,对于调动学生的积极性具有正面效果,由于这类学生自主学习能力较好,如果过低可能会花费更多精力在重复性的工作上,从而产生反面效果;适当调高,学生自主学习的自由度较大,可以在掌握了本门课程内容后,进行其他课程的扩展,但是分数过高,也会导致部分学生不求上进。因此要根据学生的实际情况调整分数范围。

(2)当学生普遍缺乏自觉性,学习需要督促。当班级中以这种学生为主时,就需要采用相对激进的基准成绩,让学生有一定的紧迫感,在平时学习时不得不投入和按照教师的要求进行学习。这种情况可以将基准分设置为不及格分数:0~59分。当然这种情况,教师也会较为辛苦,而且题目不宜过难,否则学生无法完成规定次数的平时成绩,导致平时分不及格。在这种情况下当学生都开始投入既定要求的学习时,教师就会有更多的工作量,但当学生真正学到知识时,发生较大改变时,成就感也会激增。

与第一种情况相同,分数过高过低都会有正反两方面的效果。当分数调低时,会给学生更大的动力,积极投入学习,但是过低压力也激增,一旦感觉达不到要求,可能会“破罐子破摔”同样无法达到目标;而当分数调高时,学生压力相对较小,能够调动更多人投入学习当中,但是分数过高,一旦及格或者达到某个分数后,会停止努力,无法达到既定的教学任务。

因此,总体来说对于基准分的设定,一定要了解本校、本专业学生的基本情况。在进行合理设定基准分后,会使得课程既能够督促学生全力投入学习中,也能够在这个过程中不至于压力过大。

(四)效果分析

由前面的分析可以看出,在设定了较为符合学生实际的基本分数后,就能够根据课程特点,为了能够重点培养某个方面的能力,将其分数比例提高,使学生给予重视。例如笔者在教授编程类课程时,认为在今后能有较好的进行团队合作的能力,在项目开发中才能更好地完成工作,因此在布置终极题目时,规定必须要团队合作,至少三人共同完成此题目后,才会把本次分数作为全年平时成绩的得分(一般高于学生所得的其他平时成绩的平均分),从而使得学生在学习过程中,不仅能够主动地进行学习,提高了动手编程能力,还提升了学生团队合作的能力。

结语

教育最基本的规律之一就是它的外部规律,即教育要满足社会的需求,与社会发展相适应,为社会经济发展提供合格“产品”,即人才[2]。本文将平时成绩细化并且将计分量化,从而保证了评价的客观性,使平时成绩的评定更加公平、公正和公开,使学生不仅能够掌握专业知识,还能够培养走向社会所必需的表达能力、学习能力、动手能力等,根据社会需求可以适当调整模型参数即可适应社会发展。笔者在JSP、JAVA、Python和C语言的教学中采用该方法,学生除了在专业知识方面得到了提升,表达能力、动手能力、团队协作能力等各方面都得到了提升和发展,同时课堂互动以及课堂纪律方面也都取得了不错的效果。

猜你喜欢
平时成绩代码分数
分数的由来
高校体育专业术科课程平时成绩评定方法的探究
平时成绩对于学期总成绩的影响
让平时成绩回归本真
把握物理难点,分数更上一步
神秘的代码
一周机构净增(减)仓股前20名
一行代码玩完19亿元卫星
……的近似分数的若干美妙性质
近期连续上涨7天以上的股