自动评判(精选4篇)
自动评判 篇1
在高校计算机的教学中,有不少程序类的课程,如编程语言、数据结构、算法等。这些课程是实践性较强的课程,需要学生完成大量的编程任务,以巩固课堂知识。程序作业的批改是一项艰巨的任务,程序正确性、时效性的分析是件费时费力的事情。随着信息化的普及,越来越多的工作可以在计算机的辅助下高效可靠的完成。如果能用计算机进行程序的评判,将大大减轻教师负担,并使评判结果更加客观公正。
本系统设计的目的是实现程序的自动评判,学生通过系统上交程序,系统自动评判程序是否有语法问题,执行结果是否正确,是否满足时效性的要求,并根据评判的结果,反馈相应的信息。学生可以根据反馈的结果对程序进行修改,直到得出正确的解题代码。也可以在系统上进行编程类课程的上机考试,或举办程序设计竞赛。
1 系统架构
根据系统的需求和目前软件系统架构的发展趋势,本系统的系统架构选用了B/S模式。
B/S(Browser/Server)模式下,客户端通过浏览器(Browser)访问WEB服务器和与其相连的后台数据库,它以WEB数据库的访问为中心,HTTP为传输协议,是真正的三层结构。其结构如图1所示。
客户端浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。在客户端向指定的Web服务器提出服务器请求,Web服务器用HTTP协议把所需文件资料传给用户,客户端接受并显示在WWW浏览器上;
Web服务器是功能层,完成客户的应用功能,即Web服务器接受客户请求,并与后台数据库连接,进行申请处理,然后将处理结果返回Web服务器,再传至客户端;
数据库服务器是数据层。数据库服务器应客户请求独立地进行各种处理。
与传统的C/S模式不同,B/S结构下,所有的数据处理全部由服务器端完成,用户通过浏览器发出请求,数据库的使用和维护都比传统模式更加经济方便。而且使维护任务层次化:管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护。
2 运行平台
系统采用jsp技术开发。运行平台选用linux作为操作系统,Tomcat作为web服务器,mysql作为后台数据库服务器。
2.1 linux操作系统
linux操作系统是一个受到业界广泛关注和支持的系统。它的自由开源的理念吸引着众多的追随者,激发着他们的创作力。它是一个全面的多任务和真正的32为操作系统,与unix兼容,从某种意义上来说,linux就是一个完整的unix操作系统,具备了unix系统的高效和安全的特点。linux便于定制和再开发,部署方便灵活,免费版本可以很容易的获得。
2.2 Tomcat服务器
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。Tomcat运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能。Tomcat技术先进、性能稳定,而且免费,因而深受欢迎。
2.3 Mysql数据库服务器
MySQL是一个开放源码的关系数据库管理系统,由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用.
2.4 JSP开发WEB应用程序
JSP是(全称JavaServer Pages)的简称,是由Sun Microsystems公司倡导和许多公司参与共同建立的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,包含JSP页面、JavaBean及Servlet等成员,。
通过JSP,开发人员可以使用多种开发工具来组合HTML代码,可以利用本地服务器或远程服务器上运行的组件来存取数据库、应用程序或处理信息,实现强大的WEB应用。考虑到在线评判系统需要对数据库操作以及动态更新的特点,JSP是理想的开发方式。
JSP工作流程是:先由客户端发出HTML请求到WEB服务器,对于数据库访问的请求,JSP或Servlet通过JDBC与数据库交互,完成用户的访问请求,并将结果反馈给用户;对于数据处理的请求,JSP或Servlet根据用户的请求,调用相应的处理例程来进行数据处理,再将处理的结果反馈给用户。JSP的强大功能可通过其内建对象来实现。
JSP提供的内建对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息。有了这些对象可以使JSP的功能更强大。所谓对象就是一段封装的完整的软件模块。这些对象之间通过属性来传递参数,在设计JSP时经常需要调用各种对象来实现开发动态数据访问的功能。JSP有五个内建对象:application、request、response、out、session。
MVC模式是JSP技术开发web应用常采用的模式。该模式包含3个构成部分:1、模型,用于数据存储;2、视图,用于数据显示;控制器用于数据处理。JSP页面擅长数据显示,对应MVC模式的视图,Servlet擅长数据处理,对应MVC的控制器,JavaBean则用作MVC模式的数据模型。本系统采用了MVC模式作为其web应用框架。
3 系统功能概述
系统面向的用户分为两类:管理员和普通用户。管理员负责题库、实验和竞赛等的维护和管理等工作。定期检查系统的运行状况,备份系统数据。普通用户可以在系统上提交程序,由系统评判程序的正确性,并将评判结果返回给用户。用户登录情况、提交情况和解题情况会记录在系统数据库中,根据这些信息,系统可以对用户进行排名。
系统的主要模块有:用户管理模块、题库管理模块、竞赛管理模块、在线判题模块等
3.1 用户管理
该模块包含功能有:用户登录、注册、个人信息查询和修改等功能。用户首先要注册和登录系统后,才能在系统上提交代码,在线判题或参加比赛等操作。
3.2 题库管理模块
该模块负责系统题库的维护工作。管理员通过该模块在系统中添加题目,并设置题目时间和空间的限制。也可以通过该模块对已有的题目信息进行修改。
题库中的题目信息、图片信息及测试数据信息全部存储于数据库中。这种数据库存储方式相对传统的文件存储方式来说,更便于管理和维护。
3.3 竞赛管理模块
该模块负责竞赛的管理。系统管理员通过该模块可以在系统上创建竞赛,设置竞赛信息,指定赛题,指定竞赛有效时段。只有在有效时段,选手才能打开竞赛页面,参与竞赛。有效时段结束后,竞赛结束,不再接收选手的提交。
3.4 在线判题模块
该模块是系统的核心模块,关系到系统的效率、安全和稳定。它负责用户代码的提交、编译、运行及运行结果与预设值比对的工作。
代码的正确性评判的标准如下:
1)代码语法正确,符合所用编程语言的语法规则。
2)程序所采用的算法思路正确,能够在题目限定的时间和空间里,解决问题。
3)程序严格准确的实现了算法,对所有的输入都能够得出正确的输出。现实当中无法对所有的输入数据进行测试,只能选一些比较有代表性的数据,测试程序输出是否正确。
3.5 在线评判模块工作的流程如下
1)用户通过浏览器访问系统的代码提交页面。提交页面有一个表单,表单包含一个输入框,可以将代码输入到输入框,点击提交。
2)系统接收到用户的代码后,根据代码类型,调用相应的编译器,对用户代码进行编译。如果因语法等原因造成编译失败,将失败的信息反馈给用户,并在系统数据库中记录用户的提交操作及评判结果信息,在线判题结束。系统可以对C/C++、Java及Pascal编写的程序进行评判,分别采用GCC/G++、Sun SDK及FPC作为编译器。
3)如果编译成功,系统运行用户程序,每个题目都会有时间和空间的限制,如果用户程序超出限制,将被终止运行,并将终止原因反馈给用户,同时将用户提交操作和评判结果信息写入系统数据库,在线判题结束。系统对程序的权限也做了限制,禁止进行一些非法操作,以避免危及系统的安全和稳定。
4)如果用户程序运行正常,将接收题目预设样例输入,并且将运行后得到的结果与题目样例预设的输出对比,如果不一致,终止程序运行,向用户返回出错信息,同时将用户提交操作和评判结果信息写入系统数据库,在线判题结束。
5)如果所有的样例测试都正确通过,评判程序正确,并获取程序运行占用cpu时间和内存空间,将这些信息反馈给用户,同时写入系统数据库,在线判题结束。
4 结束语
本文提出了基于B/S模式的程序自动评判系统,并对部分功能模块和系统实现进行了介绍。建立了这样一个系统之后,可以方便学生进行程序设计训练,承担程序设计类作业的批改,同时,可以举办程序设计竞赛,对程序设计类课程的教学和学生程序设计水平的提高都有很大帮助。
本系统的设计目标主要还是针对中低负荷的情况,将来可以考虑将评判模块独立出来,采用负载均衡的方式,以应对大规模并发代码提交的情形。系统的可靠性和安全性方面也涵待提高。今后将对系统进一步完善,以更好的服务于教学。
摘要:程序正确性的人工评判是一件费时费力的事情,可以考虑借助计算机来实现程序的自动评判。文中介绍了基于B/S模式的自动判题系统的设计。该系统基于JSP技术实现,可以对接收用户提交的程序,进行正确性的判断,并向用户反馈评判结果,同时记录用户的操作日志,并能够根据各类数据,对用户进行排名。
关键词:JSP,B/S,自动评判,Linux,Tomcat,MySql
参考文献
[1]范立锋,乔世权,程文彬.JSP程序设计[M].北京:人民邮电出版社,2009.
[2]郑阿奇.MySQL实用教程[M].北京:电子工业出版社,2009.
自动评判 篇2
关于驾驶人考试的考试标准, 公安部已经出台了123号令, 其中考试内容变化最大的就是驾驶人科目二考试标准, 由原先的3+1或3+2变为现在的必考5项。为了避免作弊, 提高考试的公平公正, 要求科目二考试全过程 (即每一个考试科目) 都要采用计算机全自动评判, 而人工评判只起辅助作用。
2 考试项目“倒车入库”考试评判规则
本文为什么只选择“倒车入库”这一个考试项目进行分析与设计?原因很简单, 在科目二考试的所有项目中“倒车入库”这个项目最为复杂。如果这个项目, 我们设计思路简单可行, 那么其他的就更不在话下了。
首先, 我们来分析一下“倒车入库”的考试规则。我们先看图1所示, 考试规则是考车从图1中 (1) 位置倒车到 (3) 位置, 再从 (3) 位置前进开到 (2) 位置, 再从 (2) 位置倒车到 (3) 位置, 最后从 (3) 位置前进到 (1) 位置, 考试结束。
考试期间, 前进后退要求一次性完成, 不得中途停车。车身不得压线。两次倒库要求入位。图1中的 (1) (2) 处的两条虚线为停车控制线, 公安部的解释是要求考车停在控制线上有效。
总结一下规则就是两次倒车, 两次前进, 俗称是两退两进, 要求一气呵成, 不得中途停, 倒车入位, 不得压线。
3 考试项目“倒车入库”考试评判规则数学模型分析
整个考试评判的过程为电子评判, 这就要把考试规则数字化, 模型化, 简单化, 并分解每一个步骤。
我们先把“倒车入库”的场地特点描述一下。如图2所示。我们把“倒车入库”场地分为了3个部分 (1) 、 (2) 、 (3) , 其中点1、2、3、4围成的矩形区域为起始区域 (1) , 点4、5、6、7围成的矩形区域为库位区域 (3) , 点7、8、9、10围成的矩形区域 (2) 。这样, 我们就可以用数学中的图形及位置点准确描述“倒车入库”的场地特征了。为了便于描述, 我们约定“ (1) 区域”表示由点1、2、3、4围成的矩形。同样表示 (2) 区域, (3) 区域。
现在有了“倒车入库”场地的数学模型及考试规则, 还缺一个重要的因素, 那就是考车模型。考车模型实际上就是考车的轮廓模型, 当然我们指的轮廓不是三维的, 而是考车垂直到地面的投影, 考车投影大致如图3, 我们可以看出, 图3中的考车基本上由多段圆弧和直线围成, 而且是一个封闭的图形。这样我们就可以用多个点近似的描述这个考车模型。如图4, 这样我们就可以把8个点围成的封闭图形用作考车模型, 当然添加更多的点可以描绘的更加精确, 但工作量也随之加大了。考车的模型还需要把倒车镜与四个轮胎的垂直投影也考虑进去, 因为在其他的考试项目中会有“车轮压道路边缘线”的扣分, 在这个考试项目中, 我们只考虑车身与场地的相对位置。
4“倒车入库”自动评判流程分析
现在, 我们有了“倒车入库”场地特征模型和考试车轮廓模型, 接下来就是让车模型在场地模型中动起来, 并给出评判结果。这样整个评判的过程就变成运动的车模型图4在静止的场地模型图2中相对位置的问题, 如图5。
我们从考试要求规则中不难分析出, 两退两进中所有状态转变都是以停车为界, 而扣分“中途停车”也是停车信号为前提。所以, 我们可以把整个考试过程化为6个过程:项目评判参数初始化, 一退, 一进, 二退, 二进, 结束。
4.1 项目评判参数初始化
这一过程很重要, 因为我们的评判不是随着程序的运行结束而结束的, 而是随着车辆的行进, 一遍遍的评判行进过程中是否有违规现象。所以该记忆的状态要在该项目每次开始考试的时候初始化。初始化完成后改变行进状态为“一退”。系统将不断的依据当前的行进状态, 检查车辆与场地相对位置, 进行扣分评判。直到考试完成, 所以说我们的自动评判是不间断的连续的监视每一刻的位置与动作, 找出其中的违规, 直到考试合格。
4.2 一退
就是从 (1) 区域倒车开始到 (2) 区域位置停止的过程。首先, 从 (1) 区域, 倒车信号为“一退”行进状态的开始, 到停车结束。在“一退”的过程中, 车模型只能出现在图形1、2、3、4、5、6、7、10点围成的区域内, 如图6所示的阴影部分, 如果车辆模型与 (2) 区域有交集, 则扣分, 线路错。
4.3 一进
就是车辆从 (3) 区域前进到 (2) 区域位置后, 停止的过程。首先从 (3) 区域, 第一个前进信号为“一进”的行进状态开始, 到停车结束。
4.4 二退
就是车辆从 (2) 区域倒车到 (3) 区域位置后, 停止的过程。首先从 (2) 区域, 第一个倒车信号为“二退”的行进状态开始, 到停车结束。
4.5 二进
就是车辆从 (3) 区域前进到 (1) 区域的过程。首先从 (3) 区域, 第一个前进信号为“二进”的行进状态开始, 整个车辆进入 (1) 区域结束。
4.6 结束
就是“二进”状态已经完成, 当前项目还合格, 则当前考试项目结束, 等待进入下一个考试项目。
5“倒车入库”详细分析
我们就“倒车入库”举例, 把上述6个部分作一次详细分析。
5.1 项目评判参数初始化
这部分已经进行了分析, 就不再重复。
5.2 考试项目行进状态控制
每一个考试项目, 我们都设计一个函数, 就是“考试项目控制”, 整个项目的参数初始化和行进状态的改变以及控制都在这里实现。根据车辆的前进、停止、后退信号, 改变行进状态变量, 给其他评判提供依据。每调用一次“考试项目控制”函数, 都会把本项目的评判函数全部调用一遍, 结合当前的行进状态, 评判每一个时间的扣分情况。如果, 扣分情况已经达到不合格, 则本考试结束。如果当前依然合格, 则继续循环调用, 直到“控制函数”结束本项目。
5.3 扣分项“中途停车, 扣分1 0 0”检测过程分析
中途停车, 顾名思义, 就是在半路上停车。所以“中途停车”检测的条件是停车状态。其次是车辆是停在了不应该停的位置, 就需具体情况具体分析。这就用到了之前所述的“行进状态”。当“行进状态”为“一退”时, 车辆正常情况下应该是从图7中1、2、3、4所围成的区域倒车到4、5、6、7所围的区域内。如果在车辆完全进入4、5、6、7所围的区域内之前停车, 就应该是中途停车, 不过这里还有一个问题就是在图7中, 当车辆停在 (2) 位置时, 这时应算作“倒库不入”, 所以, 在“一退”时, 中途停车的条件是车身在1、2、3、4、7、10所围成的区域内。
当行进状态为“一进”时, 车辆正常情况下是从4、5、6、7所围成的区域内, 前进到7、8、9、10所围区域内, 且车身压8、9线。如果车辆在前进的过程中, 车身还没有压到8、9线就停车, 即为中停, 也就是“一进”时, 中停的条件是车身在1、4、5、6、7、8、9、10所围成的区域内停车且车身没有压8、9线。
当行进状态为“二退”时, 车辆正常情况应该是从7、8、9、10所围的区域倒车进入4、5、6、7所围的区域。如果在车辆完全进入4、5、6、7所围的区域内之前停车, 就是中途停车, 同“一退”一样, 当车辆停在 (2) 所示位置时, 应该算“倒库不入”。所以“二退”时, 中途停车的条件是车身在1、4、7、8、9、10所围的区域内。
当行进状态为“二进”时, 车辆正常情况应该是从4、5、6、7所围的区域前进到1、2、3、4所围的区域, 如果车身还没有完全进入1、2、3、4所围的区域就停车, 则为中途停车, 所以“二进”时中停的条件是车身在1、4、5、6、7、10所围的区域内。
5.4 扣分项“倒库不入, 扣分100”检测分析
倒库不入, 顾名思义, 就是车身有一部分已经入库, 但车身在没有完全入库前就停车了。所以“倒库不入”的检测条件也是停车状态。“倒车入库”中共有两次入库的过程, 分别为“一退”和“二退”时检测条件都为停车时车身与4、7线相交。即, 行进状态为“一退”或“二退”时, 车辆停车后, 车身与4、7线相交, 则为“倒库不入”。
5.5 扣分项“车身出线, 扣分100”检测分析
车身出线。顾名思义, 就是车辆在倒库与出库的过程中。车身压到了库位线。所以“车身出线”的检测条件是在车辆行进的过程中, 车身有没有与库位线先进。即, 在行进状态为“一退”“一进”“二退”“二进”时, 车身与4、5线相交或车身与5、6线相交, 或车身与6、7线相交。
5.6 扣分项“不按规定路线行驶”检测分析
“不按规定路线行驶”, 就是车辆不按预先设定的路线行进, 这个扣分项目同“中途停车”一样贯穿整个考试项目过程。
当行进状态为“一退”时, 如图6, 正常应该是从1、2、3、4所围区域倒车进入4、5、6、7所围区域中, 如果车辆出现在7、8、9、10所围的区域中, 就是“不按规定路线行驶”。即车辆出现在1、2、3、4、5、6、7、10所围的区域外且车身与1、2线不相交, 就是“不按规定路线行驶”。
当行进状态为“一进”时, 正常应该是从4、5、6、7所围区域前进进入到7、8、9、10所围区域内, 如果车辆出现在1、2、3、4所围的区域中, 就是“不按规定路线行驶”。即车辆出现在1、4、5、6、7、8、9、10所围的区域外且车身与8、9线不相交, 就是“不按规定路线行驶”。
当行进状态为“二退”时, 检测条件同“一进”, 只不过是倒车, 即车辆出现在1、4、5、6、7、8、9、10所围的区域外且车身与8、9线不相交, 就是“不按规定路线行驶”。
当行进状态为“二进”时, 检测条件同“一退”, 只不过行进状态为前进, 即车辆出现在1、2、3、4、5、6、7、10所围的区域外且车身与1、2线不相交, 就是“不按规定路线行驶”。
6 结语
所有扣分项就分析完毕了, 整个考试项目的规划与流程就全部转换为车辆数学模型与场地数学模型之间的图形与图形之间的计算。利用数学工具把图形之间的计算转化为线与图, 线与线之间的计算, 并利用计算机的超级计算能力, 计算车辆行进时的每一个位置的评判结果, 从而实现科目考试的全自动评判, 做到真正的评判公正与公平。
参考文献
[1]赵晓林.智能驾驶培训和考试服务系统[J].地理信息世界, 2014 (1) :91-96.
[2]吴超仲, 吴业福, 张丹.机动车道路考试系统智能评判方法与数据交换技术[J].付谭欢交通信息与安全, 2012, 30 (6) :1-5.
自动评判 篇3
曾获武警科技进步一等奖的《首长机关网上训练考评系统》是一基于WEB的军队集训练、考试、评估、管理于一体的网络考评系统。其针对标图题系统在评判的手段上已有很大的进步,即采用VML技术,通过透明图(标准答案图与考生答案图)叠加的方法进行人工评判,但评判的客观性仍显不足。因此,本文针对标图自动评判的问题进行了初步的研究和探讨。
1 基础准备
标图的自动评判主要可以从两方面入手,一是图形的相似度,二是所标绘军标属性的对比。本文选择了利用所标绘军标属性的比较作为标图自动评判的基础。因此,考生利用武警指挥训练系统标图完毕后,不仅生成一个图形文件,而且还要生成一个用于描述军标属性的文本文件。该文件系统可自动生成,用户只需点击对应操作按钮即可。该文本文件按标图者标图的先后顺序,依次记录了所标绘军标的代号、地理坐标、平面直角坐标等10项属性。每一军标为一行,不同属性间以“@”间隔。考生不需考虑该文本的内容,生成后只需上传即可。
2 自动评判
2.1 评判规则
标图评判的具体规则有以下7点:
1)每个军标的得分平均分配该题总分,而每个军标中根据控制点得分根据控制点个数再平均分配。
2)军标的番号、代号、原色、颜色、衬色、虚实、点数有一个不正确则不得分;
3)军标位置采用平面直角坐标对比,得分采用5档制,对比(答案—考生)某一控制点两点间的距离S,根据S的大小确定得分比例,从而来确定某个控制点的得分,然后该军标的得分为各控制点得分的总和。如:
4)关于倾斜角(弧度)的问题,军标的属性虽然只对点军标有效,但比较时采取以值的大小来比较,对比(答案—考生)某一军标该属性的差值D,得分也采用5档制,具体如下:
5)当标准答案中一个军标在考生答案中对应多个相同军标代号时取得分最高者记分。
6)考生答案中每多出一个军标则按每个军标的得分数予以扣分,直至得分为0分。
7)具体积分规则:
每个军标分数=该试题分数/标准答案中军标个数
每个控制点分数=每个军标分数/标准答案中控制点个数
标准军标某一控制点与考生军标该控制点间的距离
S=SQR((nor_x-stu_x)^2+(nor_y-stu_y)^2),根据S值取得得分系数(P);
根据军标位置每个控制点得分=每个控制点分数*得分系数(P)
根据军标位置某军标得分=SUM(各控制点的得分)
标准军标与考生军标倾斜角间的差距D,根据D值取得得分系数(Q);
某军标的最后得分=某军标位置得分*得分系数(Q)。
2.2 实现过程
基于标图文本的行产生于标图者的标图顺序以及标准答案与考生答案的各种差异性考虑,自动评判决定采用标准答案各军标在考生答案中遍历的算法,利用军标的三类属性对比以评判记分。具体过程如下:
1)读取文本文件内容,并将其设置二维数组,第一维代表军标序号,第二维代表军标属性(0注记,1代号,2原色,3颜色,4衬色,5倾斜角,6虚实,7控制点个数,8第一个控制点X坐标,9第一个控制点Y坐标,10第二个控制点X坐标,11第二个控制点Y坐标,....依此类推)。
2)取一标准答案军标,遍历考生军标,查找出与该标准军标(注记、代号、原色、颜色、衬色、虚实及控制点个数)属性相同军标,以备下一步记分。查找结果可能为一个,也可能是多个。具体做法:首先查找是否有军标代号相同的,若没有说明此军标不得分,若有继续判断第二组属性(注记、原色、颜色、衬色、虚实及控制点个数)是否相同,第二组属性中有一个不相等,则同样不得分,若都相同,则记录考生军标序号。
3)根据评判规则3及评判规则4,为符合条件的每个备选考生军标记分,取得分最大者为该军标的得分,并累计该题的得分情况,同时还需记录该军标的序号,以便下一标准军标遍历考生军标时重复记分。
4)再取下一标准答案军标,进行遍历循环,直至标准答案中的军标均取完。
2.3 实现主要源码
为了增强评判的灵活性及便于程序维护,建议将各档得分系数差距的下限值存入数据表中。另外,在标图评判过程中,可以将人工评判和自动评判结果相结合综合考虑最终的评判结果,《首长机关网上考评系统》V2.0中就采用了上述方法进行标图的综合评判的。
3 结束语
与当代先进的信息技术相比,标图评判工作略显滞后,无论人工评判还是自动评判,相关得研究都很少,尤其是自动评判。标图自动评判相当复杂,尤其是评判规则很难确定,通常评判规则应该由大量权威军事专家共同拟制,限于此,本文仅为对标图自动评判问题的初步探讨,以期关于标图评判问题得到更多关注,进而进一步改进标图评判工作的客观性、准确性、科学性及合理性。
注:本文来源于《首长机关网上训练考评系统》,获武警部队科技进步一等奖。
摘要:该文以获取标图文本为基础,详细介绍了标图自动评判的具体规则、实现过程及实现源码,通过对标图自动评判问题的初步的研究和探讨,以期改进标图评判工作的客观性、准确性、科学性及合理性。
关键词:图形标绘,自动评判
参考文献
自动评判 篇4
物理实验课程是高等理工科院校对学生进行科学实验基本训练的必修课程, 提供综合性很强的基本实验技能训练, 是培养学生科学实验能力、提高科学素养的重要基础。由于受实验时间、空间和仪器的限制, 学生通常不能在实验课堂完成设计性实验, 而是教师讲原理、讲步骤, 学生在教师设计好的实验条件下完成实验。
基于组件的虚拟仪器仿真实验可使学生自主选择仪器、实验参数;自主设计实验方案来完成实验, 激发学生的学习热情, 提高实验教学质量[3,4,5]。实验报告中学生通过处理数据、分析实验现象并总结, 体现实验物理思想的正确性, 这要求数据记录、处理方法合理;计算过程正确[7]。数据处理部分是后面数据分析的基础, 机械性高, 后面的数据分析是核心重点。实际教学中, 教师批阅实验报告需要花费大量的时间来查看学生的数据, 反复核算计算结果, 从而影响对实验报告中实验现象分析、总结等更重要部分的批阅。设计性实验的不同实验方案、自主选择仪器和任意设定实验参数则进一步加重了教师的批阅负担。
基于组件的虚拟仪器, 将实验仪器从具体的实验中独立出来作为单独的组件, 实验平台根据学生的设计方案, 采用动态绑定技术通过仪器接口调用仪器, 实现了仪器的自由组合以完成设计性虚拟实验[3,4,6]。本文在此基础上设计了基于虚拟实验的实验报告自动评判系统, 在学生的实验过程中抓取实验状态和实验结果填入实验报告模板, 根据实验报告模板中包含的数据处理方式处理实验数据, 并将获得的结果写入实验报告模板并评阅显示。此系统提高了教师批阅实验报告的效率, 并可应用于开放式实验教学中, 拓宽了教学应用面。
1 设计性虚拟实验报告自动评判系统的构建
设计性虚拟实验的实验报告自动评判系统, 结构如图1所示, 它由虚拟实验模块和实验报告评判模块组成。实验报告评判系统中设计了实验报告处理平台, 将实验报告、数据处理算法、评判算法以独立的组件, 通过接口实现交互。
学生进入虚拟实验后, 根据设计方案选取仪器加入实验平台, 平台根据实验和仪器调用实验算法, 根据计算出的实验状态调整仪器。根据接收的实验报告模板获取相应的实验数据, 将带有数据的实验报告传回实验报告评判模块。根据实验报告中包含的数据处理算法处理数据, 将结果写回实验报告, 根据评判规则自动评判。图中各个模块的主要功能如下:
1.1 虚拟实验系统
虚拟仪器:根据仪器自身的功能和操作方法, 建立仪器的数学模型、物理模型、操作界面、仪器接口, 可以自定义其功能并进行功能的扩展。
实验算法:根据实验内容建立仪器相互关系模型, 模拟实验运行, 显示最终结果。
实验场景平台:构建虚拟实验场景, 提供了学生操作界面, 以及一系列的组件管理和交互的方式, 包括仪器的管理和控制、算法和数据的控制。
仪器接口:定义了实现仪器的调用和内部参数访问的方法, 将实验仪器与具体的实验算法相隔离。
算法接口:定义了实现实验内容的方法, 将实验算法和实验平台、具体实验相隔离。
实验数据接口:提供与虚拟实验交互实验报告数据的接口, 用来在虚拟实验和实验报告系统之间交互实验数据, 传送实验报告。
1.2 实验报告评判系统
实验报告处理平台:与虚拟实验进行交互, 向虚拟实验传送空白报告, 从虚拟实验接收填好数据的实验报告后, 根据报告要求通过处理算法接口调用算法处理, 将结果返回报告后, 参照对应的评判规则给出评判结果。
实验数据接口:提供与虚拟实验交互实验报告数据的接口, 用来在虚拟实验和实验报告系统之间交互实验数据, 传送实验报告。
算法接口:定义了数据处理算法实现方式, 将数据处理算法与实验报告相隔离。
数据处理算法:将实验数据按照指定的方式处理, 并返回处理结果。
自动评判接口:定义实验结果评判规则的实现。
自动评判:将实验结果按评判规则处理, 并返回评判分数。
实验报告:实验内容组成, 每个实验内容包含实验数据、数据处理方法、实验结果评判方法。
2 设计性虚拟实验报告自动评判系统的实现
2.1 虚拟实验的构建
虚拟实验的构建主要是实验通用物理量、实验算法和算法接口、仪器和仪器接口的实现。根据实验研究对象确定主要物理量, 根据主要物理量和实验内容确定实验算法、设计算法接口, 根据物理量和算法接口实现仪器、仪器接口的设计。
以自组万用表为例, 自组万用表设计实验包含利用微安表组装电流表、电压表和不同量程的电阻表。实验原理如图2所示, 串联、并联电阻可以扩大微安表的量程, 并改装成其他测量表盘。学生可以在原理电路图的基础上设计多种电路来完成实验。
2.1.1 实验通用物理量的构建
自组万用表设计实验主要研究对象是电路的电学量, 电路是由导线和电子元件组成的导线回路, 每个元件是一条支路, 支路间的连接点为节点, 抽象出节点间器件类型、电压、阻抗等属性, 建立了电学量的数学模型, 具体的类定义如下:
2.1.2 实验算法接口及算法的实现
实验平台通过算法接口访问实验算法, 实现了实验算法和实验仪器、实验的相隔离。以下是电路算法接口, 表示实验平台将实现ICircultIns接口的电学仪器传入算法中, 根据算法处理的结果更新对应的仪器:
实验遵循基尔霍夫定律:在集中参数电路中, 在任何时刻, 任意一个结点的所有支路电流代数和等于零, 任意一个回路的所有支路电压代数和等于零。建立节点-仪器关系矩阵, 画出节点电路图, 得到关联矩阵并进行计算。具体电路计算流程如图3所示。
2.1.3 仪器接口及实验仪器的实现
仪器接口实现了与仪器的交互, 将仪器和实验平台、实验算法隔离开。以下是仪器接口信息及仪器微安表类的定义:
根据仪器接口设计虚拟仪器组件, 以实验中的微安表为例来说明仪器组件的构建和仪器接口的设计实现[4]。微安表是测量电流的仪表, 但在实验中还用其测量电阻, 因此除了具有读数表盘、调零按钮、不同档位值及其对应的内阻值, 还需要刻画出欧姆刻度表, 可以点击调零按钮进行指针的调零操作, 与实验场景平台交互的仪器接口, 具体的实现如图4所示。
图4微安表类及组件结构图 (参见右栏)
2.2 实验报告评判系统
实验报告评判系统从虚拟实验中获取实验报告, 调用相应的数据处理算法, 根据算法结果和评判规则自动评判, 最后显示、存储已评阅的报告。
2.2.1 实验报告的设计及实现
实验报告模板的内容、逻辑与真实实验报告保持一致, 同时可以存储数据, 且易于存储、扩展、管理和实现。由于XML可标记电子文件使其具有结构性, 可定义数据类型、存储数据, 且易于存储、管理和实现, 因此系统采用XML格式对其进行描述[2]。实验报告模板包括实验名称、实验目的、实验原理、实验仪器、实验内容, 图5是实验报告模板的组成图。
实验内容包括实验要求、步骤和实验数据两部分, 实验数据部分根据数据处理方法的所需数据来建立相应的实验测量数据组节点。以下是自组万用表设计实验的报告及对应的XML文档, 有实验目的、各实验内容的原理和电路图、仪器、实验要求、实验步骤、实验数据和报告分数。
2.2.2 实验报告对应的数据处理算法及实现
通过数据处理算法接口实现相应的数据处理, 将数据处理算法和实验报告的分离:数据处理算法不和具体的实验相关, 在同一实验中相同的数据可按不同的数据处理算法处理。现以自组万用表设计实验中的电流表为例进行说明。
用改装电流表测量电流值, 其测量值和标准值之间总会存在微小误差, 在测量精度要求较高的情况下需要将测量值和标准值进行最小二乘法直线拟合以调整误差。最小二乘法直线拟合算法是以实测值与计算值差的平方和为最小作为优化判据来拟合离散数据点, 表达了数据之间的线性规律。算法需要几组学生值和标准值的数据对以进行计算, 图7是采用算法进行数据处理的流程图:
图7左边是实验报告数据处理部分对应的XML文件, 右边是实验报告处理平台及最小二乘法直线拟合算法的定义。数据接口读取XML文件, 向任务分发模块传递数据单元列表, 接收从任务分发模块返回的数据并以XML形式保存。任务分发模块根据实验报告的数据处理指定的算法ID通过算法接口调用对应算法, 同时将数据单元传入算法中, 将算法返回的数据返还给数据接口。数据单元根据实验报告数据处理部分的实验测量数据组节点构建。
2.2.3 评判规则的设计与实现
数据处理结束后, 系统自动把处理结果以XML形式加以记录、保存。然后根据模板解析出直线拟合斜率、截距的学生值和标准值, 两项比较, 根据报告指定的评判规则进行评判, 将结果计算整理保存, 具体图8所示。
图8自动评判 (参见右栏)
图8表明:根据评判规则1, 百分比在±0.1范围内得满分2分;评判规则2, 百分比在±0.3范围内得一半分1分, 否则不得分。
综上所述, 设计性虚拟实验的实验报告自动评判系统根据学生自己定制的实验方案进行实验, 并根据实验报告模板, 采集实验数据, 处理实验数据, 根据结果和评判规则计算得分并显示, 达到了实验报告机械部分的自动评阅。
3 结束语
本文针对在面向大面积学生开设设计性实验时, 在教学指导和实验报告的批改中的困扰, 构建了设计性虚拟实验报告自动评判系统。此系统通过数据接口与虚拟实验交互, 调用相应的数据处理算法, 根据算法结果和评判规则实现对数据处理部分进行自动评阅, 并显示、存储已评阅的实验报告的评判结果。
本实验报告自动评判系统提高了教师评阅实验报告的效率, 为面向大面积学生的设计性实验教学创造了条件, 在高校实现面向大面积学生的设计性、开放性实验教学, 大面积提高高校实验教学质量中有广阔的应用前景。
摘要:基于组件的设计性虚拟实验实现了学生自主选择、操作仪器, 完成设计性实验[1, 4, 5]。在此基础上, 文章构建了基于虚拟实验的实验报告自动评判系统, 通过虚拟实验数据接口获得实验信息, 实现实验报告的自动评判, 提高了教师批阅的效率, 拓宽了设计性实验教学应用面。并以自组万用表设计性实验为例, 实现了可设计性虚拟实验报告系统的构建和应用。
关键词:虚拟实验,实验报告,自动评判,XML
参考文献
[1]谭守标, 霍剑青, 王晓蒲.计算机虚拟技术在大学物理仿真实验教学系统中的应用[J].中国科学技术大学学报, 2005 (3) :429-433.
[2]邢飞, 杨旭, 霍剑青, 等.基于xml自动评阅系统的设计与实现[J].电子技术, 2010 (9) :43-46.
[3]牛文波, 霍剑青, 王晓蒲.基于UI-Model体系结构的虚拟仪器研究[J].中国科学技术大学学报, 2007, 37 (3) :323-326.
[4]桑士振, 杨旭, 张什永, 等.基于mvc2扩展模式虚拟仪器的设计与实现[J].电子技术, 2010 (9) :50-54.
[5]施俊辉, 杨旭, 霍剑青, 等.基于组件的可设计性虚拟实验的构建与实现[J].中国科学技术大学学报, 2010 (3) :249-253.
[6]周颖, 王晓蒲, 袁泉, 等.基于动态绑定设计方法的设计性虚拟实验系统[J].中国科学技术大学学报, 2006 (12) :1342-1348.