论文部分内容阅读
近年来ACM国际大学生程序设计竞赛(ACM InternationalCollegiate Programming Contest,简称ACM/ICPC)在国内高校中渐渐普及起来,该竞赛是由美国计算机协会(Association forComputer Machinery,简称ACM)主办的主要面向大学本科生的国际性程序设计比赛。很多大学为了训练自己学校的ACM参赛队员,开发了自己的网上程序设计题库/训练竞赛系统(Online Judge)供他们练习使用。但是,我们发现大部分题目对于程序设计初学者来说难度太大,他们希望有一种个性化的Online Judge能够根据他们当前掌握的知识点情况提供合适的题目。针对传统Online Judge因缺乏这种个性化功能而导致其不适合初学者练习的缺陷,论文作者所在课题组提出了一种个性化Online Judge的设想。该设想中的系统类似于智能计算机辅助教学系统,它在传统Online Judge基础上添加了一些支持个性化的功能模块,其中的一个模块我们称之为知识检测与分析系统,这就是本课题所要研究的主要对象。它可以对学生掌握的程序设计知识点进行检测与分析,以支持在电子题库中实现个性化选题的目的。知识检测与分析系统中最主要的模块是学生模型。本文把重点放在和学生模型有关的三个方面:第一,如何构建这个学生模型,具体来说就是如何构建学生模型中的学生信息模型和知识点语义网络;第二,如何实现在学生模型基础上的知识检测功能,即实时检测学生的知识点掌握情况;第三,怎么实现在学生模型基础上的知识分析功能,即如何根据知识检测的结果,为初学者选择当前比较适合他们练习的题目。针对上文提出的三个问题,本文依次给出了相应的解决方案。对于第一个问题,本文采用OWL本体语言对学生模型中的学生信息模型和知识点语义网络分别进行描述,分别得到学生信息本体模型和知识点语义网络本体模型。对于第二个问题,本文介绍了一种把知识点语义网络转换为联合树的方法,并在联合树上加入程序源代码中提取的知识点观测值并进行消息传播来检测单个学生掌握知识点的情况。对于第三个问题,我们根据知识检测的结果,利用本体映射技术使机器能够根据单个学生对知识点的掌握情况,为学生选择个性化的学习资源。最后,论文设计了一个知识检测与分析系统的原型,并根据其运行结果来着重阐述知识检测与分析系统如何根据单个学生的学生模型实例选择个性化的学习资源。同时,把有知识检测与分析系统的个性化Online Judge与传统Online Judge做比较,说明了前者在个性化选题方面的优越性,从而验证了论文提出的解决方案是可行的和正确的。