用于编程教学的基于用户行为分析的信息交互方法与系统的制作方法

文档序号:2548630阅读:239来源:国知局
用于编程教学的基于用户行为分析的信息交互方法与系统的制作方法
【专利摘要】本发明公开一种用于编程教学的基于用户行为分析的信息交互方法与系统。该方法包括:为用户提供初始化的引导信息,引导用户开始输入;监听用户的输入行为,当用户输入行为停止时,提取并匹配用户输入的内容是否符合预期输入要求;若不符合要求,提示用户输入内容有误或者提供进一步的引导提示,直至用户纠正输入内容;当用户按照引导步骤完成所有输入要求时,视为完成课程。该系统包括程序开发环境子系统、初始化引导子系统、反馈引导子系统、输入监测子系统、信息分析子系统、形式验证子系统、错误分析子系统。本发明为用户提供了一个效率高、互动性和趣味性强的信息交互和学习平台,能够有效地将知识点传递给学习的用户。
【专利说明】用于编程教学的基于用户行为分析的信息交互方法与系统

【技术领域】
[0001]本发明涉及大规模在线教育、计算机教育和程序分析与程序验证的【技术领域】,具体涉及一种用于编程教学的基于用户行为分析的信息交互方法与系统。

【背景技术】
[0002]随着互联网的快速普及,人们对于教育的渴求达到了前所未有的强度,教和学也可以不再受时间、空间和地点条件的限制,知识获取的渠道更加灵活和多样化。现有的线下教育形式受限于场地、资源等因素,已经无法满足市场的需求;基于互联网的视频相关模式的教育形式,在弥补大规模教育需求缺口的同时,也暴露出了缺乏参与性和互动性,难以确保教学质量的问题。特别针对程序设计一类对实践性要求很高的技能的学习过程,传统教学方法暴露出了学习过程中信息接受率低和理论远远多于实践的问题。因此,针对程序设计这一特定技能领域,设计一种带有强参与性的,通过收集相关行为数据,提供实时的带有互动性的反馈式教育方法和系统变得格外迫切。
[0003]针对不同程序设计课程的需求给出相应的引导,让学生可以跟随引导,输入程序,基于已经相对成熟的编程语言分析的技术,学生的程序设计学习情况可以得到实时的监控和反馈。在这一系统中,被动接受过程变成了由学生进行主动探索和实践的过程,整个教学过程在给定学习引导的情况下可以完全不需要更多人的参与,同时,这一过程也不受到参与人数的限制,由于对于每个个体来说,一人和多人参与这个过程,体验到的教学感受是一致的。这种方法和系统强化了参与性,增进了学生对知识接收和吸纳的效果。


【发明内容】

[0004]本发明的目的是实现一种用于编程教学的基于用户行为分析的信息交互方法与系统,根据用户的输入内容,并结合实时反馈机制来增强互动,为编程爱好者和计算机相关领域学生提供一个效率高、趣味性强的信息交互和学习平台。
[0005]本发明的目的是通过以下技术方案实现的:
[0006]一种用于编程教学的基于用户行为分析的信息交互方法,其步骤包括:
[0007]I)为用户提供初始化的引导信息,并且引导用户开始输入;
[0008]2)监听用户的输入行为,根据用户的输入状态和输入结果采取不同的处理方式,若存在输入行为,则继续监听,直至用户停止输入行为;
[0009]3)当用户输入行为停止时,开始对用户输入的内容进行分析,提取并匹配用户输入的内容是否符合预期输入要求;
[0010]4)若匹配结果不符合要求,则提示用户输入内容有误或者提供进一步的引导提示,直至用户纠正输入内容,使之符合要求;
[0011]5)重复执行上述步骤,当用户按照引导步骤完成所有输入要求时,即可视为完成课程,系统将引导进入下一个学习内容。
[0012]进一步地,步骤I)中,初始化的引导信息包括:用于被用户阅读的信息、用于告知用户所需输入内容的提示信息、用于告知用户易错点的提示信息、用于检测输入内容准确性的验证文法信息等。
[0013]进一步地,步骤2)中,利用系统对键盘操作的监听函数来检测用户是否处于输入状态。如果用户每两次输入行为的中间时间间隔小于系统设定的默认间隔时长,则认为用户正在输入中,系统继续保持监听状态;否则认为用户已停止输入,此时系统将停止监听,开始进入对用户输入内容提取和匹配的过程。
[0014]进一步地,步骤3)中,根据初始化过程获取的验证文法来验证用户当前的已输入信息。
[0015]进一步地,步骤3)中,将用户输入内容中每一个节点位置的信息与相同位置的验证文法进行匹配,从字符串开始位置开始进行子串匹配,根据匹配到的最大的子串长度,来决定需要更新的提示内容信息。
[0016]进一步地,步骤3)中,系统在验证每一个节点的信息时,均采用正则表达式的文法验证规则,将节点信息拆分成有序子节点,再按照顺序分别予以验证,在该节点中所有子节点均被验证有效后,可认为该节点被成功验证。
[0017]进一步地,步骤4)中,在系统返回错误提示的情况下,用户需要按照要求修正自己的输入内容,从而让系统重新匹配并返回结果。
[0018]进一步地,步骤5)中,系统在验证每一个Token后,如果存在未被验证的Token,则提醒用户对于这一项Token的验证信息不正确;直到全部Token均被验证且无误,系统将认为用户完成了全部要求输入的内容,允许用户通过这一节课程,进入下一节课程。
[0019]一种采用上述方法的用于编程教学的基于用户行为分析的信息交互系统,包括:
[0020]程序开发环境子系统,为用户提供在线渲染的编程环境,供用户进行编程输入;
[0021]初始化引导子系统,接收来服务器端的课程初始化的引导信息用于引导用户进行输入;
[0022]反馈引导子系统,接收来自服务器端的形式验证子系统的引导信息和/或来自错误分析子系统的错误提示,并显示给用户;
[0023]输入监测子系统,监听用户的输入行为,在用户停止输入行为达到指定时间长度后,向信息分析子系统发送程序分析请求;
[0024]信息分析子系统,提取客户端的代码编辑框区域的内容,将其转换成特殊的标记点的集合,并且将标记点集合组成多层次的有序和无序的数组;
[0025]还包括形式验证子系统和/或错误分析子系统,其中:
[0026]形式验证子系统接收来自信息分析子系统的标记点集合,将传递过来的标记点与数据库中存储的程序形式语义树进行深度优先匹配验证,当语义树种的子树被完全匹配后,将子树根节点的对应的引导信息返回给反馈引导子系统;
[0027]错误分析子系统接收来自信息分析子系统的标记点集合,通过语法的错误检测,形成需要纠正的内容和错误提示并返回给反馈引导子系统。
[0028]其中,程序开发环境子系统、初始化引导子系统、反馈引导子系统、输入监测子系统应用于客户端;信息分析子系统、形式验证子系统、错误分析子系统既可以应用于客户端,也可以应用于服务器端。
[0029]进一步地,所述信息分析子系统包括:关键字提取模块,用于将程序中的关键字进行序列化;词法分析模块,用于关键字的词法关系进行组合,生成有序和无序的数组。
[0030]本发明的基于用户行为分析的信息交互方法与系统,用户可以在无教师的条件下进行学习。本发明能够根据用户的输入内容,并结合实时反馈机制来增强互动,为编程爱好者、计算机相关领域学生等用户提供一个效率高、互动性和趣味性强的信息交互和学习平台,能够有效地将知识点传递给学习的用户。

【专利附图】

【附图说明】
[0031]图1为实施例中用于编程教学的基于用户行为分析的信息交互方法的流程图;
[0032]图2为实施例中展示用户与系统交互的信息流示意图;
[0033]图3为实施例中初始化过程的示意图;
[0034]图4为实施例中各子系统信息交互过程的示意图;
[0035]图5为实施例中用户输入行为分析过程的示意图;
[0036]图6为实施例中引导信息初始化的效果图;
[0037]图7为实施例中分析用户输入信息并更新引导信息的效果图;
[0038]图8为实施例中的用户全部通过的效果图。

【具体实施方式】
[0039]为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
[0040]图1为本发明方法的流程图,图2为展示用户与系统交互的信息流示意图。如图1和图2所示,该方法主要包括以下步骤:
[0041]步骤11,初始化引导子系统为用户提供初始化的引导信息并提醒用户进行输入。
[0042]图3为初始化过程的示意图,如该图所示,主要包括如下步骤:
[0043]步骤111,初始化引导子系统根据学生A选择的学习请求编号,请求从数据库服务器中获取该编号对应的学习记录信息;
[0044]步骤112,初始化引导子系统查看学生A的学习记录信息,返回推荐的课程X及其具体信息,包括阅读提示信息和待验证文法信息;
[0045]图6为引导信息初始化显示的效果图,如该图所示,主要包括如下步骤:
[0046]步骤113,初始化引导子系统查看是否需要对编辑框内的代码文本进行初始化,如果需要初始化代码,则在学生A输入内容前将引导区域信息和编辑框中的数据与样式显示出来;否则,就只需要对引导区域信息进行初始化并且显示出来;
[0047]步骤114,学生A查看系统的显示区域,根据引导区域的阅读内容来决定输入的代码内容,输入监测子系统监听学生A的输入行为,信息分析子系统获取到学生A的输入数据。
[0048]步骤12,错误分析子系统检测出用户输入内容的错误并且提供需要纠正的内容和进一步的提示,以便用户可以更好地理解引导区域所讲述的知识点。
[0049]如图1和图4所示,其中主要包括如下步骤:
[0050]步骤121,当输入监测子系统监听到用户停止输入行为时,会获取到用户输入的内容,并且提交给信息分析子系统;
[0051]步骤122,信息分析子系统分别对用户输入的内容进行错误分析和形式验证,然后将错误分析结果返回给错误分析子系统;
[0052]步骤123,根据信息分析子系统返回的错误信息,错误分析子系统判断该错误信息的类别,来决定对该错误信息的处理方式,错误分析子系统将处理结果返回给反馈引导子系统;
[0053]步骤124,反馈引导子系统将反馈信息显示出来,用户会得到新的更为具体的提示信息,可以使用户按照新的提示信息调整自己的输入内容;
[0054]步骤125,如果反馈引导子系统的返回结果存在错误信息,用户界面会显示错误信息;
[0055]步骤126,如果反馈引导子系统的返回结果存在引导信息,用户界面的引导区域会更新内容,为用户提供更具体的引导信息。
[0056]步骤13,信息分析子系统将不断引导用户进行输入,并且在引导用户依次输入正确内容后,会告知用户已经完成当前课程的学习。
[0057]其中主要包括如下步骤:
[0058]步骤131,当输入监测子系统监听到用户的输入行为停止时,信息分析子系统会获取代码编辑框中的内容;
[0059]图5为信息分析子系统对用户输入内容分析过程的示意图,如该图所示,主要包括如下步骤:
[0060]步骤132,信息分析子系统中的关键字提取模块会将初始化引导子系统返回的待验证文法信息拆分成需要验证的Token子节点,并且将Token子节点组成有序或者无序的数组;
[0061]步骤133,信息分析子系统之后把Token数组传递给形式验证子系统,形式验证子系统对传递过来的Token数组进行拆分,并将每一个拆分出来的元素依次与信息分析子系统获取到的用户输入内容进行匹配;
[0062]步骤134,匹配方式如下:查看某一个拆分出来的Token里面包含的节点信息,该节点信息以正则匹配表达式的形式存在;
[0063]步骤135,形式验证子系统分别获取到当前用户输入内容及Token节点信息,对二者进行匹配,并返回匹配结果;
[0064]步骤136,如果返回的匹配结果是正确匹配结果,则将该Token节点位置的状态标记为正确匹配状态;否则将该节点位置标记为未正确匹配状态;
[0065]步骤137,在将信息分析子系统传递给形式验证子系统的待验证Token数组中的每一个元素的状态都验证后,会得到一个与该Token数组长度相同的状态信息字符串,形式验证子系统会把该状态列表信息返回到客户端;
[0066]图7为一个分析用户输入信息并更新引导信息的效果图,如该图所示,包括以下步骤:
[0067]步骤138,客户端根据形式验证子系统返回的状态值,采取不同的处理方式;
[0068]步骤139,如图4所示,如果形式验证子系统对当前知识点的验证结果正确,则反馈引导子系统将用户引导区域的内容进行更换,引导用户进入下一条知识点;
[0069]步骤1310,直到形式验证子系统正确匹配全部Token节点,反馈引导子系统将用户引导区域内容引导到结束部分的信息,提示用户验证过程已经完成;
[0070]图8为本发明的一个实施例的用户通过全部验证后的效果图,如该图所示,包括以下步骤:
[0071]步骤1311,反馈引导子系统告知用户可以在程序开发环境子系统中对自己输入的代码内容进行操作;
[0072]步骤1312,用户在程序开发子系统中运行代码,与程序进行互动或者查看代码运行结果;
[0073]步骤1313,用户可以修改代码编辑框中的内容,并且重新经过形式验证子系统的验证过程通过后,运行修改后的代码。
[0074]以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。
【权利要求】
1.一种用于编程教学的基于用户行为分析的信息交互方法,其步骤包括: 1)为用户提供初始化的引导信息,并且引导用户开始输入; 2)监听用户的输入行为,根据用户的输入状态和输入结果采取不同的处理方式,若存在输入行为,则继续监听,直至用户停止输入行为; 3)当用户输入行为停止时,开始对用户输入的内容进行分析,提取并匹配用户输入的内容是否符合预期输入要求; 4)若匹配结果不符合要求,则提示用户输入内容有误或者提供进一步的引导提示,直至用户纠正输入内容,使之符合要求; 5)重复执行上述步骤,当用户按照引导步骤完成所有输入要求时,即可视为完成课程,系统将引导进入下一个学习内容。
2.如权利要求1所述的方法,其特征在于:步骤I)中,初始化的引导信息包括:用于被用户阅读的信息、用于告知用户所需输入内容的提示信息、用于告知用户易错点的提示信息、用于检测输入内容准确性的验证文法信息。
3.如权利要求1所述的方法,其特征在于:步骤2)中,利用系统对键盘操作的监听函数,来检测用户是否处于输入状态;如果用户每两次输入行为的中间时间间隔小于系统设定的默认间隔时长,则认为用户正在输入中,系统继续保持监听状态;否则认为用户已停止输入,此时系统将停止监听,开始进入对用户输入内容提取和匹配的过程。
4.如权利要求1所述的方法,其特征在于:步骤3)中,根据初始化过程获取的验证文法,来验证用户当前的已输入信息。
5.如权利要求4所述的方法,其特征在于:步骤3)中,将用户输入内容中每一个节点位置的信息与相同位置的验证文法进行匹配,从字符串开始位置开始进行子串匹配,根据匹配到的最大的子串长度,来决定需要更新的提示内容信息。
6.如权利要求5所述的方法,其特征在于:步骤3)中,在验证每一个节点的信息时,均采用正则表达式的文法验证规则,将节点信息拆分成有序子节点,再按照顺序分别予以验证,在该节点中所有子节点均被验证有效后,可认为该节点被成功验证。
7.如权利要求1所述的方法,其特征在于:步骤4)中,在系统返回错误提示的情况下,用户需要按照要求修正自己的输入内容,从而让系统重新匹配并返回结果。
8.如权利要求1所述的方法,其特征在于:步骤5)中,在验证每一个Token后,如果存在未被验证的Token,则提醒用户对于这一项Token的验证信息不正确;直到全部Token均被验证且无误,系统将认为用户完成了全部要求输入的内容,允许用户通过这一节课程,进入下一节课程。
9.一种采用权利要求1所述方法的用于编程教学的基于用户行为分析的信息交互系统,其特征在于,包括: 程序开发环境子系统,为用户提供在线渲染的编程环境,供用户进行编程输入; 初始化引导子系统,接收来服务器端的课程初始化的引导信息用于引导用户进行输A ; 反馈引导子系统,接收来自服务器端的形式验证子系统的引导信息和/或来自错误分析子系统的错误提示,并显示给用户; 输入监测子系统,监听用户的输入行为,在用户停止输入行为达到指定时间长度后,向信息分析子系统发送程序分析请求; 信息分析子系统,提取客户端的代码编辑框区域的内容,将其转换成特殊的标记点的集合,并且将标记点集合组成多层次的有序和无序的数组; 还包括形式验证子系统和/或错误分析子系统,其中: 形式验证子系统接收来自信息分析子系统的标记点集合,将传递过来的标记点与数据库中存储的程序形式语义树进行深度优先匹配验证,当语义树种的子树被完全匹配后,将子树根节点对应的引导信息返回给反馈引导子系统; 错误分析子系统接收来自信息分析子系统的标记点集合,通过语法的错误检测,形成需要纠正的内容和错误提示并返回给反馈引导子系统。
10.如权利要求9所述的系统,其特征在于:程序开发环境子系统、初始化引导子系统、反馈引导子系统、输入监测子系统应用于客户端;信息分析子系统、形式验证子系统、错误分析子系统应用于客户端或者应用于服务器端。
【文档编号】G09B5/14GK104239032SQ201410363739
【公开日】2014年12月24日 申请日期:2014年7月28日 优先权日:2014年7月28日
【发明者】俞昊然 申请人:俞昊然
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1