首页> 中国专利> 一种基于OJ的程序设计语言学习训练评价系统与方法

一种基于OJ的程序设计语言学习训练评价系统与方法

摘要

本发明公开了一种基于OJ的程序设计语言学习训练评价系统与方法,包括用以确认登录人员的身份的用户登录单元、用以供用户输入代码的代码输入单元、用以对用户输入的代码查重的代码查重单元、用以储存代码数据的代码库单元、用以对查重合格后的代码规范性检查的代码规范性检查单元、用以对对规范性检查合格后的代码的在线评判在线评判单元和用以对在线评判后的代码生产评价报告的评价报告生成单元。生产的报告可对学生的每道试题的完成情况、知识点的掌握情况进行总结和分析,并把分析结果更形象的展示出来,在对某职业院校的使用过程中,提高了学生按规范编写代码的能力,并对接下来的重点学习的内容方向明确。

著录项

  • 公开/公告号CN112835619A

    专利类型发明专利

  • 公开/公告日2021-05-25

    原文格式PDF

  • 申请/专利权人 沈阳职业技术学院;

    申请/专利号CN202110072954.3

  • 发明设计人 王久成;夏宗光;马力;杨昕红;

    申请日2021-01-20

  • 分类号G06F8/72(20180101);G06F11/36(20060101);G09B7/02(20060101);G09B19/00(20060101);

  • 代理机构11676 北京华际知识产权代理有限公司;

  • 代理人叶宇

  • 地址 110045 辽宁省沈阳市大东区劳动路32号

  • 入库时间 2023-06-19 11:05:16

说明书

技术领域

本发明涉及教育技术领域,尤其涉及一种基于OJ的程序设计语言学习训练评价系统与方法。

背景技术

当前大部分程序语言学习训练评价系统,基本都是基于OJ思想,对代码运行结果进行评判。但这种评判方法只能对一段代码进行评判,但这段代码是自己写的,还是拷贝别人没有,这段代码符不符合代码规范的要求,并不能给出正确的评判。同时这种训练评价系统也不能对每道题的知识点的掌握情况进行总结分析。针对上述种种不完备的地方,本发明提出一种基于OJ的程序设计语言学习训练评价系统与方法。

发明内容

本发明的目的在于提供一种基于OJ的程序设计语言学习训练评价系统与方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种基于OJ的程序设计语言学习训练评价系统,包括用户登录单元、代码输入单元、代码查重单元、代码库单元、代码规范性检查单元、在线评判单元和评价报告生成单元;

所述用户登录单元与代码输入单元相连接,用以确认登录人员的身份;

所述代码输入单元与用户登录单元相连接,用以供用户输入代码;

所述代码查重单元与代码输入单相连接,用以对用户输入的代码查重;

所述代码库单元与代码查重单元相连接,用以储存代码数据;

所述代码规范性检查单元与代码查重单元相连接,用以对查重合格后的代码规范性检查;

所述在线评判单元与代码规范性检查单元相连接,用以对对规范性检查合格后的代码在线评判;

所述评价报告生成单元与在线评判单元相连接,用以对在线评判后的代码生产评价报告。

一种基于OJ的程序设计语言学习训练评价方法,包括以下步骤:

步骤一、用户通过登录单元登录训练评价系统;

步骤二、学生用户编写完代码,对代码提交至代码输入单元,提交后进行代码查重,代码查重单元将学生用户提交的代码与代码库中代码库单元进行比较,存在相似度在设定值以内的代码文件,则代码查重不通过,提示学生用户在代码输入单元上重新提交代码;

步骤三、代码查重通过后,代码规范性检查单元对代码进行代码规范性检查,代码不符合规范的数量超过设定值,则代码规范性检查不通过,提示学生用户在代码输入单元上重新提交代码;

步骤四、代码规范性检查通过后,OJ程序设计语言对提交的程序进行评判,评判是通过把输入的内容,转化成相对应的语言文件,在安装带有编译环境的服务器中运行此文件,并读取终端显示的运行结果,回显到评判结果上。

优选的,用户上传的代码都存在代码库单元中,用户每次上传代码都需要与除用户以外的代码进行比对,如果代码库单元中的代码存在与上传代码相似度在规定范围内,则判定上传代码重复。

优选的,代码规范性检查单元:规范性检查根据事先配置好的检查类别对代码进行检查,不合符数量大于事先设定好的,判定为规范检查不通过。

优选的,线评判单元依照OJ系统对在线输入的代码进行运行,与测试用例结果比较,不相同则判断在线评判不通过。

优选的,登录单元通过账户信息判断用户是学生用户或老师用户,若登录单元判定登录账户信息为学生用户,则连接代码输入单元进行代码输入,若登录单元判定登录账户信息为老师用户则连接在线评判单元,老师用户可对在线评判单元上对代码进行人工评判。

与现有技术相比,本发明的有益效果是:一种基于OJ的程序设计语言学习训练评价系统与方法,步骤二对每个在线评判的程序加强了过滤条件,步骤三通过查重,尽可能避免或者减少抄袭情况,步骤三去掉了不规范的代码。步骤四生产的报告可对学生的每道试题的完成情况、知识点的掌握情况进行总结和分析,并把分析结果更形象的展示出来,在对某职业院校的使用过程中,提高了学生按规范编写代码的能力,并对接下来的重点学习的内容方向明确。

附图说明

图1为本发明的系统框图;

图2为本发明的方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-2,本发明提供一种基于OJ的程序设计语言学习训练评价系统与方法技术方案:一种基于OJ的程序设计语言学习训练评价系统,包括用户登录单元、代码输入单元、代码查重单元、代码库单元、代码规范性检查单元、在线评判单元和评价报告生成单元;用户登录单元与代码输入单元相连接,用以确认登录人员的身份;代码输入单元与用户登录单元相连接,用以供用户输入代码;代码查重单元与代码输入单相连接,用以对用户输入的代码查重;代码库单元与代码查重单元相连接,用以储存代码数据;代码规范性检查单元与代码查重单元相连接,用以对查重合格后的代码规范性检查;在线评判单元与代码规范性检查单元相连接,用以对对规范性检查合格后的代码在线评判;评价报告生成单元与在线评判单元相连接,用以对在线评判后的代码生产评价报告。一种基于OJ的程序设计语言学习训练评价方法,包括以下步骤:用户通过登录单元登录训练评价系统;学生用户编写完代码,对代码提交至代码输入单元,提交后进行代码查重,代码查重单元将学生用户提交的代码与代码库中代码库单元进行比较,存在相似度在设定值以内的代码文件,则代码查重不通过,提示学生用户在代码输入单元上重新提交代码;代码查重通过后,代码规范性检查单元对代码进行代码规范性检查,代码不符合规范的数量超过设定值,则代码规范性检查不通过,提示学生用户在代码输入单元上重新提交代码;代码规范性检查通过后,OJ程序设计语言对提交的程序进行评判,评判是通过把输入的内容,转化成相对应的语言文件,在安装带有编译环境的服务器中运行此文件,并读取终端显示的运行结果,回显到评判结果上。用户上传的代码都存在代码库单元中,用户每次上传代码都需要与除用户以外的代码进行比对,如果代码库单元中的代码存在与上传代码相似度在规定范围内,则判定上传代码重复。代码规范性检查单元:规范性检查根据事先配置好的检查类别对代码进行检查,不合符数量大于事先设定好的,判定为规范检查不通过。线评判单元依照OJ系统对在线输入的代码进行运行,与测试用例结果比较,不相同则判断在线评判不通过。登录单元通过账户信息判断用户是学生用户或老师用户,若登录单元判定登录账户信息为学生用户,则连接代码输入单元进行代码输入,若登录单元判定登录账户信息为老师用户则连接在线评判单元,老师用户可对在线评判单元上对代码进行人工评判。本发明一种基于OJ的程序设计语言学习训练评价系统对某高校计算机专业学生《Java程序设计语言》课程进行系统的全过程应用,进而得到相应学生学习训练评价情况。代码查重单元、代码规范性检查单元,在线评判单元及评价报告单元。学生用户登陆系统之后,进入训练阶段,根据训练的试题内容编写代码,确定代码编写完成后提交代码,系统会一次对代码进行查重,规范性和在线判题评判,并将结果返回给学生。当所有试题完成之后,系统可以生成评价报告。学生登陆,进入训练系统;按试题要求进行代码编写;编写完代码,对代码提交,提交后进行代码查重,若代码查重不通过,则返回通知学生代码查重没有通过;查重通过后,进行代码规范性检查,若代码规范性检查不通过,则返回通知学生代码规范性检查没有通过;代码规范性检查通过后,OJ程序设计语言对提交的程序进行评判,并将运行结果回显到评判结果上;完成所以试题后,可生成评价报告。

在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

本发明使用到的标准零件均可以从市场上购买,异形件根据说明书的和附图的记载均可以进行订制,各个零件的具体连接方式均采用现有技术中成熟的螺栓、铆钉、焊接等常规手段,机械、零件和设备均采用现有技术中,常规的型号,加上电路连接采用现有技术中常规的连接方式,在此不再详述。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号