《数据结构》课程智能化考试系统的构建研究

2019-07-24 10:33冷强奎王洪敏
智富时代 2019年6期
关键词:数据结构

冷强奎 王洪敏

【摘 要】为设计针对《数据结构》课程的智能化考试系统,提出了一种新的系统构建框架。该框架由人员信息维护、试题管理、试卷管理等几个主要模块组成。其中,智能组卷算法和智能評分算法是该框架的技术核心。智能组卷算法考虑试题的综合分布、类型的合理搭配、分值的有效设定等问题。智能评分算法解决学生程序不完全正确下自动评分的合理赋分问题。通过数据结构设计和系统运行流程的仿真模拟,能够说明该框架的有效性。

【关键词】智能考试系统;构建框架;组卷算法;评分算法

《数据结构》课程是计算机相关专业的一门核心基础课程,同时它也是计算机工程实践中应用最广泛的课程之一[1-2]。它能够训练学生的计算思维,并帮助学生掌握针对复杂算法的设计和分析能力[3]。该课程的教学包含讲授、实践、研讨、测评等诸多环节,其中,对学生学习状况的有效测评是检验学生学习能力的重要一环。

但由于学生人数众多,对学生算法/程序的人工评分需要教师付出大量劳动,效率低下。并且学生提交程序后不能即时得到分数反馈,这也影响学生的学习状态。另外,人工评分还要受到评卷教师水平、经验、个性甚至道德水准的影响[4],因此设计一种智能的自动考试系统就显得十分重要。预期该系统能够对学生算法设计能力和编程实践能力进行有效评测,并为教师的课堂授课改革提供一定的依据。

一、系统总体框架

智能化考试系统由人员信息维护、试题管理、试卷管理、信息查询等四个核心模块组成。其中,试题管理由任课教师负责,实现添加、修改、删除试题的功能。试卷管理包含生成试卷、浏览试卷、删除试卷、自动评分、人工校准等五个部分。在生成试卷时,要采用智能的组卷算法,即从试题库中按知识点分布和试题类型来组成一套完整的试卷。此时,教师可以对新生成的试卷进行预览,如果不符合要求或预期,则删除该试卷并再次生成新的试卷。考试结束后,系统会进行自动评分,然后等待是否需要人工校准。信息查询模块主要包括学生对单人成绩的查询和教师对总体成绩的查询,这个模块还要集成对数据的分析汇总功能,以便教师从整体上了解该次考试的情况。

二、数据库设计

考试系统需要进行数据库模式设计。考试系统的数据库主要包含三个数据表,即人员表、试题表和考试表。其中,人员表主要负责存储管理员、教师、学生等人员的信息。为了保持实体完整性和参照完整性,需要对表的主键和外键进行设置。在人员表中,使用教师的工号,或学生的学号,或自动分配的管理员编号来作为该表的主键,并且不允许为空。其他附加信息根据具体情况设定数据类型和数据长度。

试题表包含试题号、试题类型、分值、参考答案等几个字段。它主要负责保持各个题目之间的独立性,以便组卷算法能够自动抽取。试卷表包含学号、试题号、自动评分分数、人工评分分数、最终得分数等几个字段。它是一个生成表,在考试发生时生成,从这个意义上讲,它也可以看作是一个动态表。它的主键由两个外键(学号和试题号)联合构成,即Key=(学号,试题号)。试卷表是人员表和试题表联系的纽带,也是考试系统中最重要的一个表。

三、编程题智能评分方法

针对传统编程题自动评分方法不能准确衡量学生程序与参考答案之间的接近程度等问题,本系统拟实现一种智能的编程题自动评分方法。分别构造学生程序与参考答案的向量空间模型,并计算两者的余弦相似度,来作为评判词语相似的依据。最终的分数由结构相似度和词语相似度的加权分数计算得出。该方法包含以下步骤:

变量归一化:由于学生自定义的变量名与对应试题无实质性关联,因此为了检测学生程序中变量的类型和体量,对变量名作归一化处理。具体的处理方法是“类型+序号”,比如在程序中第一个出现的双精度浮点型变量,归一化后的名称为“double1”。

词频统计:变量归一化后,可以对答案中出现的词语进行词频统计,以决定该词的权重。这里的统计方法使用自然语言处理中的经典方法,即词频-逆文档频率(Term Frequency - Inverse Document Frequency, TF-IDF)[5-6]。

生成VSM:经过词频统计得到词的权重后,每个学生程序可以得到一个对应的向量空间模型(Vector Space Model, VSM)[7-8]。如学生程序S1={0.18, 0.24, ..., 0.07, 0.11},参考答案A={0.14, 0.18, ..., 0.06, 0.15}。

相似度计算:利用余弦值来计算两个向量的相似性,即如果它们的夹角越接近0度,表明这两个向量越相似。假定Si和A都是n维向量,Si=[S1i, S2i, ..., Sni],A=[A1, A2, ..., An],则Si与A的夹角θ的余弦等于: cosθ=Si·A/|Si|×|A|。

四、在线考试流程

下面给出整体考试流程。学生登录成功后,可以开始进行考试。对于已经提交的试卷,系统会首先进行自动评分,然后等待指令,以判断是否需要进行人工评分,如果不需要,则直接给出最终成绩。否则,待人工评分结束后,再进行成绩发布。

五、结束语

提出了一种针对《数据结构》课程的智能化考试系统的构建框架。该框架能够完成从自动组卷到自动评分等一系列的智能化过程。在大规模考试场景中,该方法可以有效解决人力不足、给分主观等问题。

【参考文献】

[1] 李治军, 廖明宏, 张岩. 数据结构与算法课程设计教学模式的探讨[J]. 计算机教育, 2006, (2):54-56.

[2] 张铭, 许卓群, 杨冬青, 唐世渭. 数据结构课程的知识体系和教学实践[J]. 计算机教育, 2004, 2/3: 89-91.

[3] 李晓鸿, 骆嘉伟, 季洁. “数据结构与算法分析”研究型实践教学的探索[J]. 实验室研究与探索, 2012, 31(1):121-125.

[4] 李琦. C语言程序设计题自动评分算法的研究[J]. 电脑知识与技术, 2011, 07(7): 1585-1588.

[5] 贺科达, 朱铮涛, 程昱. 基于改进TF-IDF算法的文本分类方法研究[J]. 广东工业大学学报, 2016, 33(5):49-53.

[6] 周源, 刘怀兰, 杜朋朋,等. 基于改进TF-IDF特征提取的文本分类模型研究[J]. 情报科学, 2017, V35(5):111-118.

[7] 郭庆琳, 李艳梅, 唐琦. 基于VSM的文本相似度计算的研究[J]. 计算机应用研究, 2008, 25(11):3256-3258.

[8] 陈飞宏. 基于向量空间模型的中文文本相似度算法研究[D]. 电子科技大学, 2011.

猜你喜欢
数据结构
欧洲专利局OPS服务专利法律状态数据结构分析
重典型应用,明结构关系
为什么会有“数据结构”?
MOOC平台下数据结构的教学研究
数据结构课程教学网站的设计与实现
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
CDIO模式在民办院校数据结构课程实践教学中的应用
TRIZ理论在“数据结构”多媒体教学中的应用
《数据结构》教学方法创新探讨
高效学习数据结构