CN103197929B - 一种面向儿童的图形化编程***和方法 - Google Patents
一种面向儿童的图形化编程***和方法 Download PDFInfo
- Publication number
- CN103197929B CN103197929B CN201310097617.5A CN201310097617A CN103197929B CN 103197929 B CN103197929 B CN 103197929B CN 201310097617 A CN201310097617 A CN 201310097617A CN 103197929 B CN103197929 B CN 103197929B
- Authority
- CN
- China
- Prior art keywords
- block
- programming
- programming block
- graphic programming
- scene
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种面向儿童的图形化编程***和方法。本***包括一操作和显示环境,用于布置场景及其角色,对每个场景的背景和角色进行编程,以及显示编程序列和编程效果;一***资源库;一作品库用于存储创作当中的作品或创作完成的作品;一图形化编程块存储区,包括用于编程的各种图形化编程块;一映射模块,用于建立图形化编程块与其逻辑功能之间的映射关系;一图形化编程的语法规则库,设定图形化编程块之间的拼接或内嵌规则;一图形化代码解析模块,用于根据映射模块将当前作品中的图形化编程块队列对应的图形化程序转化成计算机可执行的代码,以及编程时根据语法规则库对图形化程序进行检查。本发明能帮助儿童快速掌握基本使用,易学易用。
Description
技术领域
本发明属于人机交互领域,具体涉及到一种儿童图形化编程***和方法。
背景技术
随着软件行业的飞速发展,计算机编程已经不再是IT专业人员的工作,而是各行各业的终端用户用来实现各自领域目标的工具。针对儿童这一特殊群体,科学技术的发展使得他们有更多机会接触和使用电脑,而随着儿童使用计算设备的深入,现有软件已不能满足需求,他们希望自己也能创作作品。学习编程不仅对儿童的数学和科学知识方面有帮助,而且对于语言、创造力和社会交流等方面都能有积极和重要的作用。此外,从培养儿童计算思维的角度来讲,学习编程也具有其重要价值。计算思维的概念最早源自Papert的建构主义,近年来由CMU计算机科学系主任周以真教授大力倡导,得到美国教育界的支持,并引起国内外科学家的广泛关注。周教授把计算思维提升到与“读、写、算”同等重要的高度,成为适合于每一个人的“一种普遍的认识和一类普适的技能”。而学习计算机编程则是培养计算思维能力的一种有效方式。但传统的基于文本和符号的编程语言,让儿童理解起来异常困难,同时基于鼠标交互的编程工具也使得儿童难以操作和使用。大量的研究成果表明,图形化编程作为一种自然的编程方式,是儿童编程的一种可行途径。它将各种编程的概念转化为显示在屏幕上的各种图形,儿童只需按照形象化的规则拼接各种图形块,就可以完成编程的过程。
由MIT多媒体实验室开发的Scratch是目前图形化编程***的代表,其面向8到16岁的用户,以制作游戏、动画等作品为应用背景。Scratch将编程语句封装成有沟槽的图形块,用不同的颜色来区分不同类型的编程块,方便儿童识别和查找。但这些编程块的形状本身没有语义信息,功能和参数也都是纯文本显示,儿童只能靠理解文字含义来判别编程块的功能。其次,Scratch把传统文本程序命令细化到每个编程块中,这虽然提高了***可实现程序的复杂度,但也使得其编程块数量多、尺寸小,这不利于儿童点选、拖放和修改参数等。此外,Scratch中没有明显的多场景概念,需要复杂的编程块组合才能实现类似场景转换的效果,这对大部分儿童来说是比较困难的。Scratch提供的运行时反馈是逐个高亮编程块,这种形式欠缺程序“流”的概念,对儿童来说生动性也不足。另一方面,国内这方面的研究还很少,大多数针对中国儿童的图形化编程软件均源于国外软件的汉化版本,没有充分考虑地域文化的特点。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种面向儿童的图形化编程***和方法,本发明采用笔(或鼠标)交互方式,利用图形化编程方法实现多场景的编程创作。用户可以自由增删场景,为每个场景更换背景、增删角色,通过拖放图形化编程块为场景编写程序,控制场景的转换和其中角色的运动等,并利用录音和绘图等多媒体资源制作功能来添加和修改素材,丰富编程的内容,从而实现自由的编程创作。
本发明通过结合笔(或鼠标)交互方式和图形化编程方法的优势,设计合适的儿童用户界面,提供一个交互自然、直观形象的图形化编程***,支持儿童在生动的创作空间中,充分利用图形隐喻和丰富的素材资源,简单方便地创作动画、故事或游戏,并从中学习简单的编程概念。
为实现上述目的,本项发明的技术方案为:
一种面向儿童的图形化编程***,其包括:
1)图形化编程的操作和显示环境,包括若干区域,包括舞台区(显示场景的背景和其中的角色),资源区(显示背景和角色素材,提供绘图和录音功能),编程对象区(显示场景缩略图列表和选中某个场景缩略图时,其包含的所有角色的缩略图列表),编程区(显示当前选中场景的背景带有的脚本程序或场景中某角色所带有的脚本程序;也是拖放编程块进行编程的区域)和编程块区(以标签页形式显示每一类图形化编程块);预置了背景、角色和音频素材资源,存储在***资源库中,用于布置场景及其角色。用户使用笔(或鼠标)来拖放图形化编程块,对每个场景的背景和角色进行编程,控制场景转换和角色动作等。图形化的程序脚本通过***内部的代码解析模块转换成机器可执行的函数命令,并在程序运行时调用执行,***实时更新显示每次执行的结果,在舞台中呈现连续的效果;
2)设计***内的层级数据结构,存储创作当中的作品。主要层级类关系是:作品是一个类,具有一个属性队列存放其包含的多个场景对象;场景是一个类,具有一个属性变量和属性队列分别用来存放其包含的一个背景和多个角色对象,背景和角色也是类,它们又分别具有一个属性队列,存放其所带有的图形化脚本程序,即图形化编程块对象的序列。当前创作的作品所包含的场景以及每个场景中的角色和背景,会以多行列表的形式显示于界面中的编程对象区。在编程状态下,允许点击编程对象区,并根据笔迹或光标位置判断选中不同的编程对象,从而在舞台区和编程区同步显示被选对象的完整外观和脚本程序;
3)设计图形化编程块的数据结构。按照面向对象的思想,所有编程块类构成了一个树形结构。第一层只有一个根节点,即公共父类(一级父类),定义了所有编程块的基本属性(如坐标、大小、编号)和行为(如构造、初始化、功能接口等函数)。第二层节点为二级父类,它们分别是若干种不同功能编程块的父类(如事件、动作、状态、声音、外形等)。在继承了一级父类基础上,各自新增了一些属性(如事件类编程块的二级父类中有事件***)和行为(如声音类编程块的二级父类中有音频播放函数)。第三层叶子节点是编程块子类,即对应于本发明中所有具有实际功能的编程块。根据每一类编程块的个数不同,从每个二级父类继承出来的子类数也各不相同。例如,继承自动作类编程块父类的子类若有n个,则就有n种具体的动作编程块与之对应(如向左走、跳跃、旋转等)。第三层的所有子类具有各自特有的属性(如向左走编程块子类中有方向属性、走的距离参数)和行为(如各自的功能实现函数、各自所属的语法规则检查函数),其中,所有编程块子类的功能实现函数都有一个共同的接口(从一级父类继承而来)。如此,***在解析和执行这些编程块组成的图形化脚本程序时,可以通过这些编程块子类共同的接口来访问其代表的不同功能;每个编程块包括一自绘制接口函数,用于自我绘制图标功能,也是***在界面中显示这些编程块时,调用它们的自绘制函数的统一入口。
4)构建场景转换图形化编程块来实现场景切换。即在编程块类的树形结构第三层,场景转换编程块子类(继承自二级父类——外形类编程块)中,新增属性变量以保存跳转的目标场景编号、从当前场景带入目标场景中的角色编号等。该编程块的功能实现函数就是根据这些属性变量所记录的编号信息,在作品对象的场景队列中找到要跳转到的目标场景,再从当前场景的角色队列中找到要带入目标场景中的角色,然后更新目标场景的角色列表。因此,当一段图形化脚本程序执行完了场景转换编程块后,舞台区会刷新显示,就能看到所跳转的目标场景中出现了上一个场景中的某些角色。如此,在多个场景的脚本程序最后使用该编程块,并设置好参数,就能实现流畅的多场景问跳转效果;
5)映射模块,建立图形化编程块与其逻辑功能之间的映射关系,用于图形化程序的代码解析。即通过编程块子类所共有的功能接口,遍历一段图形化程序中的所有编程块对象,用对象直接访问各自的功能函数。如此,不需要设计额外的数据结构存储,***在进行图形化代码解析和执行时,也不需要遍历、查找等操作,效率更高;
6)定义图形化编程的语法规则,即图形化编程块之间的拼接(或内嵌)规则,构建成图形编程的语法规则库。这些规则共可划分为六类:(1)事件类编程块拼接规则——约定如何开始一段图形化程序;(2)循环类编程块的拼接规则——约束如何用图形化编程块构建循环条件和循环体;(3)分支控制类编程块的拼接规则——约束如何用图形化编程块构建分支条件和各分支体;(4)变量和算术逻辑运算类编程块的嵌套规则——限制本类编程块可内嵌的其他编程块种类(其中细分为逻辑编程块的嵌套和算术编程块的嵌套);(5)普通编程块的拼接规则——明确正常的顺次拼接过程(包括动作、状态、外形和声音类编程块),其中,对于外形类编程块中的场景转换编程块的特殊规则为:①只有当前作品具有多于1个场景时,才能使用该编程块;②它后面除“结束编程块”以外,不能拼接任何其他编程块;③它可以作为一段程序的最后一个编程块,不强制要求其后面必须是“结束编程块”;(6)特殊编程块的拼接或嵌套规则——特别说明这些编程块的拼接或内嵌约束不同于其他任何类别编程块(如角色之间的距离编程块、边缘碰撞编程块和结束编程块)。每一种规则中包括若干条具体的拼接(或内嵌)规则,如事件类编程块的拼接规则有:①所有事件类编程块都必须放在一段程序的最开始位置,即必须首先放上一个事件编程块才能继续后面的编程;②事件类编程块不能拼接在任何其他编程块的后面;又如循环类编程块拼接规则中,关于“n次循环”编程块的拼接规则有:①它可以拼接在除了结束编程块之外的任何其他编程块后面;②循环体内不能嵌入任何分支控制类或其他循环类编程块;
7)设计图形化代码解析模块,把图形化程序转化成计算机可执行的代码。即依次遍历场景的背景对象和其中所有角色对象的图形化编程块队列(也就是它们的图形化程序),将每个编程块对象向上转型成为它们的一级父类对象,进而通过一级父类中定义的公共功能接口访问到每个编程块各自的实际功能函数。在运行状态下,当事件***捕捉到用户的开始事件后,***从图形化代码解析模块中获得每个编程块对应的功能函数接口,从而可以在一个循环中遍历执行所有程序。同时会给出声音、图形和动画等多媒体反馈。
8)设计编程块的图标,用不同的颜色区分类别,并根据具体每个编程块的功能设计能代表其语义的图形符号;同时在图标上统一设计有一个代表连通关系的管道,以使图形块的拼接过程形象化。每一类图形化编程块以标签页的形式显示于界面中的编程块区;
9)预置***素材资源,形成素材库。设计素材自定义接口,通过麦克风获取语音片段或音乐,保存为波形数据;通过记录用户的笔迹信息,处理成背景格式图片,或角色格式图片。
10)定义xml数据结构,存储用户作品,形成作品库。根据***的层级数据结构,用xml标签的形式记录一个完整作品的各项数据;这些文件将用于***的打开功能,即通过读取xml文件中的数据,复原作品现场,并支持对其进行二次编辑或欣赏。
为了简化编程,本发明中动作类编程块、条件循环编程块(属于循环类编程块)和场景转换编程块(属于外形类编程块)的功能封装粒度较大。即其所代表的逻辑功能都是复合功能,把原本需要多条/多段文本代码实现的功能封装到一个图形块中。具体为:(1)每个动作类编程块都具有多个属性变量以记录其功能所需的各种参数,并有可以同时处理这些参数的功能函数,从而实现多种条件组合的复合功能。如“向左、右、上、下走”编程块中有方向和距离参数,在其功能函数中把目标角色的坐标沿着指定方向移动指定的距离(等价于一个控制朝向的编程块和一个控制移动的编程块的组合);又如“跳跃”编程块中只有一个表示高度的参数,其功能函数要完成在短时间内(如1秒内)把目标角色的纵坐标增加一个高度参数的值,然后在同样时间内把目标角色的纵坐标复原到初始值,如此形成一个完整的跳跃过程(等价于在一个循环编程块中嵌入一个向上移动编程块和一个向下移动编程块)。(2)条件循环编程块中有一个属性队列用来存放循环的条件(由可内嵌的编程块组成的编程块序列),另一个队列用来存放循环体(由普通编程块组成的编程块序列)。其功能函数的处理过程是:先解析执行第一个队列里的编程块序列,执行的结果是一个真假值,作为判断是否要解析执行第二个队列中的编程块序列的条件;从而实现了条件性循环的功能(等价于在一个IF/ELSE编程块的第一个分支中嵌入一个循环编程块)。(3)场景转换编程块中有几个属性变量分别存放要跳转的目标场景编号、要带入目标场景中的角色编号等,其功能函数则是从当前作品的场景列表中找到目标场景,通知***下一个要运行的场景对象,然后把需要带入目标场景中的角色对象复制到目标场景的角色队列中。在程序运行时就能自动跳转到指定场景并可选择保留前一个场景中的某些角色,实现连续的场景转换。而在功能封装较小的编程工具中,这样的功能不仅需要一个切换背景编程块、多个隐藏编程块和多个出现编程块,也无法同时把前一场景角色带入下一个场景中。如上,实现同样的效果,只需少量几个图形块的拼接即可,而不需要大量的图形块之间的复杂组合、嵌套等。
考虑到儿童的心理等发展特点,使用鲜明的颜色区分不同类别的图形化编程块,并设计形象的图形符号以表达编程块的功能语义和拼接规则。在程序运行时,设计了水珠流动的效果来形象地表达程序执行流程。***根据程序执行的位置,在每个当前被执行的图形化编程块图标上的管道中,呈现出水珠流动的效果。用户可以从每个编程块上的水珠效果持续时间来了解该编程块的执行速度等信息。水珠的流动效果更形象地接近数据“流”的概念,且其生动性也更符合儿童的喜好。另外,素材资源依照儿童喜好和儿童作品需要来进行预置。
为了方便儿童使用,满足他们不同能力发展水平的需求,***支持语音、笔和鼠标三种交互方式,通过语音交互完成对编程对象的部分行为的控制,如说话、思考等;用笔(或鼠标)来布置场景和编程,完成对场景和角色的增删、角色的拖放、以及图形化编程块的点选、拖放和参数修改等。
考虑到儿童用户的特点,本发明中所有操作都尽量简化,如在设置编程块的参数时,不使用双击,而通过点击特定区域弹出具有“确认/取消”选项的面板供用户操作;点击拖拽操作不使用传统的“移动同时持续按住”的形式,而是“点击粘起-移动-点击放下”。根据具体情况,用户能够自由选择使用笔或鼠标;上述简化的操作不仅适合笔的操作,也可以简化鼠标的使用。
进一步的,针对2)和7)中所述的“编程状态”和“运行状态”,实际上,用户创作作品的过程会涉及三种***状态:编程、调试和运行。***提供切换按钮,方便用户在任何时间按需要进行状态切换。编程状态下,允许用户编辑场景、为背景或角色编写(修改)脚本程序;在调试状态下,***提供单步执行功能,并对程序运行中发现的错误或问题给与反馈,供用户观察以便后续的修改(直接通过切换按钮转到编程状态,即可修改脚本程序);在运行状态下,***自动根据用户触发的开始事件,执行完整的程序,并给出最终的效果反馈。
进一步的,针对7)中所述的程序运行时的多媒体反馈,可概括为三个部分,一是动画反馈,即***在执行经代码解析后获得的计算机可执行代码序列时,实时更新场景的显示,实现连续的动画效果;另外,***在执行图形化脚本程序时还会在每个当前被执行的编程块上显示水珠流动的效果,表示程序正在运行的位置;二是听觉反馈,即在程序执行过程中遇到多媒体相关的编程块命令时,***通过调用机器内部声音组件,给出语音或音乐等声音效果;三是消息提示反馈,即在执行编辑好的程序时,***根据执行前后对语法语义情况的基本智能判断,给出一些消息提示,如预判某个编程块存在的问题或调试中某个编程块失败的原因等。
进一步的,如果用户选择了自己绘制背景和角色,或者录制声音等,***在保存时会把用户创作的素材存储素材库中。在需要时,***会动态读取素材库,用于编程中设置编程块的参数等。
本发明的***框架如图1所示,包括界面交互层、内部处理层和数据资源层。界面交互层是用户与***交互的用户界面,通过语音、笔或鼠标交互的方式进行素材资源的制作、场景的布置和图形化程序的构建。在内部处理层,声音数据通过麦克风、笔迹和指点信息通过笔(或鼠标)输入到***中,它们经过识别理解,交由不同的处理模块进行处理。其中,声音和绘制笔迹形成的图形经过适当的处理,最终保存到素材库中;拖拽笔迹形成编程块的添加操作,完成图形化程序的构建;短暂的划线笔迹被识别成删除等手势;指点操作触发一些功能按钮的响应等。构建完成的图形化程序交由***中的代码解析模块进行图形语句转换,根据预定义的图形化编程块图标和其逻辑功能的映射关系把图形化程序转换成计算机可执行的文本代码,然后在逻辑处理模块中,***主线程调度工作线程来执行文本代码,其中,工作线程只在运行程序时由***主线程调用,负责执行解析后的文本代码,并和***主线程保持通信,实时更新主线程的数据。最后通过多媒体输出模块在界面交互层以声音、图形和动画的方式进行信息输出和效果反馈。在数据资源层中,素材库中包括***预置的背景和角色等资源,以及用户通过自定义功能创作的其他素材资源。场景的布置过程只涉及素材库中的资源;构建图形化程序的过程主要有素材库和规则库的参与。比如在布置场景时需要素材库中的背景和角色资源,在编写脚本程序时,需要规则库中的图形化编程块拼接规则发挥作用,***在识别到拖拽操作时,即判断所拖拽的图形化编程块类型,进而在用户进行编程块拼接时利用相应的规则进行语法检查。最后,用户完成的程序可以保存在作品库中。
本图形化编程***包括:
1.图形化程序的构建、解析处理和运行调试。***预定义一个图形化编程块集,并根据规则库中的拼接规则处理图形化程序的构建和解析,通过预先定义好的图形化编程块与其逻辑功能的映射关系,完成图形化程序到计算机可执行代码序列的转换。最后,调用工作线程执行经过优化后的可执行代码被,把结果输出到图形化用户界面上。程序执行结果主要以声音、图形和动画等多媒体形式输出。
2.数据资源。***资源包括素材、规则和作品。***素材库中存放的是故事、动画或游戏编程中可能需要的各种背景、角色和声音资源。其中,声音资源又分为语音和音乐。这些素材都可以由用户自定义。***提供绘图功能,记录用户绘制的笔迹数据,经过编码等处理,保存到素材库中;同样,***提供录音功能,采集由麦克风输入的语音或音乐数据,经过处理,最终也保存到素材库中。***素材库中的图形资源可用于布置场景和角色,声音资源则主要用于图形化程序构建时的参数输入和声音效果输出。规则库中则存储了预定义的图形化编程块拼接规则,用于处理图形化程序构建过程的语法判断和图形化代码的解析。作品库中保存的是已完成的程序,或者程序半成品,通过***的保存和打开功能可以存取和修改作品库中的数据。
本***是一个支持多场景的图形化编程***。用户可以通过语音和笔(或鼠标)操作与***进行交互。素材库提供了用于场景布置和程序构建所需的各种资源。用户通过***提供的录音和绘图功能自定义声音和图形素材,并将其保存在素材库中。用户通过笔(或鼠标)操作点选背景和角色图片,添加至场景中,并可对场景中的角色进行拖放和删除。然后在编程对象区中选中某个场景或场景中的某个角色,用笔(或鼠标)从编程块区中拖出目标编程块,放到编程区中合适的位置,最终完成面向当前所选中场景的背景或场景内的角色的编程。其中,***利用规则库中的图形化编程语法规则处理图形化编程块的拼接过程。用户编写完成的图形化程序在代码解析过程中被转换成计算机可执行的代码序列,***根据预定义的图形化编程块图标与功能的映射关系找到图形化程序中每个编程块对应的功能代码。所有编辑操作的结果会在舞台区和编程区实时呈现,最终的程序执行结果会以声音、图形和动画的形式进行显示。
与现有技术相比,本发明具有如下的优点和技术效果:
1.编程块功能更强大进而简化了编程过程,更适合目标儿童使用。
本发明中,对图形化编程块的功能封装粒度更大,相比其他类似***,实现同样的功能所需的编程块数量更少,如此简化了编程过程,降低编程复杂度,更符合目标儿童用户的能力发展水平。同时编程块的尺寸也更大,能够清晰的显示带有语义的图标,儿童用笔(或鼠标)点选、拖放等都更加方便。同时,***在帮助功能中提供了视频教程和操作练习的指导动画,能帮助儿童快速掌握基本使用,达到易学易用。
2.多场景设计,更好地支持编程创作。
本发明中,支持用户对多个场景进行创建和编程,并提供“场景转换”编程块控制多个场景之间的跳转,使得多场景的概念更清晰,创作多场景的作品也更简单。现有一些支持多场景创作的儿童图形化编程工具,要求用户使用额外的编程块来控制多个背景的切换以及某些角色的显示和隐藏等才能实现场景的跳转效果,而本发明中编程块的功能封装粒度更大(如“场景跳转”编程块),实现同样的效果可以省去一部分编程块,精简了编程块集,有利于合理布局用户界面,更方便儿童点选和拖放等。支持对多个场景的编程以及场景间的转换,从而能更好地支持儿童创作故事、动画等。特别地,多场景源自于儿童普遍喜爱的故事形式,同时也能丰富其他创作内容,并在一定程度上保证了***的挑战度水平,使之对年龄稍大的儿童都具有吸引力。
3.自由地切换编程、运行和调试状态,便于儿童学习。
本发明中,程序的运行调试阶段并不需要用户完成所有场景或角色的脚本程序,也不要求被运行脚本必须是完整的。这就能让用户自由地在编程和运行调试两个状态间切换,每完成一点编辑,就可以运行起来查看效果是否符合预期,还可以对当前的程序片段进行调试以解决问题。这种编程方式比较符合儿童“反复尝试”的学习模式,在“尝试-查看-修改-尝试……”的过程中,他们不仅可以学习到基本的编程知识,还可以锻炼分析问题解决问题的能力,从长远来看,还能培养他们的逻辑思维等。
4.交互设计更简单便捷,方便儿童的操作和使用。
本发明中,考虑儿童用户的特点和他们不同的能力发展水平,支持笔(或鼠标)操作和***进行交互。一方面,笔较其他交互设备而言,易于控制且自然高效,能更好地体现人们手眼协调的工作技能和思维的连续性,是一种具有熟悉性、便利性的灵活交互方式。另一方面,本发明中所有操作都尽量简化,如“点击粘起-移动-点击放下”的操作设计不仅适合笔的操作,也可以简化鼠标的使用。本发明中的编程主要采用拖拽的方式来拼接图形块,同时使用类似橡皮擦的手势进行删除操作。自然的交互方式使得儿童采用简单的操作就可以完成程序的编写,而不用像传统编程方式那样给儿童带来了认知和操作上的负担,从而使得儿童更加关注于程序的编写和作品的创作上,增加其创作兴趣。
5.多媒体输入输出,丰富了编程内容,使程序运行效果更形象生动。
本发明中,支持声音等多媒体输入输出,一方面丰富了编程创作所需的资源,另一方面也使得效果输出更生动活泼。用户自定义素材资源的功能使得编程过程更加灵活,同时在程序执行效果反馈中,声音和动画结合比一股文字和图形要更加形象,更加有趣。
6.***易于安装,扩展性强。
本发明中,使用了良好的模块化设计,可以很方便的增加新类型的图形化编程块,或者扩展已有类型里具有的编程块数量,***的功能扩展性强;同时通过绘图和录音功能也可以丰富创作素材资源。***不需要任何额外配置或硬件设备,部署安装简单。
附图说明
图1本***架构图;
图2本***的基本流程图。
具体实施方式
为了使本技术领域的技术人员更好的理解,下面结合附图2和实施方式对本交互方法作进一步的详细说明:
本发明的实现流程如图2所示。主要包括编程环境初始化、场景布置、编程与调试、运行和保存四个阶段。以下详细说明各个阶段中各模块的功能:
1.编程环境初始化
此阶段中,启动图形化编程***,显示菜单页面,根据用户选择的创作类型(故事、动画和游戏),***初始化相应的编程环境,即进入编程主界面。此时,资源区以多行列表的形式显示适合相应类型作品的角色和背景;编程块区也显示该类型作品可能需要的编程块。***菜单区提供不同的工具按钮(打开、新建、保存和退出等),用户可以新建一个空作品或打开一个已有作品。以新建作品为例,***以用户输入的名称建立空作品,根据用户的操作创建新场景,在编程对象区的第二行(即场景列表行)中显示一个刚建立的空白场景缩略图,同时初始化舞台和编程区。至此,编程环境的初始化基本完成,等待用户下一步的选择。
2.场景布置
这个阶段主要是布置所选中的场景。对于新建作品的某个空白场景,布置过程主要是添加背景图片和角色,***根据笔(或鼠标)的笔迹判断用户对舞台上角色的拖放和删除等操作。对于打开已有作品的某个场景,布置过程实际就是对场景旧布局的修改,如更换背景,增删角色等。
添加/更换背景的过程是:首先***检测笔(或鼠标)在编程对象区的第二行(场景列表行)上的点击位置,匹配选中的要布置的场景缩略图,***即据此把对应的场景状态设为当前选中,同时用高亮边框显示被选中的该场景缩略图;舞台区同步显示所选中场景的背景和角色等;编程区则根据当前选中的场景同步显示其带有的脚本程序(如果是打开作品的某个场景可能已带有脚本程序)。此时在资源区中,***检测笔(或鼠标)的点击位置,从背景素材列表中匹配目标图片,即可为当前场景添加/更换背景。每次操作都会实时更新到舞台上显示的该场景的背景,并刷新编程对象区中该场景的缩略图。
增加/删除角色的过程是:***同样先判断选中的要布置的场景。添加角色和上述背景操作类似,***根据笔(或鼠标)的点击位置,从资源区的角色素材列表中匹配目标图片,同时会在舞台上显示新增的角色,同样***根据笔迹信息完成对新添角色的位置摆放;对于删除角色,则是用笔(或鼠标)直接在舞台区中目标角色处画一条任意角度线,***根据预设的删除手势判断该操作是否构成删除动作,如果是,则删除掉划线覆盖到的角色。删除场景中的角色时,***会连带删除该角色的脚本程序,同时检查被删角色是否在其他角色的脚本程序中被引用,给用户适当的提示信息,以便同步修改其他角色的脚本。增加/删除角色的过程同样会实时反映到编程对象区的缩略图显示中。
为了保证用户的创作需求得到最大程度的满足,***还提供了用户自定义背景角色和录音的功能。在资源区的标签栏最右端是自定义选项,包括绘制和录音。其中绘制的功能是一个可根据存储类型和***需要自动处理图片格式和大小的画板,该画板一方面提供适当的功能满足儿童绘图的需求,如颜色可选、画笔粗细可调、翻转、放大缩小、撤销重做等,另一方面在保存时会根据用户选择的存储类型(背景或角色)自动处理图片的格式(***要求是背景图片为BMP格式,角色图片为PNG格式),同时尽量在保证图片质量的前提下,限制背景图片的大小不超过1024×768,角色图片的大小不超过100×120。而录音功能则是通过外接一个麦克风设备,采集用户的语音或外部音乐数据。***内部通过发送不同的MCI命令来控制windows媒体设备,完成录制和预览(播放、暂停)等各种功能,并把声音保存为波形数据。上述自定义的图片和声音数据最终会存储到素材库中。
如果一个作品有多个场景,则重复上述布置过程直到达到所需的效果。布置阶段所有操作会在屏幕上进行实时显示,***动态更新舞台区、编程对象区和编程区。
3.编程与调试
***判断用户在编程对象区中的点击位置,确定选中的场景缩略图或进一步选中当前场景的某个角色缩略图,编程区即变为被选场景的背景或被选角色的脚本编辑区。***同时刷新编程块区的显示,把事件编程块列表置于默认显示,引导用户从摆放事件编程块开始进行编程。
编程块区提供了不同颜色的标签以供切换查看不同类别的编程块,并分两列显示每一类别下的编程块列表。每一类编程块的图标颜色和其对应的上述标签颜色一致,但各类别之间彼此不同。编程块图标上统一有一个类似管道的符号,表示编程块之间的拼接连通性。根据故事、动画和游戏创作的基本需求,共设计有九大类编程块,包括事件、动作、状态、外形、声音、变量、算术逻辑运算、分支控制和循环。其中,事件控制类是指在程序运行过程中对接收到事件的处理,包括开始事件、点击事件、键盘事件和消息事件。动作类用于设置角色的基本动作,如跑跳、旋转、移动等。状态类是指当前角色的属性特征,包括显示或隐藏等。外形类用来对角色的外型进行设置,如角色的外形切换、放大缩小等。声音类是对编程作品中的声音的控制,主要有角色说话、背景音乐等。变量和算术运算类用于编程中的各种运算,如加、减、乘、除、大于、小于等。分支控制类有两种:条件判断分支(if-else)和条件循环分支(do-while(true/false))。循环类也有两种:无限循环(while(1))和n次循环(loopuntil(n)<0)。
同时,编程对象区可以处理用户的点击操作,识别点中的场景或场景里角色的缩略图,并把它们设定为当前选中状态,以切换编程区的显示,进而用户就可以对不同场景的背景或其中的角色进行编程。***通过这种自由切换进行多场景和多角色的数据管理。
编程过程中,***根据用户的点击和拖拽操作,把选中的编程块添加进编程区,实时对新拖入的编程块进行语法检查。规则库中的规则存储在XML格式文件中,而在每个编程块子类中都设有对应的访问接口(即编程块子类中的语法规则检查函数)。***通过新增编程块对象调用其语法检查函数,根据编程块编号在规则库的xml文件中定位到相应的条目,从而判断当前添加的编程块是否合法,并给出接受或拒绝添加操作的反馈。例如,一段程序的开始必须是一个事件编程块,否则***拒绝用户拖入的后续其他编程块;根据新拖入的编程块的不同类型,其在已有脚本程序段中合法的拼接或***位置也不同,因此在用户拖曳新增编程块移动的同时,***预先做出判断,并用高亮提示用户,最终由用户决定如何摆放。
编程期间,用户可以随时选择调试按钮,对已完成的程序进行语义检查。此时,***则切换到调试状态。其处理过程是:先根据预定义的图形化编程块图标和功能的映射关系,把图形语句转换成机器可执行的代码,然后启动工作线程,执行解析后的代码程序,同步输出反馈信息。一方面用户根据反馈结果判断是否符合预期,否则,可利用单步调试功能排查错误,最终修正程序。在单步调试中,***同上述处理图形化程序,不同点在于***会控制所调试的程序“逐块”执行,即每一个编程块的功能执行完后会暂停,等待用户点击单步按钮才继续执行下一个编程块。单步调试可以帮助用户观察每个编程块的执行过程和结果,发现更细小的问题。其中,当在程序执行过程中遇到有问题的编程块时,***会根据实现中定义的基本错误类型,找到对应的错误反馈信息(包括提示和问题解释),并在该编程块所在位置处给出简单的提示(高亮显示有问题的编程块,同时以文字形式简单地给出错误原因),以帮助用户快速定位修改点。
对于需要有多个场景,或单个场景有多个角色的编程,则重复上述脚本编程过程直到实现所需的程序效果。编程过程所构建出的脚本程序会在程序运行或调试阶段给出执行效果。
4.程序运行和保存
用户点击运行按钮后,***由编程状态切换到运行状态,锁定舞台区和编程块区(在运行状态不可再编辑场景布局,或添加新的编程块)。同时,启动内部的事件监听机制,等待用户事件的发生,以触发相应的脚本程序。当***拦截到事件消息后,经过处理判断,确定所发生事件的类型。根据事件类编程块所包含的四种事件,***内部共有四种工作线程与之一一对应,***根据***转发过来的事件消息,启动不同的线程,并把当前场景中以所监听到事件为触发条件的所有脚本程序段集中起来,在工作线程中遍历执行。每执行一次,工作线程都会给主线程发送消息,实时刷新舞台区,以动画的形式呈现运行效果,同时***会调用机器声音设备给出语音和音乐反馈。
如果用户完成了编程调试、运行等阶段,可以选择保存作品,***会按照新建作品时用户输入的名称保存当前作品的所有数据(包括作品名、场景角色及其脚本程序)和当前显示的场景状态(即保存现场,包括当前显示的场景的背景和角色,以及角色在舞台上的相对位置、大小等),并存放在***的作品库中。实际上,***工具菜单栏是一直可见的,只要用户需要,就可以随时进行保存。比如在编程过程中,如果用户想要退出到菜单页面,重新选择创作类型或查看教程等,可以随时点击返回按钮,***根据上下文信息处理该返回请求,提示保存或放弃当前作品。如果用户选择放弃,则***在返回菜单页面之前会清空所有用户数据,重新初始化编程环境。保存在***作品库中的用户作品可以通过打开功能复原场景,以便后续的修改完善,欣赏交流等。
综上所述,本发明给出了一种面向儿童的图形化编程方法并据此实现的图形化编程***,充分利用图形表示的优势,把传统意义上的编程简化成图形块拼接的过程,降低了编程门槛。***支持声音交互、笔或鼠标操作方式,提供了丰富的多媒体素材和灵活的素材自定义功能,使编程更具吸引力,激发儿童的创造力和想象力。这种用编程来创作动画、故事或游戏的方式,除了能像传统创作方式那样培养儿童的自我表达能力等,还可以激发他们对计算机编程的兴趣,了解基本的编程概念,培养他们的逻辑思维能力。
Claims (11)
1.一种面向儿童的图形化编程***,其特征在于包括一图形化编程的操作和显示环境、***资源库、作品库、图形化编程块存储区、图形化编程的语法规则库、映射模块、图形化代码解析模块;其中:
所述操作和显示环境,用于布置场景及其角色,对每个场景的背景和角色进行编程,以及显示编程序列和编程效果;
所述***资源库预置了背景、角色和音频素材资源;
所述作品库,用于存储创作当中的作品或创作完成的作品;
所述图形化编程块存储区,包括用于编程的各种图形化编程块;其中,采用树形结构构建所述图形化编程块:树形结构第一层只有一个根节点,即一级父类,定义了所有图形化编程块的基本属性和行为,第二层节点为二级父类,分别是若干种不同功能图形化编程块的父类,在继承了一级父类基础上,各自新增一些属性和行为;第三层叶子节点是图形化编程块子类,即具有实际功能的图形化编程块;
所述映射模块,用于建立图形化编程块与其逻辑功能之间的映射关系;
所述图形化编程的语法规则库,设定图形化编程块之间的拼接或内嵌规则,用于编程时对图形化程序进行检查;
所述图形化代码解析模块,用于根据所述映射模块将当前作品中的图形化编程块队列对应的图形化程序转化成计算机可执行的代码,以及编程时根据所述语法规则库对图形化程序进行检查。
2.如权利要求1所述的***,其特征在于所述作品库采用层级数据结构存储作品,其中,所述层级数据结构为:作品是一个类,具有一个属性队列存放其包含的多个场景对象;每一场景是一个类,具有一个属性变量和属性队列分别用来存放其包含的一个背景和多个角色对象;背景和角色也分别是一个类,各自具有一个属性队列,存放其所带有的图形化脚本程序,即图形化编程块对象的序列。
3.如权利要求1所述的***,其特征在于所有图形化编程块子类的功能实现函数都有一个共同的接口,该接口从一级父类继承而来。
4.如权利要求3所述的***,其特征在于所述图形化代码解析模块通过依次遍历场景的背景对象和其中所有角色对象的图形化编程块队列,将每个图形化编程块对象向上转型成为它们的一级父类对象,然后通过一级父类中定义的共同的接口访问到每个图形化编程块各自的实际功能函数。
5.如权利要求1所述的***,其特征在于所述图形化编程块中包括一场景转换图形化编程块,其继承自二级父类中的外形类图形化编程块,其包括用于保存当前场景跳转至目标场景编号的属性变量a、用于保存从当前场景带入目标场景中的角色编号的属性变量b;所述场景转换图形化编程块的功能实现函数根据属性变量a、b所记录的编号信息在作品对象的场景队列中找到要跳转到的目标场景,再从当前场景的角色队列中找到要带入目标场景中的角色,然后更新目标场景的角色列表。
6.如权利要求5所述的***,其特征在于所述语法规则库包括事件类图形化编程块拼接规则、循环类图形化编程块的拼接规则、分支控制类图形化编程块的拼接规则、变量和算术逻辑运算类图形化编程块的嵌套规则、普通图形化编程块的拼接规则和特殊图形化编程块的拼接或嵌套规则。
7.如权利要求6所述的***,其特征在于所述特殊图形化编程块包括角色之间的距离图形化编程块、边缘碰撞图形化编程块和结束图形化编程块;所述普通图形化编程块包括动作类图形化编程块、状态类图形化编程块、外形类图形化编程块和声音类图形化编程块;所述场景转换图形化编程块的语法规则为:a)只有当前作品具有多个场景时才能使用;b)它后面除结束图形化编程块以外,不能拼接任何其他图形化编程块;c)它可以作为一段程序的最后一个图形化编程块;每个动作类图形化编程块都具有多个属性变量以记录其功能所需的各种参数以及处理这些参数的功能函数;每一条件循环类图形化编程块中有一个属性队列用来存放循环的条件,以及一个用来存放循环体的队列。
8.如权利要求1所述的***,其特征在于所述映射模块通过编程块子类所共有的功能接口,遍历一段图形化程序中的所有编程块对象,用对象直接访问各自的功能函数。
9.如权利要求1至8任一权利要求所述的***,其特征在于所述操作和显示环境包括舞台区、资源区、编程对象区、编程区和编程块区;其中,舞台区用于显示场景的背景和其中的角色,资源区包括显示背景和角色素材,编程对象区用于显示场景缩略图列表及所选场景缩略图包含的所有角色的缩略图列表,编程区用于显示当前选中场景的背景带有的脚本程序或场景中某角色所带有的脚本程序,也是拖放编程块进行编程的区域,编程块区用于以标签页形式显示每一类图形化编程块。
10.如权利要求9所述的***,其特征在于每一所述图形化编程块具有一语义图形符号和一个代表连通关系的管道;每一类图形化编程块以标签页的形式显示于所述编程块区;所述作品库采用xml标签的形式记录一个完整作品的各项数据。
11.一种基于权利要求1所述面向儿童的图形化编程***的图形化编程方法,其步骤为:
1)启动图形化编程***,根据用户选择的创作类型初始化相应的编程环境;
2)从***资源库中选取所需资源布置所选编程环境中的场景;
3)从图形化编程块存储区选取图形化编程块并对场景的脚本程序进行编辑;
4)在步骤3)中所述的脚本程序编辑过程中,图形化代码解析模块根据语法规则库对图形化程序进行检查,如果有误则反馈提示信息;
5)在运行时,图形化代码解析模块根据映射模块将步骤4)检查后的图形化编程块队列对应的图形化程序转化成计算机可执行的代码,并给出反馈;如果需要,则将当前作品保存到作品库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310097617.5A CN103197929B (zh) | 2013-03-25 | 2013-03-25 | 一种面向儿童的图形化编程***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310097617.5A CN103197929B (zh) | 2013-03-25 | 2013-03-25 | 一种面向儿童的图形化编程***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103197929A CN103197929A (zh) | 2013-07-10 |
CN103197929B true CN103197929B (zh) | 2016-03-30 |
Family
ID=48720529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310097617.5A Active CN103197929B (zh) | 2013-03-25 | 2013-03-25 | 一种面向儿童的图形化编程***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103197929B (zh) |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514300A (zh) * | 2013-10-22 | 2014-01-15 | 高从 | 一种视频宣传片剧本生成*** |
IL234911B (en) * | 2014-09-30 | 2018-02-28 | Omri Mark Weil Shlomo | Encapsulation system for programming languages |
CN104503793A (zh) * | 2014-12-24 | 2015-04-08 | 风腾科技(北京)有限公司 | 代码练习软件中代码的运行和图形化的解析方法 |
CN104991640B (zh) * | 2015-06-17 | 2018-03-27 | 施政 | 交互界面上的实物编程***和方法 |
CN106569785B (zh) * | 2015-10-09 | 2021-03-09 | 阿里巴巴集团控股有限公司 | 一种作业表单生成方法及设备 |
CN105511860A (zh) * | 2015-11-30 | 2016-04-20 | 大连文森特软件科技有限公司 | 在线图形化编程*** |
TWI625636B (zh) * | 2016-01-21 | 2018-06-01 | 簡聖霖 | 具有可視化編程功能的控制系統及其方法與內儲具有可視化編程功能的控制程式之電腦程式產品 |
CN105808260A (zh) * | 2016-03-10 | 2016-07-27 | 成都神秘方块科技有限公司 | 一种逻辑节点树状可视化编辑游戏引擎 |
CN105824969A (zh) * | 2016-03-31 | 2016-08-03 | 大连文森特软件科技有限公司 | 基于帧差法对图像进行分解存储的在线图形化游戏制作*** |
CN105868155A (zh) * | 2016-05-11 | 2016-08-17 | 黄芳 | 一种故事生成设备及故事生成方法 |
CN107437350A (zh) * | 2016-05-25 | 2017-12-05 | 杨西同 | 一种儿童学习编程玩具 |
CN107561950B (zh) * | 2016-06-30 | 2020-11-27 | 西门子瑞士有限公司 | 楼宇中控制器的编程方法及提供控制器编程工具的服务器 |
CN106178505A (zh) * | 2016-07-29 | 2016-12-07 | 成都伟嘉斯特科技有限公司 | 一种图形化儿童编程玩具及其方法 |
CN106775683B (zh) * | 2016-11-30 | 2020-06-19 | 华南理工大学 | 一种图形化编程控制与存储*** |
CN106873993A (zh) * | 2017-02-07 | 2017-06-20 | 深圳市北斗智研科技有限公司 | 一种便捷的脚本编辑方法及*** |
CN107180251A (zh) * | 2017-05-10 | 2017-09-19 | 成都优威骐翼教育科技有限公司 | 使用nfc卡编写机器人程序的*** |
EP3474136A4 (en) | 2017-05-16 | 2020-02-12 | Makeblock Co., Ltd. | METHOD AND APPARATUS FOR USE IN CONVERTING PROGRAMMING OF BUILDING BLOCKS INTO PROGRAM CODE |
CN107491478A (zh) * | 2017-07-03 | 2017-12-19 | 广东南方数码科技股份有限公司 | 基于直观流程图的数据处理方法、电子设备及存储介质 |
CN109690473B (zh) * | 2017-09-11 | 2022-04-15 | 深圳配天智能技术研究院有限公司 | 一种图形化编程方法、装置、计算机存储介质及视觉*** |
CN108334355A (zh) * | 2017-09-19 | 2018-07-27 | 济南汇通远德科技有限公司 | 一种数字化工厂基础应用平台 |
CN107886782A (zh) * | 2017-11-15 | 2018-04-06 | 方昆阳 | 一种基于实物积木拼图编程的字符和语音*** |
CN108228153B (zh) * | 2017-12-20 | 2021-02-19 | 中国科学院软件研究所 | 一种面向合作的实物编程方法及*** |
CN108509284A (zh) * | 2018-03-08 | 2018-09-07 | 华南理工大学 | 一种应用于函数式编程的树状模型任务管理*** |
CN108874383A (zh) * | 2018-05-28 | 2018-11-23 | 北京智象物联信息技术有限公司 | 图形编程方法及编程*** |
CN110554863A (zh) * | 2018-05-31 | 2019-12-10 | 宁波科安网信通讯科技有限公司 | 一种类集成电路的图形化编程方法 |
CN108958725B (zh) * | 2018-07-06 | 2022-06-14 | 广州慧通编程教育科技有限公司 | 图形化模式编程平台生成方法、装置及计算机设备 |
CN108924153A (zh) * | 2018-07-23 | 2018-11-30 | 深圳点猫科技有限公司 | 一种在图形化编程工具中的云变量操作方法及电子设备 |
CN109656547A (zh) * | 2018-07-25 | 2019-04-19 | 深圳点猫科技有限公司 | 一种基于图形编程界面显示矩阵的方法以及电子设备 |
CN109308181A (zh) * | 2018-08-23 | 2019-02-05 | 深圳点猫科技有限公司 | 一种便于少儿操作的移动端编程的分屏操作方法及*** |
WO2020047815A1 (en) * | 2018-09-07 | 2020-03-12 | Zheng Shi | System and method for user created object, property, method, or event with physical manipulatives |
CN110908648A (zh) * | 2018-09-17 | 2020-03-24 | 北京龙码科技有限公司 | 一种人工智能辅助图形化编程教学方法及*** |
CN109471622A (zh) * | 2018-11-02 | 2019-03-15 | 成都娄外科技有限公司 | 一种程序编辑方法和装置 |
CN109766079B (zh) * | 2019-01-21 | 2022-08-16 | 史文华 | 针对智能服务***实现编程化设计场景的方法和*** |
CN109871204B (zh) * | 2019-02-13 | 2022-05-20 | 智能佳(北京)机器人有限公司 | 文字可视化视觉编程集成装置、处理设备及存储介质 |
CN110009951A (zh) * | 2019-03-26 | 2019-07-12 | 乐佰科(深圳)教育科技有限公司 | 一种在线直播编程教学的教学方法及教学*** |
CN109992263B (zh) * | 2019-04-05 | 2022-09-13 | 腾讯科技(深圳)有限公司 | 一种执行可视化编程的方法和装置 |
CN110096442B (zh) * | 2019-04-25 | 2023-06-30 | 北京码上趣学科技有限公司 | 代码调试方法、用户设备、存储介质及装置 |
CN110110098A (zh) * | 2019-04-26 | 2019-08-09 | 张成虎 | 一种多媒体交互逻辑编排***及其使用方法 |
CN110012311B (zh) * | 2019-05-08 | 2021-04-06 | 江苏康兮运动健康研究院有限公司 | 一种动作指导音视频播放方法、装置和*** |
CN110321118A (zh) * | 2019-07-05 | 2019-10-11 | 深圳市智慧郎数码科技有限公司 | 函数代码的生成方法及相关设备 |
CN110490775A (zh) * | 2019-08-10 | 2019-11-22 | 博惠教育科技(上海)有限公司 | 一种少儿编程教育中的人工智能辅助教学方法 |
CN110244944B (zh) * | 2019-08-12 | 2019-11-19 | 中国人民解放军国防科技大学 | 一种基于图形化编程的网络安全扫描功能实现方法 |
TWM589344U (zh) * | 2019-08-16 | 2020-01-11 | 溫瓌岸 | 程式設計教學裝置及含程式設計教學程式的有形的且非暫時性的電腦可讀介質 |
CN110908647B (zh) * | 2019-11-29 | 2023-10-27 | 苏州精易会信息技术有限公司 | 一种积木式编程的对象变量呈现方法、装置、终端及存储介质 |
CN111240673B (zh) * | 2020-01-08 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 互动图形作品生成方法、装置、终端及存储介质 |
CN111651154A (zh) * | 2020-04-27 | 2020-09-11 | 北京编程猫科技有限公司 | 一种基于图形化编程角色变换的创作方法及装置 |
CN111857655A (zh) * | 2020-05-29 | 2020-10-30 | 北京编程猫科技有限公司 | 一种基于人工智能推送编程教程的方法及装置 |
CN111708530A (zh) * | 2020-06-24 | 2020-09-25 | 武汉久同智能科技有限公司 | 一种工业机器人图形化编程*** |
CN111984253B (zh) * | 2020-06-30 | 2023-12-26 | 北京编程猫科技有限公司 | 一种基于图形化编程工具添加编程角色的方法及装置 |
CN111538489A (zh) * | 2020-07-09 | 2020-08-14 | 北京美摄网络科技有限公司 | 一种数据处理方法和装置 |
CN111930636B (zh) * | 2020-09-21 | 2021-01-08 | 北京易真学思教育科技有限公司 | 图形编程作品检查方法、装置、***、设备及存储介质 |
CN111930374B (zh) * | 2020-09-21 | 2024-01-26 | 北京易真学思教育科技有限公司 | 图形代码组件组合的格式化方法及相关设备 |
CN112365944A (zh) * | 2020-10-23 | 2021-02-12 | 零氪科技(北京)有限公司 | 一种树状数据节点处理***、方法、电子设备及存储介质 |
CN112363711A (zh) * | 2020-11-03 | 2021-02-12 | 深圳市大富网络技术有限公司 | 一种代码提示方法、装置及计算机可读存储介质 |
CN112463138B (zh) * | 2020-11-18 | 2021-08-06 | 华南师范大学 | 一种软硬件结合的人工智能教育学习*** |
CN112463139B (zh) * | 2020-11-23 | 2024-04-02 | 乐聚(深圳)机器人技术有限公司 | 基于电子积木的编程方法、装置、电子设备及存储介质 |
CN112579073B (zh) * | 2020-12-25 | 2024-04-19 | 深圳市优必选科技股份有限公司 | 一种代码转换方法、装置、电子设备及存储介质 |
CN112631575A (zh) * | 2020-12-30 | 2021-04-09 | 深圳市大富网络技术有限公司 | 一种图块功能测试方法、***、装置及计算机存储介质 |
CN112328225A (zh) * | 2021-01-07 | 2021-02-05 | 北京安泰伟奥信息技术有限公司 | 一种页面运行方法及其运行*** |
CN112835569A (zh) * | 2021-01-13 | 2021-05-25 | 西安飞蝶虚拟现实科技有限公司 | 基于虚拟现实技术实现代码转积木块的方法和*** |
CN112732247B (zh) * | 2021-01-13 | 2024-05-24 | 王亚刚 | 基于虚拟现实技术的事件发生方法以及事件发生*** |
CN113157265A (zh) * | 2021-03-12 | 2021-07-23 | 杭州未名信科科技有限公司 | 一种用于可视化编程的数据处理方法及装置、介质、设备 |
WO2022228527A1 (zh) * | 2021-04-29 | 2022-11-03 | 华人运通(上海)云计算科技有限公司 | 一种车载控制***的控制方法、装置、设备及存储介质 |
CN113238744A (zh) * | 2021-04-30 | 2021-08-10 | 湖南中医药高等专科学校 | 一种基于流程图结构的图形化编程方法 |
CN113760261B (zh) * | 2021-09-03 | 2023-05-23 | 福建天泉教育科技有限公司 | 一种基于fgui的图形化积木编程方法及终端 |
CN113900637B (zh) * | 2021-09-30 | 2023-08-01 | 海南佳达科技有限公司 | 一种基于Web的Arduino智能硬件控制方法及*** |
CN114201162A (zh) * | 2022-02-21 | 2022-03-18 | 北京布局未来教育科技有限公司 | 图形化编程拼接方法、装置、电子设备及介质 |
CN115291929B (zh) * | 2022-07-05 | 2023-04-11 | 华南师范大学 | 用于人工智能教育图形化编程软件的编程块管理*** |
CN116360778B (zh) * | 2023-05-31 | 2023-07-25 | 中国标准化研究院 | 一种基于图像化编程平台的ai仿真教学方法及*** |
CN117608555A (zh) * | 2023-11-28 | 2024-02-27 | 浙江大学 | 一种支持创意及图形化的编程辅助方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5724074A (en) * | 1995-02-06 | 1998-03-03 | Microsoft Corporation | Method and system for graphically programming mobile toys |
CN201518164U (zh) * | 2009-04-28 | 2010-06-30 | 中国科学院软件研究所 | 一种面向儿童的网络集成创作*** |
CN102136208A (zh) * | 2011-03-30 | 2011-07-27 | 中国科学院软件研究所 | 一种实物编程方法和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040259066A1 (en) * | 2000-09-12 | 2004-12-23 | Mary Chase | System and method for aiding conceptual organization by children |
-
2013
- 2013-03-25 CN CN201310097617.5A patent/CN103197929B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5724074A (en) * | 1995-02-06 | 1998-03-03 | Microsoft Corporation | Method and system for graphically programming mobile toys |
CN201518164U (zh) * | 2009-04-28 | 2010-06-30 | 中国科学院软件研究所 | 一种面向儿童的网络集成创作*** |
CN102136208A (zh) * | 2011-03-30 | 2011-07-27 | 中国科学院软件研究所 | 一种实物编程方法和*** |
Non-Patent Citations (2)
Title |
---|
"design and implementation of a graphical programming tool for children";chen xiajian et al;《IEEE international conference on computer science and automation engineering(CASE)》;20110612;第572-576页 * |
"儿童交互式智能将故事***";王丹力 等;《计算机辅助设计与图形学学报》;20110731;第23卷(第7期);第1186-1193页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103197929A (zh) | 2013-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103197929B (zh) | 一种面向儿童的图形化编程***和方法 | |
Weintrop et al. | To block or not to block, that is the question: students' perceptions of blocks-based programming | |
CN109074246A (zh) | 自动确定布局约束的***和方法 | |
US20080184139A1 (en) | System and method for generating graphical user interfaces and graphical user interface models | |
US20080303827A1 (en) | Methods and Systems for Animating Displayed Representations of Data Items | |
CN101963899A (zh) | 一种逻辑动漫平台*** | |
CN114816380B (zh) | 一种面向医疗机构的低代码平台 | |
US20080303826A1 (en) | Methods and Systems for Animating Displayed Representations of Data Items | |
Mark et al. | Beginning IOS 5 development | |
Ludolph et al. | The Fabrik programming environment | |
Kato et al. | Programming with examples to develop data-intensive user interfaces | |
Neuburg | Programming IOS 10: Dive Deep Into Views, View Controllers, and Frameworks | |
Dessart et al. | Animated transitions between user interface views | |
Savidis et al. | The HOMER UIMS for dual user interface development: Fusing visual and non-visual interactions | |
CN104239606B (zh) | Web环境下支持触屏的UML建模方法与装置 | |
Eng | Qt5 C++ GUI Programming Cookbook: Practical recipes for building cross-platform GUI applications, widgets, and animations with Qt 5 | |
Magni | Delphi GUI Programming with FireMonkey: Unleash the full potential of the FMX framework to build exciting cross-platform apps with Embarcadero Delphi | |
Koegel et al. | Improving visual programming languages for multimedia authoring | |
Dumas et al. | A graphical editor for the SMUIML multimodal user interaction description language | |
Morris | Hands-On Android UI Development: Design and develop attractive user interfaces for Android applications | |
Grinev | Mastering JavaFX 10: Build advanced and visually stunning Java applications | |
Lin et al. | PyDraw: a GUI drawing generator based on Tkinter and its design concept | |
Gilchrist et al. | SwiftUI vs UIKit: A Case Study on How a Declarative Framework Can Improve Learnability of UI Programming | |
JP4660824B2 (ja) | メディアシーンの属性情報を格納する情報格納装置、情報表示装置、および情報格納方法 | |
Downie | Field—a new environment for making digital art |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |