程序自动批改系统的设计与实现

来源 :电子科技大学 | 被引量 : 5次 | 上传用户:ninebirds88
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在计算机教育领域,尤其是程序设计类课程,传统的手动批改源代码和程序的方法,会耗费教师巨大的精力,也难以保证结果的公正。所以程序自动批改系统越来越受到关注。目前,最广泛使用的程序自动批改系统是ACM/ICPC程序批改系统。但是,在多数程序设计类课程中,ACM/ICPC系统并不适用。首先,ACM类型的题目只能处理标准输入输出的程序,无法适应工程教育中各种类型的程序,比如文件操作,网络通信等。其次,老师希望系统能够像手工批改一样对程序各方面进行打分,给出具体分数和详细的打分原因,而ACM/ICPC系统只给出对或者错的两种结果。另外,老师希望系统针对课堂教学提供一些常用的辅助功能。因此,本文设计与实现了一种新的程序自动批改系统。它支持批改不同类型的题目,能适应多样化的课程实际需求,且能根据教师题意选用不同的方式来判断程序的正误,提供细化的打分行为,同时实现了教学辅助功能。为了支持不同类型的题目,本文提出了一种与ACM/ICPC系统不同的批改方法。首先,系统针对每种题型设计了不同的批改策略,具体对应的批改操作根据教师的要求设计。然后系统在运行时,将根据程序对应题目的类型,执行对应的策略下的批改操作。系统目前支持对三大类题目的批改,涵盖了程序设计课程中的绝大多数程序。本文提出将一次批改任务分成相互独立的多组测试,解决了一次性批改导致的错误耦合问题。结合教师在每一组每一步上设置的分值比重,系统能够综合程序在各种情况下的表现给出具体分数。对于批改系统的安全性问题,本文提出使用虚拟机技术来解决。被批改的程序运行在虚拟机上,即使是恶意代码,也无法破坏宿主机上的批改系统和运行环境。被破坏的虚拟机上的批改系统模块可通过虚拟机快照恢复。此外,本文还针对可能引起系统不稳定的因素进行了处理。目前本文系统已在多门本科编程课程中使用,完成了对平时上机作业和期中、期末上机考试的批改,成功地代替了人工批改。
其他文献
互联网技术发明多年来,各种应用层出不穷,给人们的生活带来的翻天覆地的变化。随着各类数据业务的快速增长,对网络带宽的需求变得越来越高。特别是由于高清视频等业务的日益流行
作为空间目标监视和防御的主要平台,大型相控阵雷达在国防事业中拥有不可替代的重要作用,是国防安全的前沿哨兵和守卫者。但是在现代战争中,电子对抗设备的广泛使用严重干扰或破
随着网络服务越来越复杂和越来越密集,消费者都倾向于选择能节约成本的服务。所以,许多基于运营商网络和客户端网络的IPVPN解决方案得到了广泛的关注,它可以通过看来不太可信
本文介绍了非线性编辑的基本概念和MPEG-2视频压缩标准的一些基本原理,并详细介绍了视频编码的具体过程,以及MPEG-2码流结构和码率控制,这些都是深入理解压缩域数字视频拼接技
随着图像信息应用领域的扩大,面向可视电话、电视会议、远程监控等低码率应用的视频图像压缩编码技术对解决现有通信条件下,实现海量图像信息数据压缩及高质量传输具有重要意义
本文主要包含以下几个方面: 1.ARM处理器和嵌入式操作系统 介绍了ARM处理器的工作原理并着重介绍了ARM7TDMI的结构、特性 介绍了嵌入式操作系统uClinux的工作原理及特性。 2.L