基于.NET的自适应考试系统组件开发

来源 :考试周刊 | 被引量 : 0次 | 上传用户:QQ343282482
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: 本文主要说明了在.NET架构下的自定义组件开发技术应用于IRT自适应考试系统的方法,以能力估值自定义组件开发过程的介绍,阐述了.NET自定义组件开发的基本过程和方法,最后对能力估值组件应用推广进行展望。
  关键词: IRT 组件 在线考试
  
  1.引言
  计算机在线考试系统作为一种对知识水平和操作能力的测评手段,已经广泛应用于教育科研及社会生活中。相比于传统纸质测试,在线考试系统不仅有成本低、有效性高的优点,而且更重要的是,在线考试系统除了可以对被测者的知识水平进行测试,还可以对被测者的操作能力进行测评。目前的在线考试系统中采用的测试理论依据以经典测验理论居多,经典测验理论具有数学模型简单,易于理解和使用等优点,但是它的不足之处在于其测验难度确定依赖于整体被测样本水平,对评价被测个体的水平和能力的指导作用不强。为了克服经典测验理论的不足,我们引入心理学测试中的项目反应理论(IRT)作为在线考试系统新的理论依据。IRT理论的最大优点是,在IRT中被试能力与测验的难度放在同一量规上进行估计,无论测验的难易,被试能力估计值不变,不同的测验结果可直接比较,这样被测个体能力值与被测样本能力值无关,只与测试项目相关,能更准确地显示被测个体的能力水平。IRT理论推广的最大瓶颈就是它的数学模型复杂,计算量大,不易理解。
  本文采用C#语言,开发设计了基于.NET构架的IRT信息技术自适应在线考试系统。本系统以信息技术课程为测试题库来源,以项目反应理论(IRT)为测验理论依据,通过B/S结构的WEB模式对被试的信息技术知识水平和操作能力进行在线测试。为了克服IRT理论的计算量大,易产生网络数据拥塞的问题,我们利用C#语言提供的面向对象的自定义组件开发技术,此技术有利于提高数据运算的分布性,充分发挥服务器均衡负载能力。本文主要介绍.NET架构下的组件开发技术、本系统组件的开发过程及本系统的应用前景。
  2. IRT考试理论
  IRT的“核心”是建立一类统计模型,即具有某种特质的不同能力水平的考生在一个项目上如何反应的数学模型。目前比较常用的是Logistic回归模型,这个模型分为单参、双参和三参,随着参数的增多,其准确度增大,同时运算量和复杂难也增加。下面是Logistic三参模型的数学公式:P(x)=c+(1-c)÷(1+e )。
   
  图1三参模型的特征曲线
  其中,D=1.702代表测度因子,a表示项目的区分度,b表示项目的难度,c表示项目的猜测度。P(X)表示能力为X的被试答对本项目的概率,一般规定X∈(-3,+3)。IRT理论假设各个项目作答概率是相互独立,项目采用0,1记分。
  基于u=(u ,u ,u ,…,u )的似然函数:
  L(θ;a ,b ,c ,…,a ,b ,c | u ,…,u )= p Q 。此公式表示能力为θ的测试者得分向量u与能力θ之间的关系。以上公式可以简记为L(θ;u),表示能力为θ的得分向量u的可能性。当u已知时,若θ在一个集合⊙中变化,则θ∈⊙使得L(θ′;u)=max L(θ;u)。满足上式的θ′称为θ的似然估计,这种将似然估计取极大值的自变量取值方法,叫极大似然估计法。本系统中的能力估计即采用此法。
  在本系统中的试题选择依据是从题库中挑选能提供最大信息量的题目。项目信息量最大时,难度和特质水平的关系为:
  bi=θ′ -1*ln(1/2+1/2* )/1.702ai。 此公式说明当被测水平达到θ′的话,下一步最适合的项目难度值为b 。以此我们就可以从题库中选中此难度值的被选题目,然后再根据每个题目的曝光度值和其他参数进行最优化的选择。系统在能力估值达到一定精度后,就可以停止估计运算,得出当前被测的能力值。
  3. 自定义组件开发方法
  3.1自定义组件开发的一般方法
  所谓组件是软件应用的构造块,组件封装了状态和执行逻辑,并能在不同的应用程序中被复用。组件使得应用程序模块化,更有利于应用程序的开发和维护。自定义组件的开发过程就是完成定义组件公共结构的过程,组件公共结构有以下几个部分:属性(Property)、方法(Method)、事件(Event)及元数据(Attribute)。当完成组件开发后,还要经过编译和部属后才可以使用。
  属性(Property)封装了组件的状态,属性像域一样通过类似域的语法得到访问,而在实现时则使用访问操作方法。
  方法(Method)即一组操作来实现具体的功能要求。
  事件(Event)是当有动作发生或状态改变时,类发出的信息或通知。产生事件类叫事件源,接收事件的类叫事件接收者。基于事件的架构使用发布—订阅的模式。事件的源(事件的发布者)允许用户(订阅者)指定事件发生时要执行的逻辑。
  元数据(Attribute)是一种二进制信息,用以对存储在公共语言运行库可移植执行文件 (PE) 文件或存储在内存中的程序进行描述。将代码编译为 PE 文件时,便会将元数据插入到该文件的一部分中,而将代码转换为 Microsoft 中间语言 (MSIL) 并将其插入到该文件的另一部分中。在模块或程序集中定义和引用的每个类型和成员都将在元数据中进行说明。
  本文以IRT自适应考试系统中的能力估值组件为例说明组件的开发过程,编译与部属组件的方法请读者参考相关资料。
  4. 信息技术自适应在线考试系统组件开发
  4.1系统结构图
  本系统采用B/S结构的Web模式,被测个体可以通过任何浏览器软件访问我们的测试网站,在线进行测试。用户的所有操作只能通过浏览器界面与后台服务器进行交互。系统中的能力估值功能模块的开发,我们采用了自定义组件开发技术,将能力估值模块设计成组件模块。通过组件技术来优化系统结构,提高能力值的估计速度。系统结构见下图。
   
  图2系统结构图
  4.2 IRT自适应考试组件的开发
  4.2.1 IRT自适应考试服务组件开发算法简介
  根据IRT理论和极大似然估计法, IRT自适应考试服务组件设计时,分为三个部分。第一个部分是获取能力初值,能力初值通过为组件设定的相关属性取得或设置;第二个部分是能力值估计和参数估计,这个部分为组件的若干个方法,以牛顿迭代法为主要计算方法;第三部分是能力值反馈,提供HTML格式和字符串格式两种输出,方便使用者选择。
  4.2.2 IRT自适应考试组件设计程序部分源代码及说明
  程序Irtexamability.cs 实现了IRT自适应考试组件的能力初值。
  文件名:Irtexamability.cs
   源程序:
  using System;
  ......;
  using System.Web.UI;
  namespace IRTEXAM.ServerControls{
  public class Irtexamability: Control{
  private float _initialability;
  public float initalability {
  get {return _initalability;}
  set { initalability = initalability; }
  }
   //以上代码实现了能力初值属性的读取与设置
  Protected override void Render(HtmlTextWriter writer){
   Float ability=nihe.Getability(initalability);
   writer. writer (“当前测试能力初值:”);
   writer.Writer(initalability)
   writer.Writer(“<br>”);
   write.Writer(“最后能力估计值:”);
  write.Writer(“ability”); }
  //以上代码实现了能力值的HTML格式输出。
  }}
  程序nihe.cs实现了对被试者的能力似合运算
  Using System;
  ......
  Using System.collections;
  namespace IRTEXAM.ServerControls
  {
  Internal sealed class nihe
  {public float ability;
   public static float Getability(initalability)
  { string itemid = Session[“itemid”].ToString().Split(‘$’);
   string studda = Session[“cstj”].ToString().Split(‘@’);
   string csda = Session[“csda”].ToString().Split(‘¥’);
   //以上代码将Session中的值通过split函数,赋于相关数组中。
  .......
  //估值运算时为了保存中间值而定义的变量。
  .......
  for (int nhcs = 0; nhcs < 8; nhcs++)
  { double f1 = 0;
  double f2 = 0;
  for (int i = 0; i < itemid.Length; i++)
  { irta = double.Parse(Session[“IRTa(“ + i + ”)”].ToString());
  irtb = double.Parse(Session[“IRTb(“ + i + ”)”].ToString());
  irtc = double.Parse(Session[“IRTc(“ + i + ”)”].ToString());
  double U = double.Parse(Session[“u(“ + i + ”)”].ToString());
  double p = irtc + ((1 - irtc) / (1 + Math.Exp(-1.702 * irta * (diff - irtb))));
  double pd = (1.7 * irta * (1 - p) * (p - irtc)) / (1 - irtc);
  f1 = f1 + 1.702 * irta * (U - p) * (p - irtc) / (p * (1 - irtc));
  f2 = f2 + 1.702 * 1.702 * irta * irta * (U * irtc - p * p) * (p - irtc) * (1 - p) / (p * p * (1 - irtc) * (1 - irtc)); }
  //利用牛顿迭代法,进行能力似合运算。
  if ((f1 > -0.0000000001) && (f1 < 0.0000000001))
  {ability=diff;
   return ability;
  }
  //当两次迭代值差值小于限定值后,可以视为能力估值结束,返回当前能力值。
  diff = diff - (f1 / f2);}
  return ability;
  //迭代8次后,将得出的能力估值返回。
  } }}
  nihe.cs为能力估值似合算法的实现程序代码,在本部分源程序中,利用了牛顿迭代法进行8次迭代运算。每次迭代完成后都进行精度判断,当精度达到要求时,就会退出迭代,以此提高来运算效率。此程序经过实际测试,基本达到了估值要求,可以满足设计需要。Irtexamability.cs为能力估值的组件程序代码,它完成了能力估值时,对于初值的设置和读取的定义,实现了能力值最后HTML输出的功能。其他相关功能组件定义与此能力值估值运算组件定义相类似。
  4.2.3 能力估值组件在IRT考试系统中的应用
  在IRT考试系统能力估值模块中,前台以CSS+HTML技术构建系统测试平台,后台程序可以直接从工具框中调用能力估计运算组件。在能力估值模块,每次提供一道试题,根据被测个体的作答情况进行能力估值后,在题库再查找信息量最大的试题,作为下一道题,如此反复,直到能力值估计达到精度要求或是完成预设的最大题量为止。下图是能力估值组件应用于在线考试的网页文件截图。
  
  5.结语
  自定义组件技术是.NET框架中的一个重要的应用,自定义服务器端组件还可以应用于Web服务中,实现运算的分布处理,提高服务器运行效率,解决IRT理论中的运算量大,网络容易出现拥塞等问题。而且,IRT能力估值组件在经过实践检验和修正后,还可以应用于其他科目的测试系统,对于推广基于IRT理论的自适应考试理论将起到极大的促进作用,这也将是我们今后继续努力的方向。
  
  参考文献:
  [1][美]Nikhil Kothari Vandana Datye 著. ASP.NET服务器控件与组件开发[M].机械工业出版社,2003.
  [2]杨威主编.信息技术教学导论(第2版)[M].电子工业出版社,2007.
  [3]余民宁.试题反应理论的介绍[J/OL]. http://www.irt.org.tw/index.php?mod=irt1.
  [4][美]Michael Bowers著.精通CSS与HTML设计模式 [M].人民邮电出版社, 2008.
  [5]杨晋吉,刘太根.网络课程中基于Web的在线测试系统的研究与实现[J].计算机应用研究,2007.
  (作者系山西师范大学数学与计算机学院2006级研究生)
  
  注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
其他文献
摘要: 坚持以就业为导向,以社会需求为导向,以企业需求为依托,实施订单教育,走产学研结合的道路,已成为职业教育发展的基本定位和必由之路。如何实施订单教育,为行业、企业培养出“适用、有用、好用”的企业真正欢迎的高素质人才是摆在高职院校面前的一个现实而又根本的问题。  关键词: 高职院校 订单教育 校企合作    “订单教育”可以从广义和狭义两方面去认识和把握。广义的“订单教育”就是在国家教育方针指引
期刊
摘要: 病理学是医学高校中一门重要的基础课程,但由于学科本身具有理论性强、抽象、微观等特点,应用传统教学方法使得学生难于掌握本门课程,更难激发起学生的学习兴趣和积极性。作者结合当前普遍推广的互动教学法,经过长期探索与实践开辟出一条病理学教学的新途径。  关键词: 教学相长 和谐课堂 医学院校 病理课 互动教学    目前我国医学院校在校生获取知识的主要途径是师生围绕教材,通过课堂进行有效传递,这样
期刊
摘要: 五代至北宋时期的所谓“徐熙野逸”,可谓代表了传统文人花鸟画的审美趋向。由于徐熙真迹的失传,从而导致后世对其作品的画法特色存在诸多揣测和误解,特别是前人所留下的史料及诗文品评,今人亦多有争议。本文主要从陈传席先生对苏轼题《徐熙杏花》诗的考释谈起。  关键词: 徐熙 苏轼 梅雨 洗    余曾拜读陈传席先生《西山论道集》中一文《“洗出徐熙落墨花”考释——兼谈徐熙的画法》,颇有些许不同之看法,虽
期刊
摘要: 福柯的权力观与传统权力观有很大不同,他的权力是一种力量,是网状的。本文借用福柯的权力观来分析当代学校考试中的权力及其运作。既指出其中存在的问题,也指出了考试作为一种知识交换过程所具有的作用。  关键词: 福柯 考试 权力    与传统的权力观不同,福柯是从尼采那儿借用了“系谱学(Genealogy)”一词来进行权力分析。他所说的“权力”既不仅仅指在任何一个国家里保证公民服从的一系列机构和机
期刊
摘要: 在大力倡导教育“低耗高效”的今天,教学“六认真”被再一次强调,其中作业的设计与布置环节引起了广大教师的充分重视。笔者就作业的设计、作业布置的时机、作业评价的方式三个方面,结合教育实践,提出了一些看法。  关键词: 作业质量 作业布置 作业评价    作业是课堂教学的延伸和补充,是学生进一步理解、巩固和运用课堂教学知识,并与现实生活相连接的学习活动和生活体验。随着新课程标准的深入实施,教师对
期刊
摘要: 本文从陶行知先生提出的为达到学习有效性的“六大解放”联想到目前的英语课堂教学,提出“五大解放”旨在构建新课程改革背景下以学生为主体的新型课堂教学模式。“五大解放”即指“解放”教材、“解放”教师、“解放”课堂、“解放”思维、“解放”学生。本文希望通过这“五大解放”在英语课堂教学中的运用,使学生主体地位得到体现,以提高课堂教学效益方面做些有益的尝试。  关键词: 解放 课堂教学 学生主体地位 
期刊
2008年山东高考理综化学部分,命题很注重“基础性、综合性”这两大特点,做到了对基础知识、基本技能和化学学科能力的综合考查。这些特点与《考试说明》中确定的命题指导思想是完全吻合的。这可以引导中学化学教学跳出“题海”,从而重视对主干知识的理解和应用。必做题28题比较好地体现了《考试说明》的有关要求,下面我对该题谈谈自己的浅见。  原题:28.(14分)黄铜矿(CuFeS )是制取铜及其化合物的主要原
期刊
摘要: 21世纪是知识经济时代,社会需要高层次、高质量、高素质的综合性人才。随着时代发展和素质教育的日趋深化,对体育教师也提出了更高的要求。为适应深化学校体育改革的需要,体育教师必须学习新知识、调整自己的知识结构、更新旧观念、接受新事物、研究新问题,不断提高自身各方面素质,成为学生身心健康发展的促进者,健全人格的塑造者,成为创新型和科研型的新型体育教师,以适应素质教育的要求。  关键词: 21世纪
期刊
摘要: 师范生在实习中可能遭受的心理压力主要来自于四个方面:实习基地校的生活压力、教学压力、班级管理压力及人际关系与角色适应压力。根据师范生可能遭受的压力源,本文从预防的角度提出了减缓或消除实习期间心理压力的对策。  关键词: 师范院校 实习生 心理压力 对策    毕业实习对每一位师范生来说是一个非常关键时期,其在实习基地校的经验将直接影响今后从事教师这一职业的自我效能。因此,师范学校在组织学生
期刊
摘要: “先秦诸子选读”是选修课程“文化论著研读”系列中的一个模块,它不是一般的知识型课程,其宗旨是通过向学生讲授先秦诸子的一些经典散文,启发和引导学生陶冶身心,涵养德性,提高学生对我国文化传统的认识,加深学生对优良文化传统的热爱,增强学生阅读和分析古文的基本功,培养学生把握社会人生问题的能力。因此,教学时应采取与必修课有别的方式方法。  关键词: 先秦诸子选读 选修课程 教学方式    高中语文
期刊