EXCEL操作题题库建设和自动阅卷的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EXCEL操作题题库建设和自动阅卷的实现
摘要:本篇文章为EXCEL操作题的题库建设和自动阅卷提供了一种思路:利用XML文档是纯文本篇文章档,语法简单,传输方便、准确、安全,不但能够存储数据,而且能够表示数据之间复杂的逻辑关系这个系列特点,为每一道试题配置一个XML评分规则文件,通过设计一个评分规则文件解释系统,生成和解释评分规则文件,从而真正实现试题和阅卷代码的分离,而且老师还能通过可视化的界面来编制试题,实行题库建设。
关键词:EXCEL操作题XML 题库建设自动阅卷
EXCEL操作题是高中信息技术课程必修内容的重要组成部分,对它的练习和巩固无论对于老师还是对于学生,都是一项巨大的工程,以往的方法主要集中于二点:其一是纯手工操作,老师发下试题,学生练习完成后上交,老师再批阅学生试题,给出分数;其二是利用现有的练习软件,系统给出试题,学生完成后交卷,系统实行自动阅卷并给出阅卷结果。
上述二种方法都有其无法克服的缺点,前者是费时费力,老师需要手工批阅每个学生的作业,对于信息技术老师来说,一次作业可能就是几百份,工作量相当巨大,而且学生无法实时地知道自己的完成结果,对于一星期二课时的安排,学生可能无法想起自己上一节课的所完成的作业的情况,不利于知识点的掌握和巩固。
后者因为采用了现有的软件,这些软件多为某一次考试而编制,采用固定的试题,固定的阅卷代码,老师无法实行试题的编制,也就无法实行知识点的安排和拓展,因而软件的适用率有限,无法真正地为教学服务。
基于上述的考虑,本篇文章为EXCEL操作题的题库建设和自动阅卷提出了一种新的思路:利用XML文档是纯文本篇文章档,语法简单,传输方便、准确、安全,不但能够存储数据,而且能够表示数据之间复杂的逻辑关系这个系列特点,通过为每一道试题配置一个XML评分规则文件,利用评分规则文件解释系统来生成和解释评分规则文件,从而真正实现试题和阅卷代码的分离,而且老师还能通过可视化的界面来编制试题,实行题库建设。
详细模型如图1所示。
图3.2基于XML的评分模型
图1基于XML的EXCEL操作题题库建设和自动阅卷模型下面将根据高中信息技术会考的一道真题来详细说明本模型的实现过程。
本题涵盖了高
中信息技术课中EXCEL操作题的绝大部分知识点,如,计算、排序、筛选、图表等,比较有代表性。
详细题目要求如下:
1.在工作表Sheet1中,用公式求出去年总量(去年总量=总量/(1+增幅),结果保留4位小数),填入相对应的单元格中。
2.在工作表Sheet1中,以“增幅”为主要关键字按降序,对表格数据实行排序。
3.在工作表Sheet3中筛选出“总量(万元)”大于或等于87654321的记录(保留筛选结果)。
4.以工作表Sheet1中的B12:C19为数据区域,创建一张反映2004年主要经济指标的柱形图。
(1)用第一种柱形图,系列产生在列;
(2)图表标题为"2004年主要经济指标情况表";
(3)图表放在工作表Sheet2中B2:H25区域内。
本系统将为试题生成一个XML评分规则文件,并且通过解释该评分规则文件来实现学生试题的自动阅卷。
一、老师通过可视化界面实行试题的编制,输入题目要求,导入试题文件,标准答案文件,设置评分点,系统自动为该试题生成一个XML评分规则文件,也就是写XML文档的过程。
如图2所示。
图2 试题编制界面
其中设置的评分点的数据表记录了该评分点所涉及的工作表、单元格或范围、知识点的描述、涉及到的EXCEL对象属性、该知识点所在的ID和分值。
如图3所示。
图3 评分点数据表
生成的XML评分规则文件如下:
<?xml version="1.0" encoding="GB2312" ?>
-<操作题题型="EXCEL"文件名="D:\ky\自动评测系统\试卷一.xls">
<题目>1.在工作表Sheet1中,用公式求出去年总量(去年总量=总量/(1+增幅),结果保留4位小数),填入相对应的单元格中。
2.在工作表Sheet1中,以“增幅”为主要关键字按降序,对表格数据实行排序。
3.在工作表Sheet3中筛选出“总量(万元)”大于或等于87654321的记录(保留筛选结果)。
4.以工作表Sheet1中的B12:C19为数据区域,创建一张反映2004年主要经济指标的柱形图。
(1)用第一种柱形图,系列产生在列;
(2)图表标题为"2004年主要经济指标情况表";(3)图表放在工作表Sheet2中B2:H25区域内。
</题目>
-<评分点表="1"范围="E13:E21"知识点="计算"属性="Formule"值
="=C13/(1+D13),=C14/(1+D14),=C15/(1+D15),=C16/(1+D16),=C17/(1+D17),=C18/(1+D1
8),=C19/(1+D19),=C20/(1+D20),=C21/(1+D21),"分="20">
<前提属性="Value"值
="79568294.4090587,31617739.6280401,4140946.16639478,124027317.880795,4945923
4.608985,154448186.528497,31558441.5584416,0.567544921329485,1.35437616387337,
" />
</评分点>
<评分点表="1"范围="D12"知识点="排序"属性="Sort"值="增
幅,0.413,0.398,0.226,0.208,0.202,0.158,0.155,0.0741,0.074,"分="15" />
-<评分点表="3"范围="2"知识点="自动筛选"属性="AutoFilter.Criteria1"值=">=87654321"分="15">
-<前提属性="AutoFilter.Filters"值="True">
<前提属性="AutoFilterMode"值="True" />
</前提>
</评分点>
<评分点表="1"范围="E13:E21"知识点="小数位数"属性="NumberFormatLocal"值="0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,"分="10" />
<评分点表="2"范围="1"知识点="图表数据源"属性="SourceData"值="总量(万元),"
分="10" />
<评分点表="2"范围="1"知识点="图表标题"属性="ChartTitle.Text"值="2004年主要经济指标情况表"分="10" />
<评分点表="2"范围="1"知识点="图表产生系列"属性="PlotBy"值="2"分="10" /> <评分点表="2"范围="1"知识点="图表类型"属性="ChartType"值="51"分="10" /> </操作题>
评分规则文件生成过程分析:
1、根元素“操作题”。
包括二个属性:“题型”,值来源于试题编制窗体中对题型的选择;“文件名”,值来源于试题编制窗体中对原始文件的选择。
2、子元素“题目”。
内容来源于试题编制窗体中对题目要求的输入。
3、子元素“评分点”。
共有8个,根据评分点列表生成。
记录的工作表字段形成评分点的“表”属性,单元格字段形成评分点的“范围”属性,知识点字段形成评分点的“知识点”属性,属性字段形成评分点的“属性”属性,分值字段形成评分点的“分”属性。
每个评分点因为属性的不同,从标准答案文件中探测到的属性值会不一样,“前提”子元素的设置也会不同,下面针对每一条记录对每个评分点的“值”属性和“前提”子元素实行分析:1)第1个评分点“计算”对应第8条记录。
该单元格字段为一个范围E13:E21,属性字段为Formule,通过对属性表的检索,发现该属性有前提属性为Value,程序先对范围内
的每一个单元格实行Value属性的探测形成该评分点的子元素“前提”的“值”属性,为简化表示,把所有探测到的属性值实行了合并,形成了一个字符串
“79568294.4090587,31617739.6280401,4140946.16639478,124027317.880795,49459234.60898 5,154448186.528497,31558441.5584416,0.567544921329485,1.35437616387337,”,再对Formule 属性的探测形成该评分点的“值”属性,同样是一个字符串
“=C13/(1+D13),=C14/(1+D14),=C15/(1+D15),=C16/(1+D16),=C17/(1+D17),=C18/(1+D18),=C1 9/(1+D19),=C20/(1+D20),=C21/(1+D21),”。
2)第2个评分点“排序”对应第7个记录。
单元格字段为一个单元格D12,属性字段为Sort,该属性没有前提属性,所以不产生“前提”子元素,对排序属性的探测是D12下所有非空单元格的值,实行合并后返回一个字符串“增
幅,0.413,0.398,0.226,0.208,0.202,0.158,0.155,0.0741,0.074,”,形成评分点的“值”属性。
3)第3个评分点“自动筛选”对应第6个记录。
单元格字段为一个列标号2,属性字段为AutoFilter.Criteria1,通过对属性表的检索,发现该属性有前提属性为AutoFilter.Filters,程序对该列的AutoFilter.Filters属性实行探测形成“前提”子元素的“值”属性“True”,再次检索属性表,发现AutoFilter.Filters还有前提属性AutoFilterMode,则再对AutoFilterMode 实行探测,再形成一层“前提”子元素“值”属性“True”。
最后探测该列的AutoFilter.Criteria1属性值形成评分点的“值”属性“>=87654321”。
4)第4个评分点“小数位数”对应第1个记录。
该单元格字段为一个范围E13:E21,属性字段为NumberFormatLocal,程序对范围内的每一个单元格实行NumberFormatLocal属性的探测形成该评分点的“值”属性,同样为简化表示,把所有探测到的属性值实行了合并,形成了一个字符串“0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,”。
5)第5个评分点“图表数据源”对应第3个记录。
该单元格字段为一个图表索引值1,属性字段为SourceData,该属性没有前提属性,所以不产生“前提”子元素,对Excel图表数据源的探索就是探索图表的数据有多少个系列,程序把所有探测到的系列名称实行合并,作为一个字符串返回,形成评分点的“值”属性“总量(万元),”。
6)第6个评分点“图表标题”对应第5个记录。
该单元格字段为一个图表索引值1,属性字段为ChartTitle.Text,该属性没有前提属性,所以不产生“前提”子元素,程序对该索引值对应的图表的ChartTitle.Text属性值实行探测,形成评分点的“值”属性“2004年主要经济指标情况表”。
7)第7个评分点“图表产生系列”对应第4个记录。
该单元格字段为一个图表索引值1,属性字段为PlotBy,该属性没有前提属性,所以不产生“前提”子元素,程序对该索
引值对应的图表的PlotBy属性值实行探测,形成评分点的“值”属性“2”。
8)第8个评分点“图表类型”对应第2个记录。
该单元格字段为一个图表索引值1,属性字段为ChartType,该属性没有前提属性,所以不产生“前提”子元素,程序对该索引值对应的图表的ChartType属性值实行探测,形成评分点的“值”属性“51”。
二、系统为试题生成XML评分规则文件后,将其与试题文件一起打包后存入试题库,以便以后查询和实行练习时调用。
三、老师选择试题后,传送到学生客户端,释放出二个文件,一是学生做题用的试题文件,另一个就是XML评分规则文件,学生通过系统界面答题,题目要求来源于评分规则文件中题目子元素的内容。
如图4所示。
图4 学生考试过程
四、学生完成试题后交卷,系统实行自动阅卷,其过程就是对XML评分规则文件的解释过程,是生成评分规则文件的逆过程,也就是读XML文档的过程。
系统通过读每一个评分点元素,提取学生试题文件中相对应的属性值,和标准值实行匹配,如匹配则判定准确给分,不匹配则判定错误不给分。
如果有前提子元素,则先实行前提子元素的判定,只有当符合前提条件时才实行评分点元素的判定,否则直接判定错误,不再实行评分点元素的判定。
如对“自动筛选”评分点的判定,先对学生试题文件中的sheet3实行AutoFilterMode属性的探测,如不为“True”,则不再继续该评分点的判定,直接判定错误,如为“True”,则再对第2列实行AutoFilter.Filters的探测,如不为“True”,则不再继续该评分点的判定,直接判定错误,如为“True”,则最后对第2列的AutoFilter.Criteria1实行探测,如为“>=87654321”,则判定该评分点准确,给分,否则判定错误,不给分。
五、系统完成自动阅卷后实行成绩的反馈,包括向学生的反馈,如图5所示,也包括向
老师的反馈,也就是向服务器回传阅卷结果,以便于服务器实行数据的统计,为老师的下一步教学提供参考。
图5 自动评测后的成绩反馈
同已有的EXCEL阅卷系统相比较,本系统具有以下几个特点:
1、采用XML文档来记录试题信息,数据量小,传输安全,方便。
2、利用XML文档不但能够表示数据结构,而且能够很好地表示数据的逻辑关系这个特点,清晰地表示了阅卷信息之间复杂的关系。
3、利用XML文档来记录信息,使客户端不用绑定数据库,实现了瘦客户端的目的,而且使安装升级更为方便。
4、实现了阅卷代码和试题的分离,突破了传统阅卷模型为每一道试题配备一段阅卷代码的限制,提升了代码的复用率。
5、系统以可视化的方式实行试题的编制和题库的建设,用户能够根据需要增加试题,管理题库,提升了系统的扩展性。