时间:2024-05-19
虞菊花,常兴治,陶亚辉
(常州信息职业技术学院软件与大数据学院,江苏 常州213164)
程序设计类课程,是计算机相关专业学生必修的一类专业基础或专业核心课程。此类课程除了基本的语法语义、程序结构等理论知识的讲解,大量的课前课中课后时间,都需要学生去动手编写程序代码,不断实践自己所学知识,并持续重复练习,从而消化相应知识点并熟练应用到项目场景。学生的学习活动虽然是持续、随机发生的,但是,学习动作产生的代码数据是可以被收集的,因此,对这类课程进行考核评价,最适用的评价方式便是过程性评价。
过程性评价,主要是在课程的整个教学实施过程中,科学地采集学生学习过程中的相关行为数据和学习效果数据,对教师的“教”和学生的“学”作出客观公正的评价。如何能全面、客观、有效且及时地进行过程性评价,对现存的教学评价体系来说,仍然是在探索的重要问题。本文研究了如何使用过程性的学生行为数据对教学活动进行评价,并通过过程性评价促进教学质量和教学效果提升的问题。
过程性评价一直是教育教学改革的重点课题。对于程序设计类课程来说,学生的编码能力、代码书写习惯等职业素养,都是需要在整个课程期间持续培养的,因此,过程性评价方式显得尤为重要。但是,传统的过程性评价由于受到数据采集方式、工具平台等因素限制,无法收集汇总并呈现此类课程的学生过程性学习行为数据。
传统的程序设计类课程,都是在课程在开始授课之前,由教师提前到实训室统一部署本地编程开发环境。学生上课,只需要打开实训室电脑后,直接使用相关的编程软件即可。学生在上课期间所有的编码行为数据,都只是单次停留在实训室电脑本地,而且大部分实训室的电脑是带重启自动恢复功能的,电脑关机后,数据都会丢失。对课堂的教学活动,教师是没有平台或者工具去采集过程性的行为数据并保存下来的。当然,学生在课前和课后是否自己真正动手进行编程、学生书写代码的效率、代码的正确率等信息,教师就更无法收集了,只能单纯地靠学生提交的作业来判断。
同时,教师对学生的编程能力和知识点的掌握情况,大部分都是通过课堂中观察测试、作业的完成效果、在线教学平台中各项任务的完成等方式来获取。教师无法保障每节课对每个学生的兼顾,而在线教学平台,尽管提供了学生的学习活动统计数据,但是由于学生的投机取巧,平台的数据根本无法体现学生的有效活动。因此,这些评价方式的可信性都不高。
在程序设计类课程中,教师经常在完成一个模块或一个知识点教学的时候,对学生进行单元测试考核,将每次的考核成绩比例提高,体现课程的过程性评价的重要性。但是,这种评价的方式,并没有对教师和学生的教学活动起到很大的促进发展的作用。
究其原因,就是过程性评价的结果反馈时间过长。一般,对学生进行单元测试至少需要4课时,甚至8课时的教学活动完成后才会进行。如果想要将这些测试结果反馈作用到教学活动中去,让教学得到不断改进,是非常不可行的,因此,减小反馈时长必不可少。
程序设计类课程,教师和学生最直接关注的就是学生书写代码的能力,重在知识技能的评价,而忽略个人的发展和综合素质的形成。但是,学生在整个课程中,编程能力的形成轨迹、书写代码的规范、学习习惯的培养,并没有体现在传统的过程性评价体系中。
以学生为本,从学生的角度出发,关注学生每个人体的技术技能发展,持续帮助学生修正不良的学习习惯,让学生保持饱满的学习热情,获取最佳的学习效果,才是过程性评价最重要的目的。
鉴于传统过程性评价方式,对于程序设计类课程来说,存在着诸多的问题,本文基于采集的学生全过程学习行为数据,对过程性评价体系进行了适应性的改革探索。
3.1.1 客观公正,全面持续
过程性评价体系,面对学生的学习活动、学习成效,教师的教学方式、教学效果进行全面的持续性的跟踪评价,其客观公正是让学生保持上进,班级保持良好竞争氛围的前提条件。
3.1.2 及时有效,可测可行
过程性评价方式对任课教师来说,要能够方便实行,不增加额外的使用负担,同时,学生的学习情况只有及时反馈给学生自己和教师,评价体系才能保证有效地促进教学改革。
3.1.3 监督管理,成长导向
过程性评价,是对学生个人成长发展历史的监督和记录,不仅是对理论知识和技术技能的评定,对学生的职业素养、行为素质等也应有成长的导向作用。
本文使用云计算技术部署了编程开发环境,学生使用自己的学号登录该系统后,拥有独立的编程空间,该开发环境的系统后台会自动采集学生在该语言课程的学习时间内所有的编码操作数据。后台记录了学生的学号、姓名、班级,学生代码发生的时间和修改时间,以及学生的完整代码,并实时显示学生的代码行为数据在前端,供教师和学生观看。除了编程开发环境,教师在上课过程中采用的在线教学平台,也为过程性评价体系的形成起到了重要的辅助作用。
程序设计类课程,所有学生采用统一的编程开发环境,结合教学平台,可实现课前课中课后全过程评价。课前,学生通过教学平台获取预习任务,并在开发环境中输入代码,完成任务。课中,学生在教学平台签到、完成课前测试等;登录开发环境后,随着教学活动的开展,学生接收不同的实训任务,并在开发环境中进行代码的编写、运行、迭代修改、调试等操作。课后,学生需要完成课后作业,依然需要登录开发环境,编写相应的程序。这样,教学平台会自动记录所有的教学活动,编程开发环境也会将学生的每一个关于代码的操作都记录下来,两者相辅相成,真正意义上实现了教学活动的全过程评价,促进教学质量的改善。
科学地采集每个学生的行为数据,实时形成班级整体和学生的个人学习行为侧写,对学生进行客观有效的过程性评价。采集学生书写代码的数据,并实时显示在开发系统环境中,可以让学生及时看到自己的学习效果;对班级不同的学生进行整体的分析,可以让教师更好地对学生作出评估,及时提醒学生和教师更改教和学的方法,以便更好地完善自己。而且,这些对学生个人纵向分析和对班级横向对比的数据,都能对学生个人和班级做出完整的侧写,为过程性评价提供原始的基础数据,分析处理后成为过程性评价的依据。过程性评价不是就独立过程而评价,而是要用发展性思维方式对教学活动展开评价;也不是知识和技能的评价,而是学生完整的个人评价。对学生学习过程、学习效果的评价,不是就某次过程而给出独立的评价,而需要从历史发展观的角度来看待问题。程序设计类课程,在开始学习的时候,一般都会比较新鲜,学生对写代码也充满激情,可是一旦基础知识学习完之后,进入复杂的语法结构内容时,就开始出现懈怠甚至厌烦情绪,而经历过这段枯燥的学习内容,坚持学习到后面,学生又开始发现编程的乐趣,重新全心投入学习中。学生在课程学习期间,采集的学生行为数据也可能会呈现出不同的状态:在积极学习的时候,代码编写的速度和准确率一般都比较高,学生登录系统开发环境和编码的时间都比较长;在懈怠学习的时候,则相反。同时,这些行为数据的变化,不仅体现了知识技能的掌握情况,更体现了学生的学习态度、学习习惯和学习方式。因此,基于学生行为数据的过程性评价,是可以实现的,而且能够对教学活动产生深刻的反思。
程序设计类课程的学生行为数据,主要体现在编写的代码,因此,在对其进行过程性评价时,较普通课程而言,行为数据主体发生了变化,自然,过程性评价体系也会发生变化。公正客观的数据,是唯一能让学生信服的因素,它能让学生之间发生良性竞争。学生能够看到自己编写程序能力的提高,也能看到与其他同学之间的差距,对学生个人的技术技能发展,积极上进的自我要求,都有很大的刺激作用。教师不用干预太多,就可以起到很好的指导作用,让学生通过技术的魅力感受课程的价值。
过程性评价,只有将评价的过程与教学的过程相融合,才能达到评价的最理想状态。编程开发环境能够在教学的过程中实时采集数据并显示在前端,供教师和学生查看。过程性评价的样本数据一目了然,反映的学习活动效果清晰明朗。学生个人的学习情况,以及学生个体之间的差异,都能够清晰地通过数据反馈给教师和学生,客观公正地实现了过程性评价。
过程性评价体系的建立,不是为了得到一个确切的评价学生的数值,而是通过适当的评价方式,获取学生真实的学习行为档案,让教师及时调整自己的教学方法,让学生更好地了解自己的学习情况,促进教学活动更好的开展,让教学达到最佳的效果。
基于学生行为数据的过程性评价体系的研究,虽然还处于初始阶段,但是,迭代后的数据采集系统,更完善的在线教学平台,都必将给程序设计类课程的过程性评价体系的进一步研究提供可能性,过程性评价体系的继续完善,也必然促使教师和学生的共同进步。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!