C语言试题库系统的开发与实现 下载本文

龙源期刊网 http://www.qikan.com.cn

C语言试题库系统的开发与实现

作者:徐伟华

来源:《中国教育技术装备》2011年第18期

我国现阶段高校C语言课程考试一般是在任课教师结束一学期的教学之后自行命题和组织阅卷,教师命题时要花费大量的时间去搜集考试题目,要做大量的重复工作,而以往很多高质量的考题没有保存下来。同时,考试结束往往会导致每年高校进行考试的试题质量、难度、区分度、可信度、阅卷的复杂度等有所差异,缺乏一个按照教学要求建立的统一的标准C语言试题库系统。基于此,本文提供一个专门的C语言试题库系统。本系统提供C语言试题库的建立、试卷生成、试题库管理和评卷系统的完整解决方案。利用本系统可以通过一些简单的操作和设置,在短时间内生成一套带评卷系统的考试试卷。该系统在很大程度上减轻任课教师的工作量,建立一种灵活性好,可修改、可扩展的试题库机制。 1 题库系统的国内外研究现状

20世纪40年代中后期,由于战后经济的不断发展,职业的需求对于专业人员的知识技术技能提出更高的要求。这样使得考试获得前所未有的发展。随着考试次数的增多,命题工作量的增大,对考试的要求日益严格。这迫使人们寻找更先进的测验技术,以保证能够客观、准确、及时地选拔出合适的人才,考试的命题方式亟待革新,题库正是顺应这一时代潮流需要的产物。

在国内教育测量理论水平的提高和统计软件的发展的基础上,我国在题库建设进行多次尝试,到目前为止,投入使用且取得显著成果的是全国英语等级考试(PETS)。该题库建立于1999年,用于存储和管理PETS五个级别的试题和生成各级别逐次考试的试卷,有效地保证了PETS考试实施的机动性、命题的灵活性与科学性、考试标准的稳定性,并为相关考试研究(如CBT、IBT等)奠定基础。 2 试题库系统编程环境的选择

试题库系统就是数据库管理系统。现在有很多数据库开发系统,但是由于本系统规模不大,用Visual Basic6.0比较合适。

该C语言试题库系统以VB语言为基础,以Access数据库技术为核心来建立软件系统。Visual Basic是微软公司出品的基于Windows应用程序的开发工具,它以简单易学而受广大程序员的喜爱。Visual Basic由Basic发展而来,至今仍保留Basic中的上百条语句、函数等。但是与早期Basic不同的是,Visual Basic是可视化的集成开发环境,它以对象为基础,运用事件驱动机制实现对Windows操作系统事件的响应。Visual Basic提供大量的控件,用于设计用户的界面,编程人员可以通过拖放操作来完成界面的设计工作,这样做不仅减轻工作量,简化界面设计过程,而且有效地提高开发效率及可靠性。

龙源期刊网 http://www.qikan.com.cn

3 系统的总体设计

系统按照结构化分析的方法,采用自顶向下、逐步求精的原则,确定系统数据流程图。在设计阶段与结构设计方法相结合,运用“模块化设计”构想,把系统分为若干个功能子系统,再根据需要把每个功能子系统进一步划分。 3.1 系统模块总体结构

如图1所示,该系统的总体结构由试题库管理、试题管理、试卷管理、系统维护四大模块组成。

3.2 二级模块结构

1)试题库管理模块。如图2所示,该模块由填空题库、选择题库、编程填空题库、编程改错题库、编程阅读题库、编程题库6个模块组成。利用该模块可以对不同类型的试题模块进行浏览和删除,对不同题型的分数设置、题型难度进行设置。

2)试题管理模块。如图3所示,该模块主要是对试题进行浏览、查询、添加、修改和删除操作。利用该模块教师可以轻松实现对试题库中试题的修改和录入,也可以方便地将过时的试题删除。

3)试卷管理模块。如图4所示,该模块由试卷生成、标准答案生成、浏览试卷和打印试卷4个模块组成。其中试卷生成又分成人工生成和自动生成两部分。自动生成试卷模块是该模块实现根据用户对所要求试卷的难易程序不同(分为简单、适中和较难3种),随机地产生一张考试范围确定、知识点规定在某个范围、题目随机、符合用户要求的标准试卷。组卷算法利用流逝的时间秒、微妙产生随机种子值,再由均匀分布的随机函数产生一个章号、节号,用正态分布的随机函数从此章节中的这类题目中抽取题号,并且可以实现试卷的浏览和打印等操作。人工生成试卷模块是通过该模块,用户可以根据自己的需要生成难易程度不同和不同类型题目个数且试卷格式不同的试卷,同时实现试卷的浏览和打印等操作。其中不同类型题目个数范围为1~50。试卷格式常见的有两种,用户可以根据情况决定是否产生程序改错题。 4)系统维护。如图5所示,该模块由用户设置模块、管理员设置模块、退出系统模块组成。通过用户设置模块可以实现一般用户修改登录该系统的口令,以便更好地实现该系统的安全性,防止非法用户的进入和破坏;高一级用户或者系统管理员可以通过管理员设置模块添加一些合法用户、删除用户,以及当一般用户忘记密码时,由管理员进行密码的查询;进入该系统的用户可以通过退出模块正常地退出该系统。 4 系统需解决的关键问题

如何有效地对不同类型的试题进行管理以及利用已有试题随机地产生满足用户不同需求的试卷,这是在开发该系统的过程中的重点问题,其中随机地生成试卷又是重点中的难点部分。

龙源期刊网 http://www.qikan.com.cn

本系统通过试卷的难易程度、试题的难度系数、一张试卷中不同类型的题目个数以及试卷的格式等参数来实现试卷产生的随机性。对于一张试卷的难易程度以及合理性,主要是通过学生的应考成绩或者其他参数来评价,通过相应的参数可以把试卷的难度分为:简单,即试卷比较简单或者没有什么难度;适中,即难易程度比较合理;较难,即有一定的难度。根据这三点,该系统可以生成以上3种不同难易程度的试卷。

在具体实现的过程中,系统要求每套试题有一个大概的难度系统参数,在试卷生成过程中,系统能合理有效地对试题库中的试题进行筛选。下面是该系统对于试题的难度系统规定。 1)难度系数的范围:1~8。 2)试题的难度系数分为4等级。

A.1~2:此难度范围的试题均是对C语言基本知识的考查,没有任何难度,属于基本得分题目。

B. 3~4:此难度范围的试题均是对C语言基本知识的考查,需要稍加考虑,比较容易得分。

C. 5~6:此难度范围的试题有一定的难度和综合性。

D. 7~8:此难度范围的试题的难度和综合性都很强,需要对C语言知识有较深的认识和理解。

对于C语言知识的考查,一般可以通过程序基本知识、C语言编程基础知识、阅读和理解程序以及编制程序等方面来进行。试题的类型大致可以分为选择题、填空题、编程填空题、编程改错题、编程阅读题和编程题6种。一张试卷中不同类型题目的个数可以根据情况加以选择,同时编程改错题这一类型的题目可以根据情况进行取舍。也就是说试卷的格式可以分为包含编程改错题和不包括编程改错题两种。 5 结束语

本系统的设计思想和设计方法行之有效,尤其是自动组卷可达到难度控制,使难易适中。可以方便有效地管理大量的C语言试题,将任课教师从繁琐的出试卷的工作中解脱出来,很大程度上提高工作的效率。当然本系统还要根据实际的需要不断地对版本进行更新和升级,以便使它更好地为教学服务。

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文