基于指标点评价方法的毕业达成度评定系统
2022-08-26王硕肖磊郑晓东
王硕,肖磊,郑晓东
(齐齐哈尔大学 计算机与控制工程学院,黑龙江 齐齐哈尔 161006)
0 引 言
毕业达成评定系统面向学院与教师,通过科学的评价机制,对学生的毕业要求达成情况进行合理评价,帮助校方分析学生学习情况和教师授课情况。目前比较常见的毕业要求达成度评定方法是将毕业要求和课程进行关联,以学生在课程中获得的成绩为参考,来评定毕业要求是否完成。在实际情况中,我们发现部分毕业要求只与课程中的部分成绩关联。这导致评价机制不够客观,不能对学生课程学习情况以及教师授课情况做出合理,全面的评价等问题。
针对上述问题,张迪等在课程目标及毕业要求指标点达成度的研究中提出一个计算课程目标和毕业要求指标点达成度的方法,宋江等在“机械制造工艺学”课程达成度评价与教学改进一文中指出课程达成度评价为课程体系的持续改进提供了最直接有效的方向。郑银环等认为通过建立毕业要求指标点与课程目标之间的支撑关系,确定课程目标的达成途径和达成度评价方法,可以发现学生对课程内容及课程目标的掌握程度和教学中存在的不足,为后续课程教学的持续改进指明方向。
在实践上,杨勇等则提出了面向工程教育专业认证的课程目标达成评价机制与方法,得到了课程教师的认可并在校内认证专业中得到了推广应用。同时李川等在食品营养学课程达成度评价与持续改进一文中也进行了课程达成度评价的实际应用,吴桂义等则以运筹学课程为例,将课程达成度评价机制应用到采矿工程专业大类中,并认为对采矿工程专业大类(必修)课程要求达成度进行评价是可行的。
在对本校课程方案进行研究后,本文设计了一个以前后端分离技术为基础,指标点评价机制为核心的毕业达成评定系统。
1 指标点评价方法
基于指标点评价方法的毕业达成评定系统,以指标点为中间概念,衔接毕业要求与课程,将学生的传统课程成绩拆分为多个指标点成绩,并以指标点成绩与指标点目标分数之比,来展现学生学习情况以及教师授课情况。指标点评价方法主要优点包括避免毕业要求与课程之间出现大量复杂、重复的关联,同时可以更方便建立毕业达成度评定系统。
1.1 指标点评价方法简介
在指标点评价方法中,学生是否能够毕业,取决于多个毕业要求是否达到标准。毕业目标与毕业要求之间的关系如图1所示。
图1 毕业要求与毕业目标的关系
每个毕业要求被分割为多个指标点,由指标点为毕业要求的评定做基础参考。毕业要求与指标点之间的关系如图2所示。
图2 毕业要求与指标点之间的关系
指标点与课程相关,一个指标点通常包含多个课程,由不同课程的成绩通过与设定好的权重计算的结果,来支撑指标点的评定。同时,一门课程也会对多个指标点产生影响。指标点与课程之间的关系如图3所示。
图3 指标点与课程的关系
1.2 课程目标分数与实际分数的计算方法
传统的课程成绩通常由多个考核部分组成,教师会对考核部分按实际情况设定不同,各个考核部分在课程成绩中占比之和为100。举例,某一门课程中,设有四个考核,分别为课时作业、综合项目、考勤、期末测试。这四个部分在课程成绩中的分值分别为30、40、10、20。
如果只使用传统的课程成绩对毕业目标达成进行评定,会出现评定结果过于单一化的情况。因此,通过引入指标点的概念,将毕业目标达成的评定提供了更多丰富的可能性。
在本评定系统中,指标点由多门课程进行支撑,在一门课程中,各部分考核成绩将对课程所支撑的指标点产生不同的影响,指标点在每个考核部分中都有一个目标分数,该目标分数由教师设定。
指标点在考核部分中的目标分数按如下方法计算。
假设课程中考核为={,,,…,a},其中a为第个考核,=1,2,3,…,。
假设课程中指标点为={,,,…,b},其中b为第个指标点,=1,2,3,…,。
构造考核与指标点权重的关系矩阵W为:
令第个指标点在某课程的目标分数为c,第个考核在该课程中的分值为k,那么目标分数计算公式为:
举例:课程“C++程序设计”对指标点1-2、2-3、3-4、4-1进行支撑,其课程成绩由课时作业、综合项目、期末测试三个考核部分组成。这三部分在课程中的分值分别为课时作业占30分,综合项目占40分,期末测试占30分,总分为100分。
本课程授课教师设定四个指标点在每个考核部分里的权重如表1所示。
表1 指标点权重
结合目标分数计算公式,可以得到具体目标分数如表2所示。
表2 目标分数
指标点的目标分数将用于与学生的实际得分进行计算,得到指标点评价值。
学生在课程中的指标点实际得分计算方法为:令学生第个考核实际得分为P,那么学生在第个指标点的实际得分为:
假设某学生在课程“C++程序设计”中,三个考核实际得分分别为课时作业得28分,综合项目得39分,期末考试得18分。那么该学生的指标点实际得分如表3所示。
表3 实际得分
1.3 指标点评价值计算方法
指标点评定的一个重要参考为指标点评价值。指标点评价值通过指标点下的课程成绩计算得到。
举例:软件工程专业的毕业要求1中有一个指标点1-2,支撑该指标点的课程有“C++程序设计”“数据结构与算法”“编译原理”“计算机组成原理”,共四门课程。这四门课程对指标点的影响权重分别为0.2、0.2、0.3、0.3。根据学生指标点评价值计算公式,可以得到学生A在四门课程中指标点1-2评价值。计算公式为:
指标点考核评价值=实际得分/目标分数
指标点1-2评价值如表4所示。
表4 学生A的指标点1-2评价值
?
1.4 指标点达成度计算方法
在得到学生A的指标点1-2下的四门课程的评价值后,将每门课程的评价值乘于对应的权重并求和,可以计算出指标点1-2的指标点达成度。指标点达成度计算公式为:
指标点达成度=∑课程评价值×权重
指标点1-2的指标点达成度如表5所示。
表5 指标点1-2的指标点达成度
按照公式对指标点1-2的指标点达成度进行计算,可以得0.85×0.2+0.75×0.2+0.82×0.3+0.88×0.3=0.83
1.5 毕业达成情况评定
对于毕业要求的达成情况评定,计算方式是取毕业要求下所有指标点的指标点达成度的最小值,与达成标准度进行比较,大于等于达成度标准,则评定为达成毕业要求。举例:软件工程专业中毕业目标有一个毕业要求1,有四个指标点,分别为1-1、1-2、1-3、1-4。1-1的指标点达成度为0.93,1-2的指标点达成度为0.83,1-3的指标点达成度为0.88,1-4的指标点达成度为0.83。毕业要求1的达成情况评定如表6所示。
表6 毕业要求1的达成情况评定
只有当学生所有毕业要求的评定情况都达到标准时,那么可以判定学生完成了毕业目标。
2 系统设计
2.1 系统结构设计
系统分为前端、后端,以及数据库三部分。前端指浏览器页面,利用浏览器上较好的JavaScript生态,将数据展示以及一些业务操作放在浏览器上。后端指运行在服务器上的应用程序,负责处理前端发起的请求。将前端需要的数据返回给前端。数据库指存放数据的数据库。
基于这种前后端分离的结构,前端只负责数据展示以及可视化的业务操作,后端负责处理实际的业务逻辑。后端会根据前端发起的请求,从数据库中获取相关数据,通过逻辑处理以后,以特定形式返回给前端。同时也可以将前端发来的数据进行处理后存放在数据库中。
在这种结构下,页面的渲染操作在客户的浏览器上进行,数据的逻辑处理在服务器上进行。前端和后端之间只存在数据上的交互,大大减少了服务器的工作量,增加了前端页面显示速度以及后端逻辑处理速度。
2.2 功能设计
通过走访多位老师,进行反复交流和研究,确定了系统整体功能需求。毕业达成评定系统需要有以下四个基本功能,一是支持通过Excel表格或手动输入两种方式导入课程方案;二是具有查询功能,教师可以查询单门课程的达成情况,也可以查询单个学生或整个班级的课程达成情况;三是支持手动输入或使用Excel表格导入学生成绩;四是管理员可以在后台对整个系统进行管理,比如修改已导入的课程方案或学生成绩。
参照交流结果,可以将系统对数据的操作划分为导入、导出、查询、修改。需要进行导入操作的数据有学生成绩、课程方案。课程方案中包含指标点。需要进行导出操作的数据有学生毕业达成情况、单门课程达成情况。需要进行查询操作的数据有学生毕业达成情况、学生单门课程目标达成情况。需要进行修改操作的数据有学生成绩、课程方案,以及课程目标达成评定标准。
系统功能结构如图4所示。
图4 系统功能结构
除了角色对数据的操作,系统还有一个登录功能,可以通过教职工号进行登录,并识别其角色与权限。当使用者使用教职工号登录系统时,系统会从数据库中获取响应的教职工信息,并根据预先设计的角色,给予使用者对应的角色标志,在得到对应身份标志后,前端发起的数据请求都将带上标志,后端会通过标志判定数据请求是否合法。
2.3 数据库表设计
经过功能设计后,可以确定三个重要的数据库,分别是课程方案表、课程表以及教师身份表。下文将通过表7、表8介绍课程方案表、课程表的设计。
表7 课程方案表
表8 课程表
在课程方案表中的Data字段,其数据类型为JSON,其含义为课程方案数据。使用JSON格式来存放数据的一个主要原因是,课程方案与学院相关,甚至在同一学院里,不同专业的课程方案也不大相同。因此出现了一个问题,那就是对于不同的课程方案,在为其设计数据库表时,表的字段数可能不相同。为了避免这一个问题,我们采用JSON数据来存放实际的课程方案,因此在设计数据库表时就无须考虑不同课程方案所需字段数的差异。
在课程表中,字段GradeComposition是指课程成绩组成方式,因为每门课程的成绩组成方式并不相同,所以采用JSON格式来存储数据。字段IndicatorPoint存放指标点相关的数据,对于一门课程,其关联的指标点可能有多个,并且不同课程的指标点数量不一定相同。因此也采用JSON格式来存储数据。字段StuGrade是指学生成绩,不同课程中的学生数量不同,单独设计表格存放成绩不方便,因此与上面两个字段一样,采用JSON格式来存放学生的成绩。此外,考虑到在课程中学生的实际成绩由多个指标点评价值组成,因此使用JSON格式来存储成绩更为合理,可以免去一些设计上的弯路。
2.4 系统编码实现
系统采用Vue+SpringBoot框架进行开发,前端采用Vue框架实现。Vue框架是一款基于JavaScript的优秀前端框架,特点是模块化、有活跃的中文社区、资料丰富、易上手。利用Vue编写前端,可以为用户提供良好的交互体验。
后端采用SpringBoot框架开发,SpringBoot可以提供高效的RESTful api服务,使得后端应用程序的开发变得简洁高效。
用户使用Vue开发的前端页面与后端应用程序进行交互。在页面上,用户可以执行各种交互操作,由Vue框架的Ajax程序向后端应用程序发起请求,获取交互操作所需的数据。后端应用在接收前端发起的数据请求后,会根据API进行对应的逻辑处理,从数据库获取数据进行处理,然后以JSON格式将数据返回给前端。
2.5 系统测试
2.5.1 后端应用API测试
篇幅有限,这里只对后端应用API中的/api/GetStudnetStatus和/api/GetPointStatus进行测试。
在浏览器中访问/api/GetStudnetStatus?stu No=2018001001,即可查询学号为2018001001的学生的整体毕业达成情况。如图5所示。
图5 学生毕业达成情况
在浏览器中访问/api/GetPointStatus?courseNo=123123&point=1,即可查询课程号为123123的课程中指标点1的平均达成度如图6所示。
图6 课程号为123123的课程中指标点1的平均达成度
2.5.2 前端Web页面交互测试
在前端Web页面中,测试了学生毕业达成度评定情况的显示功能,如图7所示。
图7 学生毕业达成度评定情况
3 结 论
毕业达成度评定系统采用前后端分离的理念进行设计与编程,这是目前主流的技术理念。在本系统中,前端采用优秀的JS框架Vue进行编码,利用Vue优秀的组件设计出易用,美观的前端UI界面,后端采用Spring Boot框架实现前端的业务逻辑。基于这两种优秀的框架,毕业达成度评定系统可以为教师提供合理的数据,用于对学生的学习情况进行追踪了解,并结合实际情况对授课方式进行合理科学地调整。