Sci论文 - 至繁归于至简,Sci论文网。 设为首页|加入收藏
当前位置:首页 > 教育论文 > 正文

面向竞赛和教学的高校在线评测系统的改进与优化论文

发布时间:2019-12-26 10:48:20 文章来源:SCI论文网 我要评论














SCI论文(www.lunwensci.com):

摘要:近年来,随着计算机科学在各个领域的广泛使用,对于培养计算机领域人才的要求也不断在提升。ACM在线评测系统是一个依据ACM/ICPC竞赛体制,能够利用网络服务器进行比赛的Web系统。通过对该系统进行改进和优化,明确用户权限,增加题目批量上传和错误样例输出等功能,可以实现系统在教学与竞赛方面的一体化,从而促进高校培养创新型人才。

关键词:在线评测系统;教学;竞赛;权限

本文引用格式:张雨薇,等.面向竞赛和教学的高校在线评测系统的改进与优化[J].教育现代化,2019,6(30):122-123,128.

        随着ACM/ICPC竞赛体制在全世界范围内的普及,越来越多的人选择参加该类竞赛。在线评测系统就是以比赛为主体的,用于评测用户提交程序正确性的Web系统。随着教学与新媒体相结合的高校教学趋势,用户对于在线评测系统在教学和竞赛方面相结合的需求也在日益增长。现有的高校在线评测系统在一定程度上可以满足竞赛的基本需求,但是仍存在着一些问题,以我校在线评测系统为例,其存在着用户权限不明确、题目上传方式复杂、课程题目分类不明确等问题,无法满足实验教学的基本需求。基于这种现状,我们对现有的在线评测系统进行改进和优化,实现了一个面向竞赛和教学的高校在线评测系统。

         对在线评测系统的改进与优化在保证ACM训练的基础上,同时为程序设计类课程的实验教学提供了新模式。增加教师权限,使老师可以通过系统进行作业的布置和考试比赛等形式的成绩判定;增加题目批量上传功能,提高教师的工作效率;增加错误样例输出功能,减少学生调试程序时的盲目性,进而调动学生学习的积极性。

一 需求分析

         设计面向竞赛与教学的在线评测系统的主要目的是在网络服务器端对用户在浏览器端上传的程序代码进行评测,并给出评测结果。新增教师权限,教师用户能够创建由自己管理的比赛和题库,通过批量上传功能上传比赛集或增加题目,查看学生成绩信息。学生用户在客户端调试代码,将确认后的代码提交到系统,系统根据教师或管理员上传的输入输出样例进行在线评测,并给出评测结果和评测成绩,学生可以查看提交结果及成绩。管理员对所有用户、题库和比赛等进行管理。浏览器端提供对题目的详细描述、输入输出样例、时间或内存的约束和题目的标签,以及每场比赛的排名情况。服务器端对代码评判的过程分为以下几步:根据代码的提交语言选择对应编译器进行编译运行,若编译不成功则给出对应的语法错误信息;若程序运行超过内存或运行时间则给出对应的错误信息;运行教师或管理员上传的输入样例,并将结果写入对应的输出文件;将输出文件总的结果与输出样例进行比较,若相同,则给出“Accept”信息,相反,给出“Wrong Answer”信息。

\

 
二 总体架构

        本系统基于B/S网络结构模式,其中Web浏览器提供在线评测系统的界面展示、用户注册、题目上传、题目提交、查看成绩及排名、错误样例输出等功能,学生用户、教师用户、系统管理员通过访问浏览器来使用在线评测系统。Web服务器端用于接收浏览器端的Http请求,并对请求做出相应的Http回复。判题服务器用于对用户提交的代码进行判题操作,并将判题的结果传送到Web服务器,再由服务器回复到浏览器。

三 开发技术路线

(一)前端开发


        前端使用Vue.js框架进行前端开发。Vue.js关注MVVM前端View和Model部分,允许嵌入一个现有页面,而未必要做成一个庞大的单页应用。Vue.js的优点主要有:组件化;模块化;响应式编程。在使用Vue.js的过程中,用户只需关注数据源头,而不必担心DOM元素变化之后的绑定变化,从而可以去除繁琐的DOM操作。[1]Vue.js具有一套完备的用户界面构建模式且是呈现出渐进式的框架结构,采用自底向上增量开发的设计。Vue.js的核心库只关注视图层,在操作过程中更加灵活自由,框架结构设计简单,方便使用者快速熟悉并掌握其使用特征,并将其投入使用,同时还非常容易与其它库或已有项目进行整合。另一方面,Vue.js完全有能力驱动采用单文件组件和Vue.js生态系统支持的库开发的复杂单页应用[2]。

(二)后端开发

         后端使用Python的一个轻量级Web框架Django进行后端开发。Django采用了MVC的软件设计模式。它不仅有速度快、稳定、安全、功能完善的优点,也易于开发。其中,数据库采用Django框架内置的Sqlite数据库,其能够提供众多语言的适配访问接口,例如Java和C/C++等,且具有很快的处理速度,从而确保Web和判题内核能够轻松高效地实现对数据库的访问。

(三)判题沙盒

          判题沙盒使用Linux的Seccomp(secure computing)的安全机制,从而在服务器端实现安全判题。Seccomp全称为secure computing mode,是linuxkernel从2.6.23版本开始支持的一种安全机制。在Linux系统里,大量的系统调用直接暴露给用户态程序。但并不是所有的系统调用都被需要,且不安全的代码滥用系统调用会对系统造成安全威胁。通过seccomp可以限制程序使用某些系统调用,减少系统的暴露面,以确保程序进入一种“安全”的状态。
面向竞赛和教学的高校在线评测系统的用户分为三种:系统管理员、教师用户、学生用户。三种用户具有不同的权限。

1.学生用户可以访问查询题目、程序提交、成绩及排名查看模块。具体功能如下:

     (1)查询题目:该模块实现对题目的查询,用户可以以关键字为条件对题目进行条件查询。

      (2)程序提交:该模块具有如下功能:对用户提交的程序源代码进行在线编译,生成可执行文件,并调用数据库中的测试数据,返回程序源代码的各方面评测结果。如果正确提交,则显示提示信息“Accepted”;如果未能正确提交,则显示相应错误的提示信息,如“Runtime Error”、“Compile Error”等等,若原因是未通过测试样例,则输出错误样例。其中,错误样例输出的实现是利用XML格式文件进行输入输出样例的上传,一个输入样例对应一个输出样例,系统判题时若在输入某个输入样例后与输出样例不匹配,则返回该输入样例的信息。

      (3)成绩及排名查看:该模块实现用户对成绩及排名的查看。

2.教师用户除了具有学生用户的权限外,还可以访问公告栏管理、题目管理、竞赛及考试管理、成绩及排名生成模块。具体功能如下:

      (1)公告栏管理模块:该模块实现系统管理员或教师用户对公告栏的信息进行添加、删除、修改等功能,公告栏的信息包括比赛发布通知、比赛即将截止通知等信息。

       (2)题目管理:该模块主要实现系统管理员或教师用户对题目的添加、删除、修改等功能。题目的添加有在线编辑和批量上传两种方式。其中,在线编辑需要给出题目的基本信息、判题参数和输入输出样例,基本信息包括题目序号、名称、问题描述、输入输出描述、难度等,判题参数包括判题的时间限制、内存限制、可使用的编程语言等。[3]题目批量上传功能是利用XML格式文件实现的,在XML格式文件中根据数据库中的题目信息表的关键字创建标签对,在标签对中添加相应的元素值。将填充好的XML格式文件上传到系统中,系统的后台服务器对XML格式文件进行解析,并将标签对中的元素值添加到数据库中的题目信息表中,若XML格式文件没有包含数据库题目信息表中所有不为空的约束,则解析失败返回错误信息。

\

 
     (3)竞赛及考试管理模块:该模块具有如下功能:题目设置;起止时间设置;参与人员设置;参赛或考试密码设置;成绩评判方式制定等等。

     (4)成绩及排名生成模块:该模块根据竞赛及考试管理模块所制定的成绩评判方式自动生成成绩及排名,并显示每位用户的答题状态如通过率、提交次数等,供用户查看成绩及排名。

        3.系统管理员除了具有教师用户的权限外,还可以访问用户管理模块,该模块具有如下功能:用户注册;用户信息修改;用户密码安全维护;用户权限设置。

四 结语

       随着ACM/ICPC竞赛的发展,越来越多的高校开展了在线评测系统的研发工作。在线评测系统不仅用于在线答题,还在程序设计教学领域应用广泛。本文根据实际教学情况对系统进行了改进与优化,实现了一个面向竞赛和教学的高校在线评测系统[4-6]。

        改进和优化后的系统实现了在教学和竞赛方面的结合,不但可以帮助教师高效地管理后台试题库和学生提交作业的基本情况,提高教师的工作效率,而且可以减少学生调试程序时排错的盲目性,从而调动学生学习的主动性。该系统的安全性改进之后,也可以推荐给其他院校用于竞赛和相关课程的实验教学,进而增加学校间的学术知识交流,提高我校计算机相关专业的知名度。

参考文献

[1]麦冬,陈涛,梁宗湾.轻量级响应式框架Vue.js应用分析[J].信息与电脑(理论版),2017(07):58-59.
[2]陈岩.轻量级响应式框架Vue.js应用分析[J].中国管理信息化,2018,21(03):181-183.
[3]曾台盛.基于B/S模式的程序设计在线评测系统设计[J].长江大学学报(自科版),2014,11(34):40-43.
[4]蔡崇超.基于Web的在线判题系统设计与实现[J].软件导刊,2016,15(03):107-109.
[5]熊茜,雷亮,许莎,等.基于在线判题系统的C语言实验教学改革[J].重庆科技学院学报(社会科学版),2015(10):67-69.
[6]王涛,牛荣.LAMP网络学习与评测系统研究实践[J].教育现代化,2018,5(28):283-285.

关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jiaoyulunwen/9858.html

发表评论

Sci论文网 - Sci论文发表 - Sci论文修改润色 - Sci论文期刊 - Sci论文代发
Copyright © Sci论文网 版权所有 | SCI论文网手机版 | 鄂ICP备2022005580号-2 | 网站地图xml | 百度地图xml