CN105761563A - 编程题评测系统的学生客户端、教师客户端及服务器端 - Google Patents

编程题评测系统的学生客户端、教师客户端及服务器端 Download PDF

Info

Publication number
CN105761563A
CN105761563A CN201410795899.0A CN201410795899A CN105761563A CN 105761563 A CN105761563 A CN 105761563A CN 201410795899 A CN201410795899 A CN 201410795899A CN 105761563 A CN105761563 A CN 105761563A
Authority
CN
China
Prior art keywords
programming
topic
evaluating system
program code
programming topic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410795899.0A
Other languages
English (en)
Other versions
CN105761563B (zh
Inventor
冀荣华
李鑫
郑立华
高万林
刘云玲
陈瑛
阚道宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Agricultural University
Original Assignee
China Agricultural University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Agricultural University filed Critical China Agricultural University
Priority to CN201410795899.0A priority Critical patent/CN105761563B/zh
Publication of CN105761563A publication Critical patent/CN105761563A/zh
Application granted granted Critical
Publication of CN105761563B publication Critical patent/CN105761563B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

本发明涉及一种编程题评测系统的学生客户端、教师客户端及服务器端,能够解决现有技术中老师批改评判编程题作业比较费时耗力的问题。所述服务器端包括:监听单元,用于监听编程题评测系统的学生客户端的连接请求;处理单元,用于建立与编程题评测系统的学生客户端的连接,接收所述编程题评测系统的学生客户端提交的程序代码,以及编程题的测试用例的输入、输出、权重和分数,编译、运行所述程序代码,和/或根据所述编程题的测试用例的输入、输出、权重和分数对所述程序代码进行评判,并根据评判的结果给出分数,将所述程序代码编译结果、运行结果和/或分数发送给所述编程题评测系统的学生客户端。

Description

编程题评测系统的学生客户端、教师客户端及服务器端
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种编程题评测系统的学生客户端、教师客户端及服务器端。
背景技术
C语言、C++语言、Java语言是目前计算机程序设计中应用广泛的编程语言,在各类高等院校的计算机及相关专业中,C、C++程序设计等语言是必修的基础课。学生在学习时,需要在机房或个人电脑上安装集成开发环境,编辑程序、编译程序和运行程序;老师在评判学生的编程题作业时,需要拷贝程序、编译程序、运行程序,给出分数。
这就使得学生不能随时、随地,通过电脑、手机、平板完成编程题作业,老师批改评判编程题作业时也比较费时耗力。
发明内容
有鉴于此,本发明实施例提供一种编程题评测系统的学生客户端、教师客户端及服务器端,能够解决现有技术中学生不能随时、随地,通过电脑、手机、平板完成编程题作业和老师批改评判编程题作业比较费时耗力的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,本发明提出了一种编程题评测系统的学生客户端,包括:
请求发送单元,用于向编程题评测系统的教师客户端发送获取编程题的信息的请求,从所述编程题评测系统的教师客户端获取编程题的信息;其中,所述编程题的信息包括编程题类型、编程题的答题时长、编程题题目、编程题描述、答题次数和/或编程题分数;
获取单元,用于针对所述编程题的信息,接收用户的在线编辑指令或上传指令,在线编辑程序代码或上传程序代码文件,并从所述编程题评测系统的教师客户端获取所述编程题的测试用例;其中,所述测试用例包括输入、输出、权重和分数;
提交单元,用于接收用户的提交指令,将所述程序代码或程序代码文件,以及所述编程题的测试用例提交给编程题评测系统的服务器端,以使所述编程题评测系统的服务器端编译、运行所述程序代码或程序代码文件,和/或根据所述编程题的测试用例对所述程序代码或程序代码文件进行评判,并根据评判的结果给出分数;
接收单元,用于接收所述编程题评测系统的服务器端发送的所述程序代码或程序代码文件的编译结果、运行结果和/或分数,并进行显示。
本发明实施例提供的编程题评测系统的学生客户端,通过编程题评测系统的服务器端来编译、运行程序代码,并对所述程序代码进行打分,不需要安装集成开发环境,老师也不需要对学生的编程题作业进行打分,因而解决了现有技术中学生不能随时、随地,通过电脑、手机、平板完成编程题作业和老师批改评判编程题作业比较费时耗力的问题。
另一方面,本发明提出了一种编程题评测系统的教师客户端,包括:
设置单元,用于接收用户的设置指令,设置编程题的信息;其中,所述编程题的信息包括编程题类型、编程题的答题时长、编程题题目、编程题描述、答题次数、编程题分数和/或编程题测试用例,所述编程题测试用例包括输入、输出、权重和分数;
第一发送单元,用于接收编程题评测系统的学生客户端发送的获取编程题的题目、描述、答题次数和/或分数的请求,向所述编程题评测系统的学生客户端发送所述编程题的题目、描述、答题次数和/或分数;
第二发送单元,用于接收所述编程题评测系统的学生客户端发送的获取所述编程题的测试用例的请求,向所述编程题评测系统的学生客户端发送所述编程题的测试用例;
分析单元,用于从编程题评测系统的服务器端获取所述编程题评测系统的学生客户端发送的程序代码,对所述程序代码进行分析,确定出相似度大于预设阈值的程序代码。
本发明实施例提供的编程题评测系统的教师客户端,通过向编程题评测系统的学生客户端发送编程题的题目、描述、答题次数和/或分数,以及所述编程题的测试用例,以使所述编程题评测系统的学生客户端获取,并将所述编程题的题目、描述、答题次数和/或分数,以及所述编程题的测试用例发送给编程题评测系统的服务器端,由所述编程题评测系统的服务器端编译、运行所述编程题评测系统的学生客户端发送的程序代码,并对所述程序代码进行打分,使得所述编程题评测系统的学生客户端不需要安装集成开发环境,老师也不需要对学生的编程题作业进行打分,因而解决了现有技术中学生不能随时、随地,通过电脑、手机、平板完成编程题作业和老师批改评判编程题作业比较费时耗力的问题。
另一方面,本发明提出了一种编程题评测系统的服务器端,包括:
监听单元,用于监听编程题评测系统的学生客户端的连接请求;
处理单元,用于建立与编程题评测系统的学生客户端的连接,接收所述编程题评测系统的学生客户端提交的程序代码,以及编程题的测试用例的输入、输出、权重和分数,编译、运行所述程序代码,和/或根据所述编程题的测试用例的输入、输出、权重和分数对所述程序代码进行评判,并根据评判的结果给出分数,将所述程序代码编译结果、运行结果和/或分数发送给所述编程题评测系统的学生客户端。
本发明实施例提供的编程题评测系统的服务器端,通过编译、运行编程题评测系统的学生客户端发送的程序代码,并对所述程序代码进行打分,使得所述编程题评测系统的学生客户端不需要安装集成开发环境,老师也不需要对学生的编程题作业进行打分,因而解决了现有技术中学生不能随时、随地,通过电脑、手机、平板完成编程题作业和老师批改评判编程题作业比较费时耗力的问题。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1为本发明编程题评测系统的学生客户端一实施例的方框结构示意图;
图2为图1中提交单元一实施例的方框结构示意图;
图3为本发明编程题评测系统的教师客户端一实施例的方框结构示意图;
图4为本发明编程题评测系统的服务器端一实施例的方框结构示意图;
图5为图4中监听单元一实施例的方框结构示意图;
图6为图4中处理单元一实施例的方框结构示意图;
图7为图6中连接请求处理子单元一实施例的方框结构示意图;
图8为图6中测试用例评判子单元一实施例的方框结构示意图。
具体实施方式
下面将结合附图对本发明的实施例进行详细描述。
参看图1,本发明的实施例提供一种编程题评测系统的学生客户端,包括:
请求发送单元1,用于向编程题评测系统的教师客户端发送获取编程题的信息的请求,从所述编程题评测系统的教师客户端获取编程题的信息;其中,所述编程题的信息包括编程题类型、编程题的答题时长、编程题题目、编程题描述、答题次数和/或编程题分数;
获取单元2,用于针对所述编程题的信息,接收用户的在线编辑指令或上传指令,在线编辑程序代码或上传程序代码文件,并从所述编程题评测系统的教师客户端获取所述编程题的测试用例;其中,所述测试用例包括输入、输出、权重和分数;
提交单元3,用于接收用户的提交指令,将所述程序代码或程序代码文件,以及所述编程题的测试用例提交给编程题评测系统的服务器端,以使所述编程题评测系统的服务器端编译、运行所述程序代码或程序代码文件,和/或根据所述编程题的测试用例对所述程序代码或程序代码文件进行评判,并根据评判的结果给出分数;
接收单元4,用于接收所述编程题评测系统的服务器端发送的所述程序代码或程序代码文件的编译结果、运行结果和/或分数,并进行显示。
本实施例中,学生可以选择编程题评测系统的服务器端编译、运行程序代码,也可以选择编程题评测系统的服务器端编译、运行程序代码,并给出分数。
本发明实施例提供的编程题评测系统的学生客户端,通过编程题评测系统的服务器端来编译、运行程序代码,并对所述程序代码进行打分,不需要安装集成开发环境,老师也不需要对学生的编程题作业进行打分,因而解决了现有技术中学生不能随时、随地,通过电脑、手机、平板完成编程题作业和老师批改评判编程题作业比较费时耗力的问题。
可选地,参看图2,在本发明编程题评测系统的学生客户端的另一实施例中,所述提交单元3,包括:
构建子单元30,用于接收用户的提交指令,构建通信消息格式;
连接子单元31,用于通过建立编程题评测系统的学生客户端的套接字,并向所述编程题评测系统的服务器端的套接字发送连接请求,与所述编程题评测系统的服务器端建立连接;
请求消息发送子单元32,用于按照所述通信消息格式向所述编程题评测系统的服务器端发送请求消息;其中,所述请求消息中包括所述程序代码或程序代码文件,以及所述编程题的编程题类型和所述编程题的测试用例的信息。
本实施例中,编程题的编程题类型包括C、C++、Java等,本发明不再详细赘述。将编程题的编程题类型提交给编程题评测系统的服务器端,便于编程题评测系统的服务器端根据编程题类型选择适当的编译器,对编程题进行编译。
参看图3,本发明的实施例提供一种编程题评测系统的教师客户端,包括:
设置单元5,用于接收用户的设置指令,设置编程题的信息;其中,所述编程题的信息包括编程题类型、编程题的答题时长、编程题题目、编程题描述、答题次数、编程题分数和/或编程题测试用例,所述编程题测试用例包括输入、输出、权重和分数;
第一发送单元6,用于接收编程题评测系统的学生客户端发送的获取编程题的题目、描述、答题次数和/或分数的请求,向所述编程题评测系统的学生客户端发送所述编程题的题目、描述、答题次数和/或分数;
第二发送单元7,用于接收所述编程题评测系统的学生客户端发送的获取所述编程题的测试用例的请求,向所述编程题评测系统的学生客户端发送所述编程题的测试用例;
分析单元8,用于从编程题评测系统的服务器端获取所述编程题评测系统的学生客户端发送的程序代码,对所述程序代码进行分析,确定出相似度大于预设阈值的程序代码。
本实施例中,编程题测试用例可以设置多组,也可以设置编程题的参考代码,以使编程题评测系统的学生客户端在某一时刻之后获取编程题的参考代码。
本实施例中,确定出编程题评测系统的学生客户端提交的程序代码中相似度大于预设阈值的程序代码,能够便于确定出抄袭者,更好的实施教学。
本发明实施例提供的编程题评测系统的教师客户端,通过向编程题评测系统的学生客户端发送编程题的题目、描述、答题次数和/或分数,以及所述编程题的测试用例,以使所述编程题评测系统的学生客户端获取,并将所述编程题的题目、描述、答题次数和/或分数,以及所述编程题的测试用例发送给编程题评测系统的服务器端,由所述编程题评测系统的服务器端编译、运行所述编程题评测系统的学生客户端发送的程序代码,并对所述程序代码进行打分,使得所述编程题评测系统的学生客户端不需要安装集成开发环境,老师也不需要对学生的编程题作业进行打分,因而解决了现有技术中学生不能随时、随地,通过电脑、手机、平板完成编程题作业和老师批改评判编程题作业比较费时耗力的问题。
可选地,在本发明编程题评测系统的教师客户端的另一实施例中,还包括:
统计单元,用于从所述编程题评测系统的服务器端获取所述编程题评测系统的学生客户端发送的程序代码的编译错误信息和运行错误信息,并进行统计,确定出出现次数最多的编译错误信息和出现次数最多的运行错误信息。
本实施例中,统计出出现次数最多的编译错误信息和出现次数最多的运行错误信息,便于教师改进教学。
参看图4,本发明的实施例提供一种编程题评测系统的服务器端,包括:
监听单元9,用于监听编程题评测系统的学生客户端的连接请求;
处理单元10,用于建立与编程题评测系统的学生客户端的连接,接收所述编程题评测系统的学生客户端提交的程序代码,以及编程题的测试用例的输入、输出、权重和分数,编译、运行所述程序代码,和/或根据所述编程题的测试用例的输入、输出、权重和分数对所述程序代码进行评判,并根据评判的结果给出分数,将所述程序代码编译结果、运行结果和/或分数发送给所述编程题评测系统的学生客户端。
本发明实施例提供的编程题评测系统的服务器端,通过编译、运行编程题评测系统的学生客户端发送的程序代码,并对所述程序代码进行打分,使得所述编程题评测系统的学生客户端不需要安装集成开发环境,老师也不需要对学生的编程题作业进行打分,因而解决了现有技术中学生不能随时、随地,通过电脑、手机、平板完成编程题作业和老师批改评判编程题作业比较费时耗力的问题。
可选地,参看图5和图6,在本发明编程题评测系统的服务器端的另一实施例中,所述监听单元9,包括:
初始化子单元90,用于初始化监控线程,并运行;
第二套接字建立子单元91,用于建立编程题评测系统的服务器端的套接字,并进行设置;
绑定子单元92,用于将所述编程题评测系统的服务器端的套接字,与所述编程题评测系统的服务器端地址和端口进行绑定;
监听子单元93,用于由所述监控线程,监听所述编程题评测系统的服务器端端口,等待所述编程题评测系统的学生客户端的套接字的连接请求;
判断子单元94,用于在接收到连接请求后,判断接收到的所述连接请求中是否包含所述编程题评测系统的服务器端地址和端口;
其中,所述处理单元10,包括:
连接请求处理子单元100,用于在所述判断子单元94确定接收到的所述连接请求中包含所述编程题评测系统的服务器端地址和端口后,建立与所述编程题评测系统的学生客户端的连接,接收所述编程题评测系统的学生客户端提交的程序代码,以及编程题的测试用例的输入、输出、权重和分数;
测试用例评判子单元101,用于编译、运行所述程序代码,获取所述程序代码的编译结果和运行结果,和/或根据所述编程题的测试用例对所述程序代码进行评判,并根据评判的结果给出分数;
发送子单元102,用于将所述程序代码的编译结果、运行结果和/或分数发送给所述编程题评测系统的学生客户端。
本实施例中,套接字的设置为现有技术,本发明不再赘述。
可选地,参看图7和图8,在本发明编程题评测系统的服务器端的另一实施例中,所述监听子单元,还包括:
等待模块,用于打开进程间通信的消息队列,等待接收程序的名称;
检测模块,用于接收程序的名称,并对接收到的程序的名称所对应的程序进行安全检查,若确定所述程序的名称所对应的程序异常,则强制终止所述程序的名称所对应的程序的运行;或者
休眠模块,用于若确定所述程序的名称所对应的程序正常,则休眠预设的时间;
判断模块,用于判断所述程序的名称所对应的程序是否在运行,若所述程序的名称所对应的程序在运行,则强制终止所述程序的名称所对应的程序的运行;
其中,所述连接请求处理子单元100,包括:
线程建立模块1000,用于在接收到编程题评测系统的学生客户端的套接字发送的连接请求后,建立一个线程;
请求消息接收模块1001,由所述线程,接收所述编程题评测系统的学生客户端发送的请求消息;所述请求消息包括程序代码,以及编程题的编程题类型、编程题的测试用例的输入、输出、权重和分数;
所述测试用例评判子单元101,包括:
解码模块1010,用于解码所述编程题评测系统的学生客户端发送的请求消息,获取请求类型、程序代码,以及编程题的测试用例的输入、输出、权重和分数;
编译模块1011,用于根据所述请求类型编译所述程序代码,获取编译结果;
名称发送模块1012,用于在所述程序代码运行前,将所述程序代码的名称通过所述进程间通信的消息队列发送给所述检测模块;
运行模块1013,用于将所述编程题的每组测试用例的输入作为输入,运行所述程序代码,将所述程序代码的运行结果与所述编程题的该组测试用例的输出进行比较,并根据权重计算所述程序代码的该组测试用例的得分,对所述程序代码的每组测试用例的得分进行求和计算出总得分。
本实施例中,对程序进行安全检查时,若确定程序包含恶意代码、禁止的系统命令(如硬盘格式化命令、关机命令等),进入死循环,空耗CPU、内存资源等,则确定程序异常;预设的时间可是是1秒。在强制终止程序运行和程序运行结束后,自动释放回收程序未显式释放的内存。
本实施例中,通过对程序进行安全检查,能够保证编程题评测系统的服务器端的安全性和可靠运行。
本实施例中,请求类型由编程题评测系统的学生客户端发送的编程题的编程题类型确定,与编程题评测系统的学生客户端发送的编程题的编程题类型相同。
本实施例中,通过测试用例能够客观、公正地对程序代码进行打分,使得老师不需要为批改编程作业头疼。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (7)

1.一种编程题评测系统的服务器端,其特征在于,包括:
监听单元,用于监听编程题评测系统的学生客户端的连接请求;
处理单元,用于建立与编程题评测系统的学生客户端的连接,接收所述编程题评测系统的学生客户端提交的程序代码,以及编程题的测试用例的输入、输出、权重和分数,编译、运行所述程序代码,和/或根据所述编程题的测试用例的输入、输出、权重和分数对所述程序代码进行评判,并根据评判的结果给出分数,将所述程序代码编译结果、运行结果和/或分数发送给所述编程题评测系统的学生客户端。
2.根据权利要求1所述的编程题评测系统的服务器端,其特征在于,所述监听单元,包括:
初始化子单元,用于初始化监控线程,并运行;
第二套接字建立子单元,用于建立编程题评测系统的服务器端的套接字,并进行设置;
绑定子单元,用于将所述编程题评测系统的服务器端的套接字,与所述编程题评测系统的服务器端地址和端口进行绑定;
监听子单元,用于由所述监控线程,监听所述编程题评测系统的服务器端端口,等待所述编程题评测系统的学生客户端的套接字的连接请求;
判断子单元,用于在接收到连接请求后,判断接收到的所述连接请求中是否包含所述编程题评测系统的服务器端地址和端口;
其中,所述处理单元,包括:
连接请求处理子单元,用于在所述判断子单元确定接收到的所述连接请求中包含所述编程题评测系统的服务器端地址和端口后,建立与所述编程题评测系统的学生客户端的连接,接收所述编程题评测系统的学生客户端提交的程序代码,以及编程题的测试用例的输入、输出、权重和分数;
测试用例评判子单元,用于编译、运行所述程序代码,获取所述程序代码的编译结果和运行结果,和/或根据所述编程题的测试用例对所述程序代码进行评判,并根据评判的结果给出分数;
发送子单元,用于将所述程序代码的编译结果、运行结果和/或分数发送给所述编程题评测系统的学生客户端。
3.根据权利要求2所述的编程题评测系统的服务器端,其特征在于,所述监听子单元,还包括:
等待模块,用于打开进程间通信的消息队列,等待接收程序的名称;
检测模块,用于接收程序的名称,并对接收到的程序的名称所对应的程序进行安全检查,若确定所述程序的名称所对应的程序异常,则强制终止所述程序的名称所对应的程序的运行;或者
休眠模块,用于若确定所述程序的名称所对应的程序正常,则休眠预设的时间;
判断模块,用于判断所述程序的名称所对应的程序是否在运行,若所述程序的名称所对应的程序在运行,则强制终止所述程序的名称所对应的程序的运行;
其中,所述连接请求处理子单元,包括:
线程建立模块,用于在接收到编程题评测系统的学生客户端的套接字发送的连接请求后,建立一个线程;
请求消息接收模块,由所述线程,接收所述编程题评测系统的学生客户端发送的请求消息;所述请求消息包括程序代码,以及编程题的编程题类型、编程题的测试用例的输入、输出、权重和分数;
所述测试用例评判子单元,包括:
解码模块,用于解码所述编程题评测系统的学生客户端发送的请求消息,获取请求类型、程序代码,以及编程题的测试用例的输入、输出、权重和分数;
编译模块,用于根据所述请求类型编译所述程序代码,获取编译结果;
名称发送模块,用于在所述程序代码运行前,将所述程序代码的名称通过所述进程间通信的消息队列发送给所述检测模块;
运行模块,用于将所述编程题的每组测试用例的输入作为输入,运行所述程序代码,将所述程序代码的运行结果与所述编程题的该组测试用例的输出进行比较,并根据权重计算所述程序代码的该组测试用例的得分,对所述程序代码的每组测试用例的得分进行求和计算出总得分。
4.一种编程题评测系统的学生客户端,其特征在于,包括:
请求发送单元,用于向编程题评测系统的教师客户端发送获取编程题的信息的请求,从所述编程题评测系统的教师客户端获取编程题的信息;其中,所述编程题的信息包括编程题类型、编程题的答题时长、编程题题目、编程题描述、答题次数和/或编程题分数;
获取单元,用于针对所述编程题的信息,接收用户的在线编辑指令或上传指令,在线编辑程序代码或上传程序代码文件,并从所述编程题评测系统的教师客户端获取所述编程题的测试用例;其中,所述测试用例包括输入、输出、权重和分数;
提交单元,用于接收用户的提交指令,将所述程序代码或程序代码文件,以及所述编程题的测试用例提交给编程题评测系统的服务器端,以使所述编程题评测系统的服务器端编译、运行所述程序代码或程序代码文件,和/或根据所述编程题的测试用例对所述程序代码或程序代码文件进行评判,并根据评判的结果给出分数;
接收单元,用于接收所述编程题评测系统的服务器端发送的所述程序代码或程序代码文件的编译结果、运行结果和/或分数,并进行显示。
5.根据权利要求4所述的编程题评测系统的学生客户端,其特征在于,所述提交单元,包括:
构建子单元,用于接收用户的提交指令,构建通信消息格式;
连接子单元,用于通过建立编程题评测系统的学生客户端的套接字,并向所述编程题评测系统的服务器端的套接字发送连接请求,与所述编程题评测系统的服务器端建立连接;
请求消息发送子单元,用于按照所述通信消息格式向所述编程题评测系统的服务器端发送请求消息;其中,所述请求消息中包括所述程序代码或程序代码文件,以及所述编程题的编程题类型和所述编程题的测试用例的信息。
6.一种编程题评测系统的教师客户端,其特征在于,包括:
设置单元,用于接收用户的设置指令,设置编程题的信息;其中,所述编程题的信息包括编程题类型、编程题的答题时长、编程题题目、编程题描述、答题次数、编程题分数和/或编程题测试用例,所述编程题测试用例包括输入、输出、权重和分数;
第一发送单元,用于接收编程题评测系统的学生客户端发送的获取编程题的题目、描述、答题次数和/或分数的请求,向所述编程题评测系统的学生客户端发送所述编程题的题目、描述、答题次数和/或分数;
第二发送单元,用于接收所述编程题评测系统的学生客户端发送的获取所述编程题的测试用例的请求,向所述编程题评测系统的学生客户端发送所述编程题的测试用例;
分析单元,用于从编程题评测系统的服务器端获取所述编程题评测系统的学生客户端发送的程序代码,对所述程序代码进行分析,确定出相似度大于预设阈值的程序代码。
7.根据权利要求6所述的编程题评测系统的教师客户端,其特征在于,还包括:
统计单元,用于从所述编程题评测系统的服务器端获取所述编程题评测系统的学生客户端发送的程序代码的编译错误信息和运行错误信息,并进行统计,确定出出现次数最多的编译错误信息和出现次数最多的运行错误信息。
CN201410795899.0A 2014-12-18 2014-12-18 编程题评测系统的学生客户端、教师客户端及服务器端 Expired - Fee Related CN105761563B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410795899.0A CN105761563B (zh) 2014-12-18 2014-12-18 编程题评测系统的学生客户端、教师客户端及服务器端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410795899.0A CN105761563B (zh) 2014-12-18 2014-12-18 编程题评测系统的学生客户端、教师客户端及服务器端

Publications (2)

Publication Number Publication Date
CN105761563A true CN105761563A (zh) 2016-07-13
CN105761563B CN105761563B (zh) 2018-07-31

Family

ID=56340736

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410795899.0A Expired - Fee Related CN105761563B (zh) 2014-12-18 2014-12-18 编程题评测系统的学生客户端、教师客户端及服务器端

Country Status (1)

Country Link
CN (1) CN105761563B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326112A (zh) * 2016-08-15 2017-01-11 江苏海事职业技术学院 一种程序作业自动批改的方法和装置
CN106652613A (zh) * 2017-03-09 2017-05-10 南通理工学院 一种基于云计算的软件类课程移动学习平台
CN106652611A (zh) * 2017-01-17 2017-05-10 北京航空航天大学 一种面向代码作业的评测系统及方法
CN108073494A (zh) * 2016-11-09 2018-05-25 财团法人资讯工业策进会 程序能力评估系统与程序能力评估方法
CN108596799A (zh) * 2018-03-27 2018-09-28 佛山市顺德区中山大学研究院 一种基于Verilog的判题装置、方法及系统
CN109783106A (zh) * 2018-12-28 2019-05-21 西安交通大学 一种基于编辑距离的自适应反馈程序评测方法及装置
CN110633072A (zh) * 2019-07-30 2019-12-31 广东工业大学 一种可供自动批改的编程训练题目构造方法及装置
CN111459841A (zh) * 2020-04-30 2020-07-28 成都海纳智博科技有限公司 一种通用程序语言自动评测方法及系统
CN112799675A (zh) * 2021-01-22 2021-05-14 中森云链(成都)科技有限责任公司 一种绘图编程类考题自动测评方法
CN113254008A (zh) * 2021-06-21 2021-08-13 腾讯科技(深圳)有限公司 数据处理方法、装置及设备
CN113395536A (zh) * 2021-06-15 2021-09-14 北京猿力未来科技有限公司 一种直播编程教学引导方法和相关设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108986572A (zh) * 2018-08-06 2018-12-11 沈机(上海)智能系统研发设计有限公司 机床工件加工考评方法、系统、综合考评系统及服务器端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2558910A1 (de) * 1975-12-27 1977-07-07 Hans Dr Ing Herrmann Optischer programmtester
CN103413470A (zh) * 2013-07-24 2013-11-27 西南大学 C语言编程教学考试综合系统及方法
CN103685555A (zh) * 2013-12-25 2014-03-26 北京中电普华信息技术有限公司 一种在线考试系统及应用于在线考试系统的信息处理方法
CN104077227A (zh) * 2014-07-08 2014-10-01 大连海事大学 一种基于b/s架构的程序源代码的评判系统及方法
CN104111888A (zh) * 2014-07-03 2014-10-22 曹建楠 一种面向教学的代码评测方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2558910A1 (de) * 1975-12-27 1977-07-07 Hans Dr Ing Herrmann Optischer programmtester
CN103413470A (zh) * 2013-07-24 2013-11-27 西南大学 C语言编程教学考试综合系统及方法
CN103685555A (zh) * 2013-12-25 2014-03-26 北京中电普华信息技术有限公司 一种在线考试系统及应用于在线考试系统的信息处理方法
CN104111888A (zh) * 2014-07-03 2014-10-22 曹建楠 一种面向教学的代码评测方法、装置和系统
CN104077227A (zh) * 2014-07-08 2014-10-01 大连海事大学 一种基于b/s架构的程序源代码的评判系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
朱虎平: "主观编程题实时考评系统的技术研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
王远洋、周渊平、郭焕丽: "linux下基于socket多线程并发通信的实现", 《微计算机信息》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326112B (zh) * 2016-08-15 2019-02-15 江苏海事职业技术学院 一种程序作业自动批改的方法和装置
CN106326112A (zh) * 2016-08-15 2017-01-11 江苏海事职业技术学院 一种程序作业自动批改的方法和装置
CN108073494A (zh) * 2016-11-09 2018-05-25 财团法人资讯工业策进会 程序能力评估系统与程序能力评估方法
CN106652611A (zh) * 2017-01-17 2017-05-10 北京航空航天大学 一种面向代码作业的评测系统及方法
CN106652613A (zh) * 2017-03-09 2017-05-10 南通理工学院 一种基于云计算的软件类课程移动学习平台
CN108596799A (zh) * 2018-03-27 2018-09-28 佛山市顺德区中山大学研究院 一种基于Verilog的判题装置、方法及系统
CN108596799B (zh) * 2018-03-27 2020-11-13 佛山市顺德区中山大学研究院 一种基于Verilog的判题装置、方法及系统
CN109783106B (zh) * 2018-12-28 2021-05-28 西安交通大学 一种基于编辑距离的自适应反馈程序评测方法及装置
CN109783106A (zh) * 2018-12-28 2019-05-21 西安交通大学 一种基于编辑距离的自适应反馈程序评测方法及装置
CN110633072A (zh) * 2019-07-30 2019-12-31 广东工业大学 一种可供自动批改的编程训练题目构造方法及装置
CN110633072B (zh) * 2019-07-30 2023-01-20 广东工业大学 一种可供自动批改的编程训练题目构造方法及装置
CN111459841A (zh) * 2020-04-30 2020-07-28 成都海纳智博科技有限公司 一种通用程序语言自动评测方法及系统
CN112799675A (zh) * 2021-01-22 2021-05-14 中森云链(成都)科技有限责任公司 一种绘图编程类考题自动测评方法
CN113395536A (zh) * 2021-06-15 2021-09-14 北京猿力未来科技有限公司 一种直播编程教学引导方法和相关设备
CN113395536B (zh) * 2021-06-15 2022-12-13 北京猿力未来科技有限公司 一种直播编程教学引导方法和相关设备
CN113254008A (zh) * 2021-06-21 2021-08-13 腾讯科技(深圳)有限公司 数据处理方法、装置及设备
CN113254008B (zh) * 2021-06-21 2024-04-19 腾讯科技(深圳)有限公司 数据处理方法、装置及设备

Also Published As

Publication number Publication date
CN105761563B (zh) 2018-07-31

Similar Documents

Publication Publication Date Title
CN105761563A (zh) 编程题评测系统的学生客户端、教师客户端及服务器端
CN108959068B (zh) 软件界面测试方法、设备及存储介质
CN108984389B (zh) 一种应用程序测试方法及终端设备
US11601462B2 (en) Systems and methods of intelligent and directed dynamic application security testing
CN102981958B (zh) 软件测试方法和测试装置
CN105427695A (zh) 编程类考题自动测评方法和系统
CN110765013A (zh) 一种流程自动化执行方法及系统
WO2021104387A1 (zh) 一种自动识别有效数据采集模块的方法和系统
CN106251725A (zh) 试题批改方法和服务器
Yu Matlab programming environment based on web
CN111367802B (zh) web自动化测试方法、装置及计算机可读存储介质
Patil et al. Enhanced UI Automator Viewer with improved Android accessibility evaluation features
Pfeiffer et al. Cross-language support mechanisms significantly aid software development
CN115982005A (zh) 基于人工智能的自动化测试方法和装置
CN106293654A (zh) Java编程题目自动评判方法及系统
KR101792864B1 (ko) 애플리케이션 검증 시스템 및 방법
CN106021631A (zh) 交互式数字集成电路仿真验证方法、服务器、客户端及系统
CN113238739A (zh) 一种插件开发和数据获取方法、装置、电子设备及介质
Grtker et al. The developer's guide to debugging
Smith et al. E-TDD–embedded test driven development a tool for hardware-software co-design projects
CN109359055B (zh) 一种数据测试的方法和设备
CN106155895A (zh) 脚本数据处理方法及装置
Yan et al. A Web Service for C Programming Learning and Teaching
Chiu Use of problem-solving approach to teach scratch programming for adult novice programmers
Garg Test Automation using Selenium WebDriver with Java: Step by Step Guide

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180731

Termination date: 20201218

CF01 Termination of patent right due to non-payment of annual fee