CN110928536A - 一种图形化编程作品在线评测装置、系统及方法 - Google Patents

一种图形化编程作品在线评测装置、系统及方法 Download PDF

Info

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
Application number
CN201911230187.3A
Other languages
English (en)
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.)
Shandong Providence Education Technology Co Ltd
Original Assignee
Shandong Providence Education Technology Co Ltd
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 Shandong Providence Education Technology Co Ltd filed Critical Shandong Providence Education Technology Co Ltd
Priority to CN201911230187.3A priority Critical patent/CN110928536A/zh
Publication of CN110928536A publication Critical patent/CN110928536A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, 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各维度能力等级评价表
Figure BDA0002303327490000061
因此,本实施例中对抽象和问题解决的评测包括:检测使用脚本数量和角色数量,是否使用过程,是否使用克隆或者使用队列。对并行的评测包括:检测是否点击绿色旗帜执行两条命令,是否点击一个角色执行两条指令,是否使用广播接收使得两段脚本同时执行。对逻辑思维的评测包括:检测是否使用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的调用,若是则说明使用了递归。
CN201911230187.3A 2019-12-04 2019-12-04 一种图形化编程作品在线评测装置、系统及方法 Pending CN110928536A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 华南理工大学 一种基于机器学习的程序题自动评分方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
詹皇彬: "基于Spring Boot的源代码在线评测系统的设计与实现", 《万方数据库》 *

Cited By (4)

* Cited by examiner, † Cited by third party
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