[发明专利]一种算法练习代码执行可视化系统有效
申请号: | 202011099534.6 | 申请日: | 2020-10-14 |
公开(公告)号: | CN112133146B | 公开(公告)日: | 2022-05-27 |
发明(设计)人: | 李博学 | 申请(专利权)人: | 天津之以科技有限公司 |
主分类号: | G09B5/08 | 分类号: | G09B5/08;G09B7/00;G06Q50/20;G06F8/30;G06F8/33;G06F8/41;G06F11/36;G06F40/186;G06T13/00 |
代理公司: | 北京久维律师事务所 11582 | 代理人: | 邢江峰 |
地址: | 300000 天津市红桥区小*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 算法 练习 代码 执行 可视化 系统 | ||
本发明提供了一种算法练习代码执行可视化系统,包括后台服务器端、学生端和教师端,所述后台服务器端、学生端和教师端均可以通过数据进行连通传输数据,包括:学生根据教师端指示,选择任意后台服务器端存储的算法,所选择得到的算法在学生端执行可视化演示,所述后台服务器端、学生端和教师端共同协同完成算法练习可视化演示。本发明系能监控执行过程的平台,并且将执行过程变成逐帧动画,学生就能通过动画理解代码执行过程,对比不同的解决方案的不同效果,对于计算机类院系学生学习并理解算法有明显帮助。
技术领域
本发明涉及可视化教育应用技术领域,更具体地说,尤其涉及学生学习使用的一种算法练习代码执行可视化系统。
背景技术
现有技术的学生教育可视化系统中,如在线编程判题网站,核心功能:网站里提供题库,编写代码,将代码上传后在云端执行,执行时输入标准测试数据,等待用户的代码算出答案,将用户代码的答案用来对比标准答案,给用户的代码打分,其利用云端虚拟技术,云端只进行了代码的编译和执行,对比执行结果学生只能看到代码的执行结果,让代码在云端执行时安全可控,不会让云端服务器受恶意代码影响,目的只在意学生代码的执行结果,不在意执行过程,学生无法获得代码执行的过程中,代码在内存中的值;而国外算法可视化网站(如https://www.cs.usfca.edu),学生只能查看算法执行过程,学生不能自己写代码,同时看到自己代码的执行效果。
发明内容
针对现有技术的上述缺陷和问题,本发明提供一种算法练习代码执行可视化系统。
为了达到上述目的,本发明提供如下技术方案:
一种算法练习代码执行可视化系统,包括后台服务器端、学生端和教师端,所述后台服务器端、学生端和教师端均可以通过数据进行连通传输数据,包括:学生根据教师端指示,选择任意后台服务器端存储的算法,所选择得到的算法在学生端执行可视化演示,所述后台服务器端、学生端和教师端共同协同完成算法练习可视化演示。
所述后台服务器端包括调试控制器,完成执行过程追踪,接收学生提交的代码以及定义要在内存中追踪的变量值,检查学生代码对于系统的威胁,限制学生代码执行占用的内存空间,限制执行时间,以调试的方式控制学生代码的执行过程,收集执行过程中的信息,所述调试控制器,基于代码编译调试软件作为基础,编译学生的代码,然后逐步执行,处理执行过程中的意外,根据调试器返回的信息动态设定调试流程;
所述学生端完成每一个算法题目的模拟数据生成方式、学生自定义数据的检查、代码执行过程追踪计划、每一阶段的执行结果显示方案、结果统计方案都是定制代码可储存到云端数据库,在web端执行的时候提取出来执行,题目定制中的显示方案得到的代码放到echarts里出现结果,代码执行中间状态动画过程。解析代码执行结果,渲染成逐帧数据,在echarts里形成逐帧动画,并能够实现动画的开始、暂停、跳帧,执行过程的控制台输出,与动画过程同步进行文字输出,描述学生代码执行过程;
所述教师端可以自己定制新的算法,并加入数据库,查看学生的提交情况,可以给学生布置作业。
上述技术方案中,在后台服务器端,任务队列接收到学生端发来的任务请求,任务请求里除了学生代码还有任务配置,任务配置包括:代码语言、允许占用的最大内存、允许执行的最多时间、需要跟踪的代码内容和追踪方式、回调链接;守护进程将任务分配给空闲的执行管理器。
上述技术方案中,所述执行管理器根据不同的编程语言,选择不同的编译器、调试器、调试管理器、分析器,执行管理器发送指令,完成学生代码的编译,如果发生编译错误,直接将错误信息发送到通知模块,执行管理器将编译好的内容交给调试管理器。
上述技术方案中,所述调试管理器发起调试命令,根据任务配置中要追踪的代码内容决定程序断点,然后开始执行,执行过程中,调试管理器通过调试器的返回内容识别出程序中断状态,将中断之前调试器反馈的信息提交给分析器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津之以科技有限公司,未经天津之以科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011099534.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种预测髌股关节疼痛综合征发病风险的方法
- 下一篇:在线焊接机