CN110928536A - 一种图形化编程作品在线评测装置、系统及方法 - Google Patents
一种图形化编程作品在线评测装置、系统及方法 Download PDFInfo
- Publication number
- CN110928536A CN110928536A CN201911230187.3A CN201911230187A CN110928536A CN 110928536 A CN110928536 A CN 110928536A CN 201911230187 A CN201911230187 A CN 201911230187A CN 110928536 A CN110928536 A CN 110928536A
- Authority
- CN
- China
- Prior art keywords
- graphical programming
- evaluation
- evaluating
- user
- works
- 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.)
- Pending
Links
- 238000011156 evaluation Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000000691 measurement method Methods 0.000 claims abstract description 8
- 238000013515 script Methods 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 4
- 240000007087 Apium graveolens Species 0.000 description 2
- 235000015849 Apium graveolens Dulce Group Nutrition 0.000 description 2
- 235000010591 Appio Nutrition 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/0053—Computers, e.g. programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Electrically Operated Instructional Devices (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种图形化编程作品在线评测装置、系统及方法,评测装置的用户操作前端管理和上传图形化编程作品,接收和显示评测结果;数据处理后端:接收和处理图形化编程作品,对图形化编程作品进行评测,并将评测结果进行保存和返回用户操作前端。图形化编程作品保存为内含抽象语法树的文档格式;根据抽象语法树,对图形化编程作品的计算思维进行评测,采用McCabe度量法对圈复杂度进行评测,采用Halstead度量法对独立bug数、时间花费、工作量、难度、总操作数进行评测。本发明用户在完成编程后能够实时的上传作品评测,方便查看和管理用户情况,发现编程易错点,有针对性的教学,提高用户编程能力。
Description
技术领域
本发明涉及图形化编程领域,具体涉及一种图形化编程作品的评测装置、系统及方法。
背景技术
随着对人工智能的大力发展,计算机编程作为其内容重要的一环,己经开始逐步走进学校课程,学习图形化编程语言成为信息技术的课程的一部分。但是,如何评定图形化编程作品在计算思维概念中的表现,如何利用编程语言发展学生的计算思维能力,对教学者来说尚有一定的难度。
发明内容
为解决上述问题,本发明提供一种图形化编程作品在线评测装置、系统及方法,自动对图形化编程作品进行评测,协助教学工作。
本发明的技术方案是:一种图形化编程作品在线评测装置,包括:
用户操作前端:管理和上传图形化编程作品,接收和显示评测结果;
数据处理后端:接收和处理图形化编程作品,对图形化编程作品进行评测,并将评测结果进行保存和返回用户操作前端。
进一步地,所述数据处理后端包括:
服务器:采用spring框架接收和处理图形化编程作品,对图形化编程作品进行评测,并将评测结果返回用户操作前端;
数据库:对评测结果进行保存。
进一步地,服务器使用rabbitmq作为消息队列。
进一步地,用户操作前端管理和上传用户相关数据;数据处理后端保存用户相关数据。
本发明的技术方案还包括一种图形化编程作品在线评测系统,配置于用户操作前端,包括:
作品管理模块,对图形化编程作品进行删除、下载和修改操作;
作品上传与评测模块,对图形化编程作品进行上传操作;
评测结果展示模块,获取并展示图形化编程作品评测结果;
注册登录模块,用户注册登录操作;
用户管理模块,对用户信息进行修改、添加、修改密码操作。
本发明的技术方案还包括一种图形化编程作品在线评测方法,运行于数据处理后端,包括:
图形化编程作品保存为内含抽象语法树的文档格式;
根据抽象语法树,对图形化编程作品的计算思维进行评测,采用McCabe度量法对圈复杂度进行评测,采用Halstead度量法对独立bug数、时间花费、工作量、难度、总操作数进行评测。
进一步地,对计算思维进行评测包括抽象和问题解决、并行、逻辑、流控制、用户交互性、数据表示、同步七个维度的评测。
进一步地,
对抽象和问题解决的评测包括:检测使用脚本数量和角色数量,是否使用过程,是否使用克隆或者使用队列;
对并行的评测包括:检测是否点击绿色旗帜执行两条命令,是否点击一个角色执行两条指令,是否使用广播接收使得两段脚本同时执行;
对逻辑思维的评测包括:检测是否使用if块,是否使用if-else块,是否使用逻辑运算或使用递归;
对同步性的评测包括:检测是否等待,是否使用广播,当收到消息时是否停止所有、停止程序或停止角色执行块;是否使用等待直到背景改变,是否使用广播并等待;
对顺序控制的评测包括:检测是否使用顺序指令块,是否重复无线循环,是否使用Until循环;
对用户交互的评测包括:检测是否点击绿色旗帜,是否按键点击角色,是否询问和等待,是否使用鼠标指令块,是否使用摄像头或麦克风;
对数据表示的评测包括:检测对应角色属性,是否使用变量,是否使用列表。
进一步地,对抽象和问题解决评测的是否使用队列具体包括:
遍历抽象语法树过程,检查各块中是否包含使用插入到列表尾部和从列表头部删除,若是则说明使用了队列。
进一步地,对逻辑思维评测的是否使用递归具体包括:
判断是否使有同一个自定义的Blocks的调用,若是则说明使用了递归。
本发明提供的图形化编程作品在线评测装置、系统及方法,结合用户使用图形化编程平台的实际需要,搭建图形化编程作品在线评测系统,用户在完成编程后能够实时的上传作品评测,方便查看和管理用户情况,发现编程易错点,有针对性的教学,提高用户编程能力。
附图说明
图1是本发明具体实施例一系统框架图。
图2是本发明具体实施例二系统结构示意框图。
图3是本发明具体实施例三方法流程示意图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
实施例一
如图1所示,本发明结合用户使用图形化编程平台的实际需要,对图形化编程平台进行修改和进一步扩展,使其可以调用网站登录、上传作品、下载作品服务等基础服务API。将修改后的项目源代码进行编译,生成修改后的pi文件,再将pi文件由特定的JS播放器在HTML中进行展示,最终为学生提供在一个界面美观、功能齐全的在线版编程平台。
具体地,本实施例提供一种图形化编程作品在线评测装置,包括用户操作前端和数据处理后端。
用户操作前端:管理和上传图形化编程作品,接收和显示评测结果。数据处理后端:接收和处理图形化编程作品,对图形化编程作品进行评测,并将评测结果进行保存和返回用户操作前端。
其中,数据处理后端包括服务器和数据库。服务器采用spring框架接收和处理图形化编程作品,对图形化编程作品进行评测,并将评测结果返回用户操作前端。数据库对评测结果进行保存。
另外考虑到作品上传和提交会集中到某一时段,突发性高,并发量大,因此服务器使用rabbitmq作为消息队列,结合分布式任务队列框架Celery对图形化编程作品进行异步评测。用户在上传作品后,并非传统同步阻塞的方式调用评测工具立即进行评测,而是将该作品的地址传入消息队列,Celery框架能够自动从消息队列取出文件地址评测,待评测结束后,再将评测结果再存入数据库。经过测试,异步评测的设计可以承受较大的并发量,能够应付短时间内突发的评测请求。
本实施例中,用户操作前端还管理和上传用户相关数据;数据处理后端还保存用户相关数据。可实现用户信息的高效便捷管理。
需要说明的是,服务器采用Nginx服务器,数据库为MySQL数据库。该架构业务逻辑层中主要包括与用户相关、作品相关、教师管理相关等页面的逻辑和系统所需API的逻辑处理;数据存取层(Model)层与数据库对接,负责处理与数据相关的功能。系统使用MySQL数据库存储系统系统和用户的各类数据。表现层基于React、HTML5、CSS和Javascript,负责如何把页面展示给用户。
实施例二
如图2所示,本实施例提供一种图形化编程作品在线评测系统,配置于用户操作前端,根据具体功能的不同,分为五个模块:作品管理模块、作品上传与评测模块、注册登录模块、评测结果展示模块和用户管理模块。
作品管理模块负责对图形化编程作品进行删除、下载和修改操作;作品上传与评测模块负责对图形化编程作品进行上传操作;评测结果展示模块负责获取并展示图形化编程作品评测结果;注册登录模块负责用户注册登录操作;用户管理模块负责对用户信息进行修改、添加、修改密码操作。其中,以班级学生为例,用户管理模块为教师设计,可进行班级信息的修改、添加学生、修改学生信息、修改学生密码。
需要说明的是,用户信息和评测结果保存在数据库,以学生为例,数据库中可保存有学生信息表、班级信息表、教师信息表、作品信息表、评测结果信息表。
实施例三
如图3所示,本实施例提供一种图形化编程作品在线评测方法,运行于数据处理后端,实现对图形化编程作品的评测。
包括以下步骤:
S1,图形化编程作品保存为内含抽象语法树的文档格式;
S2,根据抽象语法树,对图形化编程作品的计算思维进行评测,采用McCabe度量法对圈复杂度进行评测,采用Halstead度量法对独立bug数、时间花费、工作量、难度、总操作数进行评测。
需要说明的是,计算思维是指人类利用计算机的方法和模型求解问题的能力。本实施例对对计算思维进行评测包括抽象和问题解决、并行、逻辑、流控制、用户交互性、数据表示、同步七个维度的评测。根据作品在这些维度的表现,获得各自不同的得分,最终各个维度的得分相加求和得出该作品的总得分。为细化各维度的评判标准、增加评分的准确性,在各维度设定不同能力等级,如下表所示;
表1各维度能力等级评价表
因此,本实施例中对抽象和问题解决的评测包括:检测使用脚本数量和角色数量,是否使用过程,是否使用克隆或者使用队列。对并行的评测包括:检测是否点击绿色旗帜执行两条命令,是否点击一个角色执行两条指令,是否使用广播接收使得两段脚本同时执行。对逻辑思维的评测包括:检测是否使用if块,是否使用if-else块,是否使用逻辑运算或使用递归。对同步性的评测包括:检测是否等待,是否使用广播,当收到消息时是否停止所有、停止程序或停止角色执行块;是否使用等待直到背景改变,是否使用广播并等待。对顺序控制的评测包括:检测是否使用顺序指令快,是否重复无线循环,是否使用Until循环。对用户交互的评测包括:检测是否点击绿色旗帜,是否按键点击角色,是否询问和等待,是否使用鼠标指令块,是否使用摄像头或麦克风。对数据表示的评测包括:检测对应角色属性,是否使用变量,是否使用列表。
每个操作对应一种接口或一种命令,检测对应的接口或命令即可对各维度进行检测。
如根据队列的概念,当程序中一个列表使用插入到列表尾部或者从列表头部删除等操作,即判断使用了队列。因此对抽象和问题解决评测的是否使用队列具体包括:遍历抽象语法树过程,检查各块中是否包含使用插入到列表尾部和从列表头部删除,若是则说明使用了队列。
判断程序中是否使用列表的算法中append_to_list、in_sert_to_list、delete_of_list和root分别表示分别表示将元素加到列表末尾、插入元素到列表的某个位置、删除在某个位置的元素和AST根的语法规则。布尔类型变量if_ust_stk_or_Q、集合list_set分别表示判断的结果和己经执行过插入到尾部的列表结合。在遍历抽象语法树过程中,检查各个块中填写的参数内容,根据他们的值,更新集合list_set和结果if_use_stk_or_Q。如果包含append_to_list、in_sert_to_list或delete_of_list,更新if_use_stk_or_Q的值。如果输出值if_use_stk_or_Q为真,则说明该作品中使用到列表,根据评分表,可以在数据表示维度获得最高分3分。
对逻辑思维评测的是否使用递归具体包括:判断是否使有同一个自定义的Blocks的调用,若是则说明使用了递归。具体的,procedure_def、call和root分别表示定义一个过程、调用过程和AST根的语法规则。使用变量if_use_recursion、procname和callname表示判断的结果、过程名和调用函数中的名称。如果输出值if_use_recursion为真,则说明该作品中使用到了递归,根据评分表,可以在逻辑思维这一维度可以得到最高分3分。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (10)
1.一种图形化编程作品在线评测装置,其特征在于,包括:
用户操作前端:管理和上传图形化编程作品,接收和显示评测结果;
数据处理后端:接收和处理图形化编程作品,对图形化编程作品进行评测,并将评测结果进行保存和返回用户操作前端。
2.根据权利要求1所述的图形化编程作品在线评测装置,其特征在于,所述数据处理后端包括:
服务器:采用spring框架接收和处理图形化编程作品,对图形化编程作品进行评测,并将评测结果返回用户操作前端;
数据库:对评测结果进行保存。
3.根据权利要求2所述的图形化编程作品在线评测装置,其特征在于,服务器使用rabbitmq作为消息队列。
4.根据权利要求2或3所述的图形化编程作品在线评测装置,其特征在于,用户操作前端管理和上传用户相关数据;数据处理后端保存用户相关数据。
5.一种图形化编程作品在线评测系统,其特征在于,配置于用户操作前端,包括:
作品管理模块,对图形化编程作品进行删除、下载和修改操作;
作品上传与评测模块,对图形化编程作品进行上传操作;
评测结果展示模块,获取并展示图形化编程作品评测结果;
注册登录模块,用户注册登录操作;
用户管理模块,对用户信息进行修改、添加、修改密码操作。
6.一种图形化编程作品在线评测方法,其特征在于,运行于数据处理后端,包括:
图形化编程作品保存为内含抽象语法树的文档格式;
根据抽象语法树,对图形化编程作品的计算思维进行评测,采用McCabe度量法对圈复杂度进行评测,采用Halstead度量法对独立bug数、时间花费、工作量、难度、总操作数进行评测。
7.根据权利要求6所述的图形化编程作品在线评测方法,其特征在于,对计算思维进行评测包括抽象和问题解决、并行、逻辑、流控制、用户交互性、数据表示、同步七个维度的评测。
8.根据权利要求7所述的图形化编程作品在线评测装置,其特征在于,
对抽象和问题解决的评测包括:检测使用脚本数量和角色数量,是否使用过程,是否使用克隆或者使用队列;
对并行的评测包括:检测是否点击绿色旗帜执行两条命令,是否点击一个角色执行两条指令,是否使用广播接收使得两段脚本同时执行;
对逻辑思维的评测包括:检测是否使用if块,是否使用if-else块,是否使用逻辑运算或使用递归;
对同步性的评测包括:检测是否等待,是否使用广播,当收到消息时是否停止所有、停止程序或停止角色执行块;是否使用等待直到背景改变,是否使用广播并等待;
对顺序控制的评测包括:检测是否使用顺序指令块,是否重复无线循环,是否使用Until循环;
对用户交互的评测包括:检测是否点击绿色旗帜,是否按键点击角色,是否询问和等待,是否使用鼠标指令块,是否使用摄像头或麦克风;
对数据表示的评测包括:检测对应角色属性,是否使用变量,是否使用列表。
9.根据权利要求8所述的图形化编程作品在线评测方法,其特征在于,对抽象和问题解决评测的是否使用队列具体包括:
遍历抽象语法树过程,检查各块中是否包含使用插入到列表尾部和从列表头部删除,若是则说明使用了队列。
10.根据权利要求8所述的图形化编程作品在线评测方法,其特征在于,对逻辑思维评测的是否使用递归具体包括:
判断是否使有同一个自定义的Blocks的调用,若是则说明使用了递归。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911230187.3A CN110928536A (zh) | 2019-12-04 | 2019-12-04 | 一种图形化编程作品在线评测装置、系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911230187.3A CN110928536A (zh) | 2019-12-04 | 2019-12-04 | 一种图形化编程作品在线评测装置、系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110928536A true CN110928536A (zh) | 2020-03-27 |
Family
ID=69856832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911230187.3A Pending CN110928536A (zh) | 2019-12-04 | 2019-12-04 | 一种图形化编程作品在线评测装置、系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928536A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930636A (zh) * | 2020-09-21 | 2020-11-13 | 北京易真学思教育科技有限公司 | 图形编程作品检查方法、装置、系统、设备及存储介质 |
CN113220286A (zh) * | 2021-04-27 | 2021-08-06 | 浙大城市学院 | 一种图形化编程作品的评测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080254438A1 (en) * | 2007-04-12 | 2008-10-16 | Microsoft Corporation | Administrator guide to student activity for use in a computerized learning environment |
CN102594617A (zh) * | 2012-01-12 | 2012-07-18 | 易云捷讯科技(北京)有限公司 | 用于对云计算服务进行评测的系统及评测方法 |
CN109871322A (zh) * | 2019-01-28 | 2019-06-11 | 华南理工大学 | 一种基于机器学习的程序题自动评分方法 |
-
2019
- 2019-12-04 CN CN201911230187.3A patent/CN110928536A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080254438A1 (en) * | 2007-04-12 | 2008-10-16 | Microsoft Corporation | Administrator guide to student activity for use in a computerized learning environment |
CN102594617A (zh) * | 2012-01-12 | 2012-07-18 | 易云捷讯科技(北京)有限公司 | 用于对云计算服务进行评测的系统及评测方法 |
CN109871322A (zh) * | 2019-01-28 | 2019-06-11 | 华南理工大学 | 一种基于机器学习的程序题自动评分方法 |
Non-Patent Citations (1)
Title |
---|
詹皇彬: "基于Spring Boot的源代码在线评测系统的设计与实现", 《万方数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930636A (zh) * | 2020-09-21 | 2020-11-13 | 北京易真学思教育科技有限公司 | 图形编程作品检查方法、装置、系统、设备及存储介质 |
CN111930636B (zh) * | 2020-09-21 | 2021-01-08 | 北京易真学思教育科技有限公司 | 图形编程作品检查方法、装置、系统、设备及存储介质 |
CN113220286A (zh) * | 2021-04-27 | 2021-08-06 | 浙大城市学院 | 一种图形化编程作品的评测方法 |
CN113220286B (zh) * | 2021-04-27 | 2022-04-19 | 浙大城市学院 | 一种图形化编程作品的评测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102443654B1 (ko) | 소스 코드에서 작동하는 소프트웨어 도구를 위한 기계 학습 모델 자동 생성 | |
US10162612B2 (en) | Method and apparatus for inventory analysis | |
EP3433732B1 (en) | Converting visual diagrams into code | |
US10942922B2 (en) | Generation of data flow from syntax tree | |
US10515001B2 (en) | System and method for automating testing of software applications | |
US10642720B2 (en) | Test case generator built into data-integration workflow editor | |
US20200201689A1 (en) | System and method for determining a process flow of a software application and for automatically generating application testing code | |
JP2005527859A (ja) | スキルベースのテストおよびトレーニングのための方法およびシステム | |
US10114619B2 (en) | Integrated development environment with multiple editors | |
US20160111018A1 (en) | Method and system for facilitating learning of a programming language | |
US9507751B2 (en) | Managing seed data | |
CN111949307B (zh) | 一种开源项目知识图谱的优化方法和系统 | |
US20200357301A1 (en) | Interactive Learning Tool | |
US11636778B2 (en) | Correction of software coding projects | |
CN107506190A (zh) | 基于Spring框架的XML文件修改方法及装置 | |
CN110928536A (zh) | 一种图形化编程作品在线评测装置、系统及方法 | |
CN111831277B (zh) | 虚拟数据生成方法、系统、设备及计算机可读存储介质 | |
JP5342407B2 (ja) | プログラム解析方法、プログラム解析プログラムおよびプログラム解析装置 | |
TWI798514B (zh) | 人工智慧輔助擴增實境系統與方法、電腦程式產品 | |
CN116432573A (zh) | 性能仿真方法及电子设备和存储介质 | |
US20140282376A1 (en) | Tailored language sets for business level scripting | |
Johansen | Test-driven JavaScript development | |
CN114489621A (zh) | 一种实验展示方法、装置、电子设备及存储介质 | |
Duldulao | ASP. NET Core and Vue. js: Build real-world, scalable, full-stack applications using Vue. js 3, TypeScript,. NET 5, and Azure | |
Vilhunen | User interface test automation for an Android application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200327 |