基于Windows API的VB编程题自动评分系统的研究与实现

基于Windows API的VB编程题自动评分系统的研究与实现

论文摘要

目前,无纸化考试已经成为一种趋势,与此同时,产生了一系列新课题,包括程序设计语言类中编程题自动评阅技术的研究。程序设计语言类考试中编程题自动评阅技术的实现,是无纸化考试必须解决的关键性问题之一。目前编程题的自动评阅技术,成为一个研究热点和难点。国内已经有一些关于程序设计语言类的考试系统,这些考试系统大多数是针对选择题、填空题和完善程序题,可以说对于这些客观题或操作受限的主观题的评分技术已经很成熟。但是对于具有主观性很强的编程题来说,还没有特别好的办法和成熟的技术。本课题就是为解决编程题评分这一难题而提出的,具有重要的理论和现实意义。本文首先对VB编程题自动评分系统的课题背景和现状进行了研究和分析,然后对API函数、Windows的消息机制、进程间通信以及字符串匹配算法进行了深入地研究,模拟人工阅卷的思维过程,采用了动态评阅和静态评阅相结合的方法分别对学生程序进行事件代码的功能测评和界面设计的静态测评。给出了VB编程题的自动评分系统的解决方案和设计思路:使用API Hook记录标准答案程序在运行时由人工操作所触发的消息,在动态评分时,借助VB6.0对学生程序进行编译和运行,将记录的消息发送给正在运行的学生程序以驱动学生程序的自动运行,利用输出代码将学生程序的运行结果输出到指定的文件中,并和标准答案运行结果进行匹配;在静态评分时,对学生程序文件进行窗体信息匹配、窗体中控件信息匹配、关键词匹配和得分点匹配,按照各个部分不同的权值计算学生的得分。最后,开发了一个针对VB上机考试的自动评分系统。初步实验结果表明:基于Windows API的VB编程题自动评分系统能准确的给出编程题的分数,系统运行稳定,评分误差较小。

论文目录

  • 摘要
  • ABSTRACT
  • 第1章 绪论
  • 1.1 课题背景
  • 1.2 研究意义
  • 1.3 国内外研究的现状
  • 1.4 本文的主要研究工作
  • 1.4.1 研究目标
  • 1.4.2 研究的主要内容
  • 1.5 本文的组织结构
  • 第2章 相关技术介绍
  • 2.1 Windows API
  • 2.1.1 API函数
  • 2.1.2 API Hook
  • 2.2 Windows消息机制
  • 2.2.1 Windows消息
  • 2.2.2 Windows消息系统
  • 2.2.3 Windows句柄
  • 2.2.4 消息的发送
  • 2.3 Windows进程间通信
  • 2.3.1 文件映射
  • 2.3.2 动态链接库
  • COPYDATA消息'>2.3.3 WMCOPYDATA消息
  • 2.4 字符串匹配算法
  • 2.4.1 Brute-Force算法
  • 2.4.2 KMP算法
  • 2.4.3 Levenshtein算法
  • 第3章 基于Windows API的VB编程题自动评分系统的解决方案
  • 3.1 现有的自动评分模型研究
  • 3.1.1 基于程序理解的编程题自动评分模型
  • 3.1.2 基于语义相似度的编程题自动评分模型
  • 3.1.3 基于语义理解的编程题自动评分模型
  • 3.1.4 VB程序员考核自动阅卷系统
  • 3.1.5 现有自动评分模型和系统的分析
  • 3.2 基于Windows API的VB编程题自动评分系统的解决方案
  • 3.2.1 基于Windows API的VB编程题自动评分思路
  • 3.2.2 动态评分的方法
  • 3.2.3 静态评分的方法
  • 3.2.4 错误检测
  • 第4章 系统的分析、设计与实现
  • 4.1 功能需求分析
  • 4.2 系统的设计
  • 4.2.1 系统的功能模块划分
  • 4.2.2 数据库设计
  • 4.2.3 评分模块流程图
  • 4.3 系统的实现
  • 4.3.1 用户管理模块的实现
  • 4.3.2 编程题网络考试模块的实现
  • 4.3.3 编程题自动评分的实现
  • 第5章 实验及结果分析
  • 5.1 自动评分方案的实验
  • 5.2 实验结果分析
  • 第6章 总结与展望
  • 参考文献
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  

    基于Windows API的VB编程题自动评分系统的研究与实现
    下载Doc文档

    猜你喜欢