基于CS模式实验课评测系统.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于CS模式实验课评测系统

基于CS模式实验课评测系统   摘要:计算机专业的学生除了要掌握算法理论,还要熟练掌握上机操作实现算法的能力。本文谈到了如何去构建一个程序评测系统,来检验学生在实验课提交的程序的是否正确。   关键词:CS模式 评测系统       在计算机迅猛发展的今天,作为计算机专业的学生,应该扎扎实实地打下编程基础,提高自己的编程能力。而实践是检验真理的唯一标准,因此计算机课程应该重视实验课。而传统的实验课是老师布置了一些实验题目,然后让学生自由去编写,不计时间和空间复杂度,对输出内容也没有严格约束。有些同学也不太重视实验课,仅仅是简单地得出结果就完成了。有些同学还在实验课上上网,玩游戏或者做些其他事情。针对这种情况,我们可以借鉴ACM在线评测的经验,开发一个自动评测系统来对学生的程序进行检测。我们希望通过这种方法来提升计算机实验课的质量。    一、系统分析与设计    系统采用了CS模式的网络结构,即时服务器和客户端的结构。服务器端是由任课教师去管理,客户端是给同学们登录到上面去提交程序。主要思路是每次实验课上,老师给出实验题目的要求,给出输出样例,然后学生提交程序,如果学生的程序能通过老师准备的所有情况,而且输出正确,那么学生的程序就算成功了,这样学生的这次作业才算完成。    服务器和客户机都是实验室里的计算机。服务器端在教师计算机上运行,客户端由学生计算机来运行。为了便于管理,由老师统一给学生安排好登录账号和密码。每次上课时,老师先启动服务器,然后学生的客户端才能连上服务器。    服务器端:    服务器端包括四个方面的功能,分别是管理用户,增删数据,检测功能,数据统计和查看。    第一个是管理用户。服务器能识别用户的账号和密码是否正确,只有账号和密码都输入正确了,才运行客户端与服务器成功连接。服务器端拥有所有登录用户的列表和相关信息。    第二个是增删数据。包括增加用户,增加题目,删除用户,删除题目,数据存储等。服务器端应该拥有比较大的数据存储能力,而且安全性较高,有较强的数据恢复能力,数据不会轻易丢失。    第三个是检测功能。要使得系统能自动对程序进行检测,并根据程序运行情况返回不同的结果。同时,把结果传递给相应的客户端。    第四个是数据统计和查看。服务器端能显示出各个客户端的解题情况。根据这种显示结果,教师可以清楚地看到不同学生的实验完成情况。    客户端:    点击学生端程序,与服务器成功连接后,一开始是一个登录界面,学生输入自己的账号和密码,然后进入里面的界面。    客户端包括四个方面的功能,分别是选择,运行,查看运行结果,查看排名。    第一个是选择功能,用来选择作业题目,提交的程序和程序的语言。学生点击下拉菜单来实现作业题目和程序语言的选择,点击一个打开文件的功能按钮来实现选择要提交的程序。    第二个是运行功能。由于服务器端会有几个测试数据,程序要是正确的话,最基本的应该是能通过样例数据。所以,在提交程序前,可以点击一个test的按钮,来验证自己程序的输出结果。当然,也可以直接提交程序。提交程序后,系统要经历一个相应处理阶段。    第三个功能是查看程序运行结果。程序返回的结果包括accepted,wrong answer,timelimit exceed,runtime error等结果,然后每一栏里对应有程序的运行时间,占用内存大小。如果返回结果是accpeted了,程序就通过了。wrong answer是答案错误,答案错误包括算法本来就有错误,输出结果错误或其他方面内容。Timelimit exceed是超时。Runtime error是运行时错误,可能是堆栈溢出,数组越界或其他原因。    第四个功能是查看排名。每个学生都可以在上面看到自己的排名,通过这种良性竞争,让同学们在课堂上思维更加活跃,积极性更高。    二、相关技术    本系统采用java语言来编写。java是跨语言,跨平台,面向对象的语言,可移植性强,安全性高。Java语言在网络编程方面非常实用。本系统采用的是服务器客户端的模式,而且服务器和客户端通过TCP套接字进行通信。    服务器和客户端的通信过程如下:    1.服务器端是的过程首先创建一个服务器套接字,然后对申请加入的客户端分别创建一个套接字,经过TCP三次握手后,就可以与客户端进行自由通信了。    2.客户端通过取得服务器端的主机地址和端口号,建立一个套接字,然后通过该套接字和服务器端进行通信。    同时,由于本系统是一个服务器对应多个客户端,这里用到了多线程的技术。多线程涉及到并发,编程过程过程中必须对多项独立活动进行协调,处理好线程互斥,同步,调度,防止死锁。    有了好的功能,更要有好的

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档