试题库与试卷测评系统的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

试题库及试卷测评系统的设计与实现

贾海英

(九江学院信息科学与技术学院,江西九江 332005)

【摘要】:试题库和试卷测评是考试系统的核心内容,在深入研究考试系统的基础上,在分析了文科、理科以及工科课程考核、试题库建设现状的基础上设计出了通用题库应该具备的基本约束条件,给出了分阶段迭代组卷策略。介绍了试卷的三个主要测评指标,给出相应系统的实现方法。

【关键词】:试题库;难度级别;测评指标;自动组卷

1引言

试题库是为了规范教学效果检测方法,通过信息技术手段实现某个学科题目的组合。它是一种严格的教学检测方法,是辅助教学的教育质量评定工具。它应该具备大量的优质试题,具有良好的考核能力,试题的各项参数完整,能够为考试服务,具备精确的查询查找功能,方便编辑修改。构建试题库是网络考试系统建设的重要组成部分。

如何从大量的试题库中抽取出满足不同用户的教学要求的试卷供不同层次的用户使用是试题库建设的关键性技术,抽取试题的方式多种多样,抽出的试题组成试卷的质量好或坏,能真实地反映出教师的教学水平以及学生对知识技能的掌握程度。抽题成卷后,要根据试卷的测评成绩,应用教育学中对试卷测评的各项质量指标全面评价试卷。本文就结合开发网络考试系统的一点实践经验和教育学中的4个主要测评指标作了一些研究和探讨。

2自动组卷算法设计与实现

试题库经过前期的建设最终目的是要生成相应的试卷,这些试卷满足一定的知识点分布,能够达到相应的测试要求。自动组卷首先应该设置相应的参数,然后系统根据这些参数自动生成试卷的过程。另外,对于从试题库中抽取的试题的输出方法,输出的格式也是本模块在设计时需要考虑的问题。

2.1 组卷系统的数据结构

2.1.1试卷的难度级别

一套试卷是否合理,能否考察到学生的应用能力,主要通过试题的难易程度来体现,合理的设置试题的难度级别是优化试卷的核心。这里所说的难度级别只是用以表示试题难易程度的标识符,以《C程序设计》为例,分为容易题(1),较容易的题(2),中等难度的题(3),较难的题(4),难题(5)共5类级别。

2.1.2试题的题型及特征符号

按教学内容、测试形式、测试目的等不同要求,将试题分成不同类型。如《C程序设计》试题库,就将试题分为选择题、填空题、程序阅读填空题、判断题、程序设计题,系统为了使系统通用性,把这些题型又分为四大类选择类、填空类、判断类和简答类,分别用XZ、TK、PD、JD表示。

在试题库组卷系统中把试题的题型和难度系所进行统一编号用“|”分隔,以便系统组卷时能正确识别每道试题。如较难的选择题标识符为“XZ|4”,较容易的填空题标识符为“TK|2”。

2.2 自动组卷的设计

自动组卷首先应该设置相应的参数,然后系统根据这些参数自动生成试卷的过程。另外,对于从试题库中抽取的试题的输出方法,输出的格式也是本模块在设计时需要考虑的问题。

组卷参数设置,组卷参数包括试卷的题型、题目个数、知识点分布等参数信息,在设置完试卷参数信息后系统自动根据参数信息随机抽取试题。试题的抽取必须保证是随机的而且

不能出现同一套试卷中题目的重复抽取。因此,这部分的时序对象包括课程负责人、试题库、试卷参数库、抽取的试卷信息。具体的时序图如图1所示。

图1 自动组卷时序图

自动组卷功能在系统设计中仅提供给课程负责人,课程负责人登录系统后,选择自动组卷模块,首先设置试卷的参数信息包括题型信息、知识点分布信息、难度系数信息。然后,系统按照课程负责人所设的参数自动生成试卷,在生成试卷过程中会检查试卷的参数设置是否合理,如果不合理就停止试卷的生成。最后,把生成的试卷导出Word文档,包括试卷、参考答案以及答题纸。具体的活动图如图2所示。

图2 自动组卷活动图

2.3 自动组卷的实现

为了提高自动组卷的成功率和试卷的质量,系统采用分阶段迭代组卷策略实现系统自动组卷。

第一阶段为组卷参数设置阶段,主要由用户输入的试卷试题的分布情况难度系数等试卷参数信息,如图3所示。

图3 试卷试题分布情况设置窗口

第二阶段为粗略知识点匹配阶段,主要是根据设置的试题分布情况粗略生成试卷。算法的实现如下:

输入:组卷方案分布矩阵P ,试题建设情况矩阵S 输出:抽取试题矩阵Q

第1步:检查方案矩阵P 和矩阵S 。两个矩阵的分别为公式2.1和公式2.2,在公式2.1中n m p ,表示第m 个知识点第n 中题型所需抽取的试题个数矩阵,这个矩阵是一个一行三列的矩阵。

⎥⎥⎥⎥⎥

⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=n m m m m m n n n p p p p p p p p p p p p p p p p p p p p P ,3

,2,1,0,,23,22,21,20,2,13,12,11,10,1,03,0,2,01,00,0,,,,,,,,,,,,,,, (2.1)

公式2.2是试题建设情况矩阵,n m s ,表示第m 个知识点第n 种题型中具有的题库总量。这里要求n m p ,必须是小于等于n m s ,的一个子集。在程序设计中将通过一个循环监察方案矩阵是否成立。程序的伪代码如下:

⎥⎥⎥⎥⎥

⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=n m m m m m n n n s s s s s s s s s s s s s s s s s s s s S ,3

,2,1,0,,23,22,21,20,2,13,12,11,10,1,03,0,2,01,00,0,,,,,,,,,,,,,,, (2.2)

function IsLegalScheme():bool

var m,n:integer ;//m 为知识点个数,n 为题型个数

p[0..n,0..m],s[0..n,0..m]:integer;//p 组卷方案,s 为题库建设情况 begin

for var i:integer=0 to n begin

for var j:integer=0 to m begin

if p[i][j]>s[i][j] then

return flase;//返回假表示组卷方案不成立 endif end end

return true;//返回正表示组卷方案成立 end

函数的执行结果如果为真则说明这个组卷方案可行,开始按照方案抽取试题,如果此方案为假则说明组卷方案不可行,则返回第一阶段,重新进行试卷组卷方案设置。

第2步:按照知识点覆盖要求初步组成试卷。在组卷过程中按照公式2.3从n m s ,中随机的抽取n m p ,个试题存放到Q 矩阵中。

n m n m p

s j i C q ,,,= (2.3)

期中j i q ,表示i 大题中的第j 小题所抽取的试题题号。接下来判断j i q ,是否在已经抽取的试题中存在(Q q j i ∈,)。如果存在则重新抽取试题,否则按照公式2.4方式组合形成试卷。

⎥⎥⎥⎥⎥⎥⎥⎦

⎢⎢⎢⎢⎢⎢⎢⎣⎡=j i i i i i j j j q q q q q q q q q q q q q q q q q q q q Q ,4,3,2,1,,34,33,32,31,3,24

,23,22,21,2,14,13,12,11,1,,,,,,,,,,,,,,,,,,,, (2.4)

第3步:计算所抽取试题Q 的平均难度系数。难度系数在计算时首先先计算每一大题的

难度系数,然后再对所有大题的难度系数求其平均值得到试卷的难度系数。具体算法如公式2.5和2.6所示。期中i d 表示第i 道大题的难度系数。

∑==

n

j j

i i q

n

d 0

,1 (2.5)

D 表示所抽取试卷的难度系数,i d 表示第i 道大题的难度系数。

相关文档
最新文档