一种绘图编程类考题自动测评方法技术

技术编号:28465851 阅读:9 留言:0更新日期:2021-05-15 21:31
本发明专利技术涉及一种绘图编程类考题自动评测方式,包括:S1:通过命令行参数的形式获取待评测代码、考题答案、得分权重和及格分数线;S2:在Python环境中标记评测点;S3:在标记后的环境运行评测代码,得到标记的数据,并处理数据,生成用户答案;S4:将用户答案与标准答案比较,并根据权重和分数,计算出用户的得分。计算出用户的得分。计算出用户的得分。

【技术实现步骤摘要】
一种绘图编程类考题自动测评方法


[0001]本专利技术涉及编程教育领域,具体为绘图编程类考题自动测评方法。

技术介绍

[0002]随着人工智能的逐渐兴起,编程已经被推到了风口浪尖之上,全世界都在推动编程教育行业的发展,少儿编程的关注度也在持续走高。信息技术作为高考选考科目之一,率先加入了编程内容。学习编程不再只是单纯培养兴趣爱好,更是作为一门升学的学科来学习。
[0003]虽然众多中小学校已经引入的编程教学,但是目前学校对于编程类考题的测评都以老师人工批改为主,评分时的人为情绪等原因造成评分的偏差,这些对于学生都是不公平的。此外,老师在评判学生的编程题作业时,需要拷贝程序、运行程序,拿到生成的图片之后,再对比标准答案(图片)后才能给出分数,工作量大,且费时耗力,也不能24小时全天工作,无法满足任意时间点出现的评测需求。
[0004]综上,本专利技术设计出一种绘图编程类考题自动测评方法,对于减少编程教师的工作量,提升编程考试评分的公平性,具有十分重要的作用。

技术实现思路

[0005]本专利技术所要解决的技术问题是如何实现对绘图编程类考题的自动测评。
[0006]为达到此目的,本专利技术提出了一种绘图编程类考题自动测评方法,包括以下步骤:S1:通过命令行参数的形式获取待评测代码、考题答案、得分权重和及格分数线;S2:在Python环境中标记评测点;S3:根据所述测试用例的输入,运行所述待测评代码,得到所述待测评代码的输出结果;S4:将所述待测评代码的输出结果与所述测试用例期望的所述输出进行匹配,并根据所述测试用例的权重和分数,计算所述待测评代码的得分。
[0007]优选地,所述步骤S1还包括:2.判断所述待测评代码内是否包含被禁止的第三方库,如果包含被禁止的第三方库,如os和sys,则停止所述待测评代码的运行。
[0008]优选地,所述步骤S1还包括:检查考题答案、得分权重和及格分数线等参数是否满足格式要求,满足则继续往下执行,不满足则返回错误信息。
[0009]S301:开始运行评测代码;S302:通过子程序接收返回的数据;S303:提取数据中标记的数据,并存储;S304:等待程序运行结束;S305:将存储的标记的数据解析,构建成用户答案;S402:将用户答案与标准答案比较,记录每个知识点的得分和失分以及失分的原因;
S401:将用户答案与标准答案比较,并根据权重和分数,计算出用户的得分;S402:将得分与及格分数线比较,如果得分大于及格分数线,则评测通过,返回得分,如果得分小于及格分数线,则评测不通过,返回得分和失分提示。
[0010]系统包括接收单元、解析单元、运行单元和比较单元:所述接收单元用于从cmd命令行参数中获取待评测代码、考题答案、得分权重和及格分数线等参数;所述解析单元用于解析和校验待评测代码、考题答案、得分权重和及格分数线等参数;所述运行单元用于运行所述待测评代码,得到所述待测评代码的输出结果,并构建用户答案;所述比较单元用于将所述待测评代码的用户答案与标准答案进行匹配,并根据所述测试用例的权重和分数,计算所述待测评代码的得分;所述比较单元还用于将所述的评测结果返回给所诉命令行,便于调用系统接收评测结果。
[0011]通过采用本专利技术所提供的绘图编程类考题自动测评方法:,可以为在线教育平台学习计算机程序设计Python课程提供运行程序的环境;可以根据老师设置的程序用例,实时地、自动地评判程序的正确性,并返回相应的分数和失分信息;能够有效解决老师对学生提交编程题作业的繁琐验证、不能有效客观给分、不能给出运行出错的帮助信息、不能给出程序参考代码等问题,从而更好地为编程语言类课程提供服务。
附图说明
[0012]通过参考附图会更加清楚的理解本专利技术的特征和优点,附图是示意性的而不应理解为对本专利技术进行任何限制,在附图中:图1示出了本专利技术绘图编程类考题自动测评方法的流程示意图。
具体实施方式
[0013]下面将结合附图对本专利技术的实施例进行详细描述。
[0014]实施例1:如图1所示,本专利技术提供了一种绘图编程类考题自动测评方法,包括以下步骤:直接拷贝项目代码到linux系统中;通过cmd命令行调用本系统的API,运行评测代码;通过cmd命令行调用本系统的API,获取评测得分;通过cmd命令行调用本系统的API,获取失分信息;S1:通过命令行参数的形式获取待评测代码、考题答案、得分权重和及格分数线;S2:在Python环境中标记评测点;S3:根据所述测试用例的输入,运行所述待测评代码,得到所述待测评代码的输出结果;S4:将所述待测评代码的输出结果与所述测试用例期望的所述输出进行匹配,并根据所述测试用例的权重和分数,计算所述待测评代码的得分。
[0015]优选地,所述步骤S1还包括:2.判断所述待测评代码内是否包含被禁止的第三方库,如果包含被禁止的第三方库,如os和sys,则停止所述待测评代码的运行。
[0016]优选地,所述步骤S1还包括:检查考题答案、得分权重和及格分数线等参数是否满足格式要求,满足则继续往下执行,不满足则返回错误信息。
[0017]S301:开始运行评测代码;S302:通过子程序接收返回的数据;S303:提取数据中标记的数据,并存储;S304:等待程序运行结束;S305:将存储的标记的数据解析,构建成用户答案;S402:将用户答案与标准答案比较,记录每个知识点的得分和失分以及失分的原因;S401:将用户答案与标准答案比较,并根据权重和分数,计算出用户的得分;S402:将得分与及格分数线比较,如果得分大于及格分数线,则评测通过,返回得分,如果得分小于及格分数线,则评测不通过,返回得分和失分提示。
[0018]系统包括接收单元、解析单元、运行单元和比较单元:所述接收单元用于从cmd命令行参数中获取待评测代码、考题答案、得分权重和及格分数线等参数;所述解析单元用于解析和校验待评测代码、考题答案、得分权重和及格分数线等参数;所述运行单元用于运行所述待测评代码,得到所述待测评代码的输出结果,并构建用户答案;所述比较单元用于将所述待测评代码的用户答案与标准答案进行匹配,并根据所述测试用例的权重和分数,计算所述待测评代码的得分;所述比较单元还用于将所述的评测结果返回给所诉命令行,便于调用系统接收评测结果。
[0019]实施例2:采用实施例1所述的cmd命令行形式的编程类考题自动测评方法,本专利技术还提供了一种Python包导入形式的绘图编程类考题自动测评方式,包括接收单元、解析单元、运行单元和比较单元;系统包括接收单元、解析单元、运行单元和比较单元;所述接收单元用于从cmd命令行参数中获取待评测代码、考题答案、得分权重和及格分数线等参数;所述解析单元用于解析和校验待评测代码、考题答案、得分权重和及格分数线等参数;所述运行单元用于运行所述待测评代码,得到所述待测评代码的输出结果,并构建用户答案;所述比较单元用于将所述待测评代码的用户答案与标准答案进行匹配,并根据所述测试用例的权重和分数,计算所述待测本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种绘图编程类考题自动测评方法,其特征在于,包括以下步骤:S1:通过命令行参数的形式获取待评测代码、考题答案、得分权重和及格分数线;S2:在Python环境中标记评测点;S3:在标记后的环境运行评测代码,得到标记的数据,并处理数据,生成用户答案;S4:将用户答案与标准答案比较,并根据权重和分数,计算出用户的得分。2.根据权利要求1所述的一种绘图编程类考题自动测评方法,其特征在于,所述步骤S1还包括:判断所述待测评代码内是否包含被禁止的第三方库,如果包含被禁止的第三方库,如os和sys,则停止所述待测评代码的运行。3.根据权利要求1所述的一种绘图编程类考题自动测评方法,其特征在于,在步骤S1还包括:检查考题答案、得分权重和及格分数线等参数是否满足格式要求,满足则继续往下执行,不满足则返回错误信息。4.根据权利要求1所述的一种绘图编程类考题自动测评方法,其特征在于,所述步骤S3还包括:运行所述待测评代码,并获取返回结果,如果运行出错则返回出错信息。5.根...

【专利技术属性】
技术研发人员:ꢀ五一IntClG零六F八四一
申请(专利权)人:中森云链成都科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1