《毕业答辩-C语言源码评判系统设计与实现》由会员分享,可在线阅读,更多相关《毕业答辩-C语言源码评判系统设计与实现(31页珍藏版)》请在金锄头文库上搜索。
1、C语言源码评判系统设计与实现,答辩人: 指导教师:,研究背景,1、计算机课程的教育已基本普及,但是计算机课程不仅是一门技术更新快、信息量大的课程,同时也是一门实践性强的课程,这给教学和考试带来很大的难度,许多高校开发出自己的教学和考试系统,改变传统的教学、考试方法和手段,除利用现代多媒体等新兴的教学手段外,将考试全部改为上机考试,取得了很好的效果。 2、较为突出的问题是机试阅卷,在这方面一直没有一个较好的、完整的、适应面宽的系统上市,这主要是由于上机考试的环境比较容易建立,可以完整地收集考生的答题结果,但题目形式多种多样,学生答案也各不相同,因此自动阅卷难度很大。,研究目的,考试是教学全过程的
2、一个重要环节,如何利用计算机把握好考试的质量,提高考试的效率,把教师从繁琐的手工劳动中解放出来,是教学改革的一个重要方面。随着各高校的扩招,许多高校师资力量严重匮乏,如果不能将教师从繁琐的手工重复劳动中解脱出来,对于提高教学质量和效率是非常不利的,高等学校作为为社会培养高级人才的基地,有义务和责任对本身教学的内容、手段和方法等进行全方位改革,给学生一个现成的利用计算机技术分析问题、解决问题的实际案例,以便适应信息社会的发展。,C语言考试题型分析,C语言考试有其自身的特点,大多C语言考试一般通过以下几种题型考察学生对编程能力的综合掌握程度: 1、选择题:考察学生对基本概念的掌握程度,覆盖知识点较
3、多; 2、填空题:考察学生对知识掌握的精确度; 3、简答题:要求考生对问题进行合适回答; 4、编程题:编制一个源程序,并进行编译、调试、连接及运行,得到正确结果。,我的主要工作,查阅国内外相关文献,分析当前C语言源码评判技术的研究现状; 搭建开发环境,包括图形界面开发工具Qt、数据库MySQL; 熟练掌握Qt开发工具的使用以及编程方法; 熟练掌握数据库MySQL使用以及编程方法; 完成MySQL数据库中的C语言题库录入;,我的主要工作,完成MySQL数据库的用户身份信息设计与录入,包括管理员、教师与学生; 完成Qt界面的用户登录窗口、管理员后台管理窗口、教师成绩查询窗口、学生考试窗口,管理员可
4、以通过界面完成对教师和学生帐号的添加与删除; 完成Qt界面学生考试窗口中编程题的评判系统,支持从外部导入源程序,进行编译和运行,并将编译与运行结果在窗口中进行动态显示; 支持评判编程题是否抄袭的功能;,图形界面Qt开发,Qt是一个1991年由奇趣科技开发的跨平台C+图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。,图形界面Qt开发,Qt支持下述平台: MS/Windows - 95、98
5、、NT4.0、ME、2000、XP 、 Vista、Win7、win8、win2008 Unix/X11 - Linux、SunSolaris、HP-UX、CompaqTru64 UNIX、IBMAIX、SGI IRIX、FreeBSD、BSD/OS和其它很多X11平台 Macintosh -Mac OS X Embedded - 有帧缓冲(framebuffer)支持的嵌入式Linux平台,Windows CE,图形界面Qt开发,优良的跨平台特性: Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solari
6、s, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。,图形界面Qt开发,面向对象: Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。,图形界面Qt开发,丰富的 API: Qt 包括多达 250 个以上的 C+ 类,还提供基于模板的 collections, serialization,
7、 file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能。 支持 2D/3D 图形渲染,支持 OpenGL。 大量的开发文档。 XML 支持。,开源数据库MySQL,MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。,开源数据库MySQL,与其他的大型数据库例如Oracle、DB2、SQL
8、 Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。Linux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP”组合。,系统详细设计-数据库管理,本课题实现的C语言源码评判系统,采用MySQL
9、数据库保存用户身份信息,实现用户创建与删除,主要包括管理员、教师和学生三种身份。同时,在数据库中,还保存有学生的考试成绩与试卷提交时间,最重要的是数据库中保存有C语言试题库。,系统详细设计-Qt界面设计,Qt界面通过MySQL数据库API,访问并管理数据库中的相关数据信息,包括用户身份信息、成绩和C语言题库等。 Qt界面主要包括登录窗口、管理员管理窗口、教师管理窗口和学生考试窗口,各个窗口的功能说明如下所示: 登录窗口:完成用户登录,可以选择管理员、教师和学生; 管理员窗口:可以完成教师和学生的身份信息添加与删除; 教师管理窗口:教师可以通过该窗口获取学生的考试成绩; 学生考试窗口:学生通过该
10、窗口可以完成C语言考试,并获取成绩。,系统详细设计-Qt界面设计,登录系统,管理员窗口,管理员窗口,教师管理窗口,学生考试窗口,学生考试窗口,学生考试窗口,学生考试窗口,学生考试窗口,学生考试窗口,学生考试窗口,结论与展望,本文对C语言考试中常见的题型做出了分析,本文重点放在编程题的解决上。 本系统在实现程序设计题自动评分功能时,进行了如下创新: 1、在程序中对考生程序进行编译。 2、在程序中运行考生程序并避免系统崩溃。 3、考生程序是否存在抄袭的检测。 在进行自动阅卷系统研究中,由于条件和能力的有限。程序运行的最终结果成为我最主要的判断依据。但是,而程序内部的逻辑和程序复杂度也应该是我们进行
11、自动阅卷系统所要判断的。这也是一个十分有前途的研究领域,研究的结果有很强的实用性和可推广性,同时也是一个十分有挑战性的工作。,参考文献,1钱海祎. 程序自动批改系统的设计与实现D. 电子科技大学, 2006 2林宁. C语言编程题自动判分系统的设计与实现J. 华章, 2011 3于淑香. C语言程序设计题自动评分系统的设计与实现J. 沙洲职业工学院学报, 2008 4王兰. 应用于C语言无纸化考试的自动阅卷系统的研究D.吉林大学,2007 5余梓唐. C语言源程序的自动评判系统J. 计算机时代, 2010 6巨同升. C语言程序自动阅卷系统的改进J.山东理工大学学报(自然科学版),2010,参
12、考文献,7张冰. 自动阅卷系统的研究D.西华大学,2008 8Stephens Derek.Use of computer assisted assessment. Benefits to students and staff. Education for Information, 2001 9Gretes, John A,Green Michael.Improving Undergraduate Learning with Computer-Assisted Assessment. Journal of Research on Computing in Education, 2000 10ZHU Ying-hui,JIANG Yu-zhen.Analysis and Research of the Policies about Auto Scoring in Computer. Computer Knowledge and Technology, 2005,非常感谢各位老师 谢谢!,