基于B/S模式程序设计类课程在线考试系统的设计与实现

2021-04-22 15:22逄靓
电脑知识与技术 2021年8期
关键词:页面试卷试题

逄靓

摘要:目前各高校程序设计类课程的考试模式发生了改变,以往单纯笔试或上机编程的考试方式逐步改为使用在线考试系统进行。但是针对大部分考试系统,不能适应客观性试题与主观性试题混合随机组卷、判卷的弊端。该文设计开发一款基于 B/S 模式混合组卷的在线考试系统,重点对随机组卷和主观题自动判卷两个功能进行详细研究,学生登录系统后,进行程序设计类课程的阶段考试或期末考试,教师既能及时了解学生学习效果,同时也能减轻教师的工作压力。

关键词:在线考试系统;B/S;程序设计

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2021)08-0085-02

1 背景

在互联网遍布的时代,在线教学在如今传统课堂中的地位很高,随着在线教学不断建设与发展,成为一种超前的教学方式,发展空间非常广阔,是教学改革的重要方向。同时,对应在线教学的考试方式也要进行改革,要顺应考试发展的新趋势。改变传统的考试方式,将线上考试融入课程中。高校中程序设计类课程是实践性很强的课程,主要培养学生的逻辑思维能力、创新思维能力以及实践动手能力。这类课程的考核重点是考查学生对理论知识和实践技能的综合运用情况。在高校程序设计类课程的传统考试方式主要有三种类型:纸质闭卷考试、上机编程考试、期末答辩考试。本文根据这类课程的特点,构建出适合该类课程的考试系统。

随着“在线考试系统”在教学领域的不断应用,人工进行出出题、阅卷的方式已不能适应考试需求,各高校逐步使用在线考试系统对学生的学习效果进行考核评估。目前,适用于程序设计类课程的在线考试系统都存在一定的弊端,主要出现在以下三个方面:1)没有针对程序设计类课程专业的在线考试系统,对于程序设计类课程依然采用通用考试系统,该系统适用于多类课程,系统操作复杂;2)大多数系统仅有客观题,没有编程填空、程序实操等主观题,所以很难考查学生动手编程能力。即使有主觀试题,系统也不支持主观题自动判卷,需要教师人工判卷给出成绩;3)依赖于开源的程序评测系统进行考试,虽然实现了主观题的自动判卷功能,但这类考试系统仅支持主观性试题,没有客观题型的设置,不能全面地考查学生的理论知识。

针对以上的三种问题,设计并开发出适合程序设计类课程的在线考试系统,全面考查学生的理论知识和实践技能。将客观性试题(单选、多选、判断等)与主观性试题(如程序填空,在线编程等)混合组卷,实现在线自动判卷,既能及时地检测学生的学习效果,又大大减少了教师的工作量。

2 系统设计

2.1 概要设计

在线考试系统共分为三种角色,分别为学生、教师、管理员。学生登录系统后按照考试要求选择科目进行试卷答题,系统会自动计时,学生在规定的时间内提交试卷,否则系统会自动提交试卷。教师登录系统后,对本学科的题库进行维护,根据考试要求进行手动组卷或制作试卷模板,同时可以查询学生的考试成绩,以及试卷分析。管理员登录系统后,可以对各类用户进行管理,按班级对学生进行分类,然后创建学生用户,维护系统数据等。

2.2 模块设计

为确保系统的安全及考试的公正,不同角色用户拥有的系统权限不同,对于教师角色来说,教师仅可以查看或管理所教授课程的学生成绩和课程题库。而对于学生角色来说,学生仅可以查看到本次考试的试卷信息。这样的好处既可以归集各类数据,填充更新数据库,又能保证数据库的安全性,此系统又分为以下几个模块。

1)课程信息模块。该模块是由管理员角色进行管理,需要管理员完成所有程序设计类课程和课程所对应的班级的信息录入。课程管理对考试课程的添加、修改、删除、查询等功能。班级管理是对参加考试的班级进行设置,以及对各班级中学生的信息批量导入,在班级中实现增加、修改、删除、查询学生信息等功能。

2)题库管理模块。该模块是由教师角色进行管理,负责管理课程考试中所需要的试题库。不同课程的教师登录后,按照知识点分类对该课程的试题库进行增、删、改、查等操作,批量导入试题时必须按照指定的格式。试题设置的类型分为客观题和主观题两部分,题目数量、题目分值和难易程度都要由教师进行把控。试题难度分为容易、中等、较难三个等级。每个题目都包含题目序号、题目内容和标准答案。为后期自动组卷和自动判卷提供保障[3]。

3)试卷管理模块。该模块是由教师角色进行管理,主要包括同卷混排和随机组卷两种形式,教师可任意选择。同卷混排方式可以根据教师考查的重难点进行合理出题,教师根据题库中试题所考查的知识点任意挑选题目并设置题量和分值,在试卷的排列中试卷内容是相同的,题目顺序可设为相同或随机混合排序,最终生成试卷。随机组卷方式可以根据教师制定的组卷模板,自动生成制定指定数量的试卷。每位学生的试卷题目不相同。试卷模板包括考试科目、客观题题型和数量、主观题题型和数量、各类题型中各题目的分值,每部分知识点占比等。

4)在线考试模块。在线考试模块是系统中最重要的部分,学生登录系统后,系统会分配应考试卷,学生按照要求答题即可。在试卷页面会有计时功能,在系统规定时间内提交试卷,否则计时结束后会自动提交。提交试卷后,系统会对整个试卷进行自动评分并显示在页面中,同时该成绩被保存到数据库中,不能进行更改。

5)成绩管理模块。教师登录后,可查询自己所有教授课程班级学生的考试成绩,可以按专业、班级、学生姓名分类进行查询。同时可以以授课班型为单位导入Excel文件格式成绩单。

6)统计分析模块。该模块由教师角色进行管理。包括学生成绩分析,试卷分析等功能。学生成绩分析功能中分别对各专业所有学生、某班级所有学生某一课程的考试成绩进行分析,分析包括参加考试人数、缺考人数、平均分、各分数段人数占比、不及格人数比率、最高最低成绩等情况,最终形成成绩分布图。试卷分析功能是分析试卷题型设置、题目难易程度测试、各章节题目比例及对考试时间统计最早交卷、最迟交卷、最长耗时、最短耗时等情况,系统可以导出Excel文件格式的成绩分析表。

7)系统管理模块。该模块由管理员角色进行管理,管理用户基本信息、角色管理。管理员可以对用户进行增、删、改、查,定位每位用户的角色,为每个用户设置权限。完成系统运行相关参数设置后,系统将其存入数据库中。

3 系统实现

3.1 在线考试实现

学生登录系统后,判断考试是否开始,如果未开始考试,学生点击开始按钮,系统为学生生成试卷并记录试卷,学生按要求进行答题,试卷页面采用一题一页的形式,页面最右侧添加题目选项,学生可以随时切换到对应的题号页,对答案进行修改[2]。

在页面的最下方有提交按钮,学生在规定的时间内完成答案,可以进行试卷提交,提交试卷后,提交后退出试卷页面,进入成绩显示页面,页面中会显示本次考试的总成绩。并将总成绩保存到数据库中。如果在规定时间内没有提交试卷,考试时间到系统会自动提交并顯示成绩,本次考试结束[3]。

3.2 随机组卷实现

题库的设计主要涉及选择题表、知识点表、程序填空题表、题目类型表、编程题表等。并设置对应字段例如知识点id、题目id等。学生进入系统后点击开始考试,系统会自动生成试卷。客观题组卷方式采用随机排序算法,客观题中涉及的知识点进行排序,并将id保存到数组中。每个知识点对应多类题目,从数据库中读取对应知识点中的确定个数的题目,根据学生人数和知识点对应题目数量,对题目进行多次随机排序,确定题目id后,读取题目描述和题目中各个选项,对该题目的选项进行随机排序,保证即使题目相同,选项顺序也不相同,最终生成客观题[4]。

这种组卷方式降低了试卷的重复率和学生作弊的可能。主观题组卷方式和客观题类似,但主观题题型没有选项,所以不需要多个选项之间的排序。

3.3 题库管理实现

题库管理模块侧重于教师对题目数据进行操作,主要有三个主页面,题目录入页面、题目管理页面和题库管理页面。

题目录入页面中有四部分,知识点部分(科目,所属知识点)、题型(单选、多选、判断、程序填空、程序设计)、题干、选项。读取试题数据后检测试题是否录入重复,检测通过后存储试题数据。题目管理页面提供了多维度的题目查询功能,包括试题id、关键字、课程id、知识点id、题目类型和题目难度。搜索出试题后点击题干可显示题目详细信息。

题库管理页面通过三个变量分别用于数据交互、读取教师请求、加载试题,通过7种方法分别用于添加、修改、删除、批量删除课程知识点、按知识点导出后下载试题库、与用户交互、课程中教师列表。在题库管理页面中按照考试的课程和知识点两层顺序展开,页面以列表的形式展示当前所有内容。页面中有操作部分提供添加、修改、删除、批量删除等选项。另外对于课程这一层级,实现了对于教师的权限管理,不同的教师只能对自己所教授的课程进行操作。

3.4 自动判卷实现

本系统有客观题和主观题两种题型,两种题型都实现在线主动判卷模式。对于客观题,在导入试题时同时导入了标准答案,所有在学生提交试卷后,与生成试卷时的答案的字符串做比较即可,与答案一致则判定学生答案正确,否则判定失败。

对于主观试题中完整的程序设计试题,引用开源的HUSTOJ在线评测系统实现自动判题,对于HUSTOJ中的题库中的试题,在本系统中的程序试题均有一个属性进行标记改题目,这样就实现两个系统的连接,两个系统中的题目一一对应。在系统中对学生提交的数据进行监控,由USTOJ 完成判题,通过运行时间、内存占用、数据边界等,判断代码是否正确输出判题结果[4]。系统定时从 HUSTO数据库返回题目结果。

4 结束语

本文专门针对程序设计类课程开发了一款基于B/S模式的在线考试系统,该系统从软件工程体系结构角度和程序设计类课程知识体系出发[5],对智能组卷进行深入研究,将客观题和主观题混合组卷。同时也着重研究了主观题目自动判卷功能。

系统基本实现了在线考试的需求,可用于课堂中的随机测验,也可以用于期末综合测验,大大减少了教师出卷、判卷的工作量,既能全面考查学生综合程序设计类能力,同时提高了课程考试评估的科学性和准确性。

参考文献:

[1] 庞希愚,王成.高校程序设计类课程网上考试自动组卷方法的研究[J].中国教育信息化·基础教育,2020(7):93-96.

[2] 蔡崇超.基于 Web 的在线判题系统设计与实现[J].软件导刊,2016,15(3):107-109.

[3] 钱晓贤,宋超.基于B/S架构的在线考试系统在高职中的应用[J].电子制作,2017(10):99-100.

[4] 铁治欣,林永兴,冉宇瑶.基于B/S架构的C语言在线考试系统设计与实现[J].软件导刊,2019,18(10):103-106,110.

[5] 彭易波.基于B/S在线考试系统的研究与设计[J].科技传播,2010,2(12):188,193.

[6] 张杰.B/S模式高校在线考试系统的研究与设计[J].淮北职业技术学院学报, 2020(2):107,109.

[7] 铁治欣,林永兴,冉宇瑶.基于B/S架构的C语言在线考试系统设计与实现[J].软件导刊,2019(10):103-106.

【通联编辑:谢媛媛】

猜你喜欢
页面试卷试题
刷新生活的页面
2021年高考数学模拟试题(四)
2019年高考数学模拟试题(五)
《陈涉世家》初三复习试题
2019届高考数学模拟试题(二)
Module5 A Trip Along the Three Gorges
Module5 Great People and Great Inventions of Ancient China
Module 4 Sandstorms in Asia
Module 1 Europe
网站结构在SEO中的研究与应用