1.本说明书涉及智能教学领域,特别涉及一种智能教学诊断方法及系统。
背景技术:2.随着计算机技术及网络的发展,出现了基于电脑、手机、平板电脑等终端的教学平台及相关产品,利用各种平台进行教学成为不可避免的趋势。基于教学平台的教学活动同样需要及时了解学生在知识和技能方面的不足,并对教学的效果进行评估。
3.因此,有必要提供一种智能教学诊断方法及系统,用于评估学生学习情况和教学评价。
技术实现要素:4.本说明书实施例的一个方面提供一种智能教学诊断方法,所述方法包括:通过编程功能组件获取待评估对象输入的至少一个代码段;编译所述至少一个代码段,确定所述至少一个代码段中的可执行代码;基于所述可执行代码确定代码特征;执行所述可执行代码,得到所述可执行代码的执行结果;以及基于所述执行结果以及所述代码特征,确定所述待评估对象的编程成绩。
5.本说明书实施例的另一个方面提供一种智能教学诊断系统,所述系统包括:获取模块,用于提供编程功能组件,以及通过所述编程功能组件获取待评估对象输入的至少一个代码段;分析模块,用于:编译所述至少一个代码段,确定所述至少一个代码段中的可执行代码;基于所述可执行代码确定代码特征;执行所述可执行代码,得到所述可执行代码的执行结果;以及基于所述执行结果以及所述代码特征,确定所述待评估对象的编程成绩。
6.本说明书实施例的另一个方面提供一种智能教学诊断装置,其特征在于,所述装置包括至少一个处理器以及至少一个存储器;所述至少一个存储器用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令中的至少部分指令以实现智能教学诊断方法。
7.本说明书实施例的另一个方面提供一种计算机可读存储介质,其特征在于,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,实现智能教学诊断方法。
附图说明
8.本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
9.图1是根据本说明书一些实施例所示的智能教学诊断系统的应用场景示意图;
10.图2是根据本说明书一些实施例所示的智能教学诊断方法的示例性流程图;
11.图3是根据本说明书一些实施例所示的第一评估模型结构的示例性示意图;
12.图4是根据本说明书一些实施例所示的确定教学评估结果的示例性流程图;
13.图5是根据本说明书一些实施例所示的智能教学诊断系统的系统图。
具体实施方式
14.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
15.应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
16.如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
17.本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
18.图1是根据本说明书一些实施例所示的智能教学诊断系统的应用场景示意图。如图1所示,智能教学诊断系统的应用场景100可以包括服务器110、存储设备120、用户终端130和网络140。
19.智能教学诊断系统可以用于线上教学的多种应用场景。例如,智能教学诊断系统可以用于在校软件系大学生教学。又例如,智能教学诊断系统可以用于线上平台软件编程教学。
20.服务器110包括处理器112,可以用于处理与智能教学诊断系统有关的信息和/或数据。例如,处理器112可以通过编程功能组件获取待评估对象输入的至少一个代码段;编译至少一个代码段,确定至少一个代码段中的可执行代码;基于可执行代码确定代码特征;执行可执行代码,得到可执行代码的执行结果;以及基于执行结果以及代码特征,确定待评估对象的编程成绩。
21.存储设备120可以用于存储数据和/或指令。在一些实施例中,存储设备120可以储存处理器112用来执行或使用以完成本说明书中描述的示例性智能教学诊断方法的数据和/或指令。
22.用户终端130指用户所使用的一个或多个终端设备或软件。在一些实施例中,用户终端130可以包括移动设备130-1、平板计算机130-2、膝上型计算机130-3等,或其任意组合。在一些实施例中,用户终端130可以通过网络140连接到处理器112,以使处理器112能对用户终端130获取的信息进行分析处理。
23.网络140可以连接系统的各组成部分和/或连接系统与外部资源部分。网络140使
得各组成部分之间,以及与系统之外其他部分之间可以进行通讯,促进数据和/或信息的交换。在一些实施例中,处理器112可以通过网络140连接到存储设备120,以使处理器112可以获取存储设备120中存储的与智能教学诊断相关的数据和/或指令。在一些实施例中,网络140可以是有线网络或无线网络中的任意一种或多种。例如,网络140可以包括电缆网络、光纤网络、电信网络、互联网、局域网络(lan)、广域网络(wan)、无线局域网络(wlan)、城域网(man)、公共交换电话网络(pstn)、蓝牙网络、紫蜂网络(zigbee)、近场通信(nfc)、设备内总线、设备内线路、线缆连接等或其任意组合。各部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。在一些实施例中,网络可以是点对点的、共享的、中心式的等各种拓扑结构或者多种拓扑结构的组合。
24.应当注意应用场景100仅仅是为了说明的目的而提供的,并不意图限制本说明书的范围。对于本领域的普通技术人员来说,可以根据本说明书的描述,做出多种修改或变化。例如,应用场景100还可以包括信息源。然而,这些变化和修改不会背离本说明书的范围。
25.图2是根据本说明书一些实施例所示的智能教学诊断方法的示例性流程图。如图2所示,流程200可以包括以下步骤。在一些实施例中,流程200可以由分析模块520执行。
26.步骤210,通过编程功能组件获取待评估对象输入的至少一个代码段。
27.在一些实施例中,编程功能组件可以是用于输入代码段的组件。例如,编码功能组件可以是包括编码区域并显示已编辑代码的组件。
28.待评估对象可以是进行课程学习的学员。例如,待评估对象可以是正在学习编程的学生。
29.代码段可以是待评估对象编写的代码。例如,代码段可以是待评估对象编写代码的一部分。
30.在一些实施例中,待评估对象编辑完成的代码段可以通过网络上传到云端的存储设备,或保存至待评估对象当前使用的设备中。被储存的代码段可响应于确定待评估对象的编程成绩的需求,被分析模块520从存储设备中调用。
31.步骤220,编译至少一个代码段,确定至少一个代码段中的可执行代码。
32.在一些实施例中,可执行代码可以是能够运行的代码段。例如,可执行代码可以是代码段含有运行指令且能被执行用于处理目标问题的代码。
33.编译通常指通过编译器将使用源语言编写的程序进行翻译,生成计算机能够处理的计算机语言形式的目标程序的过程,其中,计算机语言形式通常可以包括二进制语言形式。
34.在一些实施例中,分析模块520可以通过执行经过编译生成的目标程序,确定代码段中的可执行代码。
35.在一些实施例中,分析模块520可以通过编译程序将待评估对象编写的代码段一次性全部翻译成目标程序,然后执行目标程序,确定可执行代码。
36.在一些实施例中,分析模块520可以通过解释程序对待评估对象编写的代码段进行处理,翻译一句代码执行一句,确定可执行代码。
37.步骤230,基于可执行代码确定代码特征。
38.在一些实施例中,代码特征可以是反映可执行代码特点的参数。例如,代码特征可
以包括代码文本特征、语法结构特征、代码排布方式、函数长度、函数数量、代码总长度等。
39.在一些实施例中,代码特征可以由分析模块520对可执行代码进行处理确定。例如,通过共享特征提取网络和第一特征提取网络确定代码特征及代码特征向量。
40.有关获取代码特征和代码特征向量的详细说明可参见图3中的相关描述。
41.步骤240,执行可执行代码,得到可执行代码的执行结果。
42.在一些实施例中,执行结果可以是反映可执行代码执行情况的参数。例如,执行结果可以包括结果正确、结果错误及错误类型、代码运行时间等。其中,结果是否正确可以用于判断代码段整体的正确性,若结果错误,判断错误的类型可以用于确定待评估对象出现错误的原因,例如,因未掌握相关知识出错、编写代码时笔误出错等;代码运行的时间可以用于判断待评估对象编写代码段是否简洁易用。
43.在一些实施例中,分析模块520可以通过运行可执行代码得到执行结果。
44.步骤250,基于执行结果以及代码特征,确定待评估对象的编程成绩。
45.在一些实施例中,编码成绩可以是反映待评估对象代码段编写结果的参数。例如,编码成绩可以用十分制或百分制的分数表示,如5分、90分等;再例如,编码成绩可以用评估等级表示,如优秀、良好、较差等评估等级。
46.在一些实施例中,分析模块520可以对上述代码的执行结果以及代码特征进行处理,确定待评估对象的编程成绩和代码质量。关于确定编程成绩以及代码质量的具体说明,可参见图3及其相关描述。
47.通过本说明书一些实施例所述的智能教学诊断方法,可以实现针对待评估对象编写代码提取可执行代码,基于执行结果和代码特征得到待评估对象的编码成绩,实现更准确的诊断评估。
48.应当注意的是,上述有关流程200的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程200进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,流程200还可以包括后处理的步骤。
49.图3是根据本说明书一些实施例所示的第一评估模型结构的示例性示意图。如图3所示,第一评估模型300包括以下内容。
50.在一些实施例中,处理设备可以基于执行结果、代码特征,通过第一评估模型确定待评估对象的编程成绩。
51.第一评估模型可以是用于确定待评估对象的编程成绩的模型。例如,第一评估模型可以是深度神经网络模型等。
52.第一评估模型的输入可以包括执行结果、代码特征,第一评估模型的输出可以包括待评估对象的编程成绩。在一些实施例中,第一评估模型的输出还可以包括代码质量评估结果。
53.在一些实施例中,第一评估模型可以通过多个有标签的训练样本训练得到。例如,可以将多个带有标签的训练样本输入初始第一评估模型,通过标签和初始第一评估模型的结果构建损失函数,基于损失函数迭代更新初始第一评估模型的参数。当初始第一评估模型的损失函数满足预设条件时模型训练完成,得到训练好的第一评估模型。其中,预设条件可以是损失函数收敛、迭代的次数达到阈值等。
54.在一些实施例中,训练样本至少可以包括样本代码段对应的执行结果和代码特征。标签可以是样本代码段对应的编程成绩,例如,将对样本代码段中的正确语句进行打分的打分分数作为标签。标签可以人工标注获取。在一些实施例中,标签还可以包括代码质量评估结果,例如,将基于代码编写质量、代码运行情况打分的打分分数作为标签。
55.通过第一评估模型对某一代码段的执行结果和代码特征进行处理,得到代码段对应的编程成绩与代码质量评估结果,可以避免人工评估带来的主观因素影响,提高评估效率,得到更符合实际情况的评估结果。
56.在一些实施例中,第一评估模型可以包括共享特征提取网络、第一特征提取网络、第二特征提取网络、第一预测网络、第二预测网络。
57.在一些实施例中,第一评估模型输入的执行结果、代码特征,经过共享特征提取网络、第一特征提取网络、第一预测网络,输出编程成绩。
58.在一些实施例中,共享特征提取网络可以是用于提取基础特征向量的模型。例如,共享特征提取网络可以是深度神经网络模型。
59.在一些实施例中,基础特征向量可以包括与代码执行结果和代码特征相关的向量。例如,基础特征向量可以包括代码结果正确性特征、代码错误类型特征、代码运行时间特征、代码文本特征、语法结构特征、代码排布方式、函数长度、函数数量、代码总长度中的至少一种特征对应的特征向量。
60.在一些实施例中,共享特征提取网络的输入可以包括执行结果、代码特征,输出可以包括基础特征向量。
61.在一些实施例中,第一特征提取网络可以是提取代码特征向量的模型。例如,第一特征提取网络可以是深度神经网络模型等。在一些实施例中,第一特征提取网络还可以是其他可以实现相应处理的模型,具体可视实际情况确定。
62.在一些实施例中,第一特征提取网络的输入可以包括基础特征向量,输出可以包括代码执行特征向量。
63.代码执行特征向量可以是与代码执行结果相关的向量。例如,代码执行特征向量可以包括代码结果正确性特征、代码错误类型特征、代码运行时间特征中的至少一种。
64.在一些实施例中,第一预测网络可以是用于预测编程成绩的模型。例如,第一预测网络可以是深度神经网络模型等。在一些实施例中,第一预测网络还可以是其他可以实现相应处理的模型,具体可视实际情况确定。
65.在一些实施例中,第一预测网络的输入可以包括代码执行特征向量,输出可以包括编程成绩。
66.在一些实施例中,第一评估模型输入包括执行结果、代码特征,经过共享特征提取网络、第二特征提取网络、第二预测网络,输出代码质量评估结果。
67.代码质量评估结果可以是反映对代码段逻辑水平、标准符合程度评估情况的参数。例如,代码质量评估结果可以用十分制或百分制的具体分数表示,如5分、90分等;再例如,代码质量评估结果可以用评估等级表示,如优秀、良好、较差等评估等级。
68.在一些实施例中,第二特征提取网络可以是用于提取代码质量特征向量的模型。例如,第二特征提取网络可以是深度神经网络模型等。在一些实施例中,第二特征提取网络还可以是其他可以实现相应处理的模型,具体可视实际情况确定。
69.在一些实施例中,第二特征提取网络的输入可以包括基础特征向量,输出可以包括代码质量特征向量。
70.代码质量特征向量可以是基础向量中能够实现代码质量评估结果预测的特征向量。例如,代码质量特征向量可以包括代码运行情况、代码可测试性、代码可移植性等至少一种代码质量特征作为元素组成的行向量。
71.在一些实施例中,第二预测网络可以是用于预测代码质量评估结果的模型。例如,第二预测网络可以包括深度神经网络模型等。在一些实施例中,第二预测网络还可以是其他可以实现相应处理的模型,具体可视实际情况确定。
72.在一些实施例中,第二预测网络的输入可以包括代码质量特征向量,输出可以包括代码质量评估结果。
73.通过本说明书一些实施例所述的第一评估模型,可以实现针对代码段特征的多层提取,得到更贴合代码段特征的特征向量,提高所提取的特征向量的深度;基于上述特征向量进行确定待评估对象的编程成绩或评估代码段的质量,可以获得更准确的评估结果。
74.图4是根据本说明书一些实施例所示的确定教学评估结果的示例性流程图。如图4所示。在一些实施例中,流程400可以由分析模块520执行。
75.步骤410,获取待评估对象至少一轮编程的至少一组编程能力特征,基于至少一组编程能力特征,确定待评估对象的编程能力评估结果。
76.在一些实施例中,某一代码段的编程过程可以由待评估对象基于一轮或多轮编程完成。例如,某一代码段可以经待评估对象多次修改调整完成。在一些实施例中,每轮编程可以对应至少一组编程能力特征。
77.编程能力特征可以是反映待评估对象编程水平的参数。例如,编程能力特征可以包括用例通过率、错误类型分布特征向量、代码质量特征向量、代码修改用时信息。用例通过率可以是通过的测试用例个数与使用的测试用例个数之比。例如,用例通过率可以是80%、90%等数值。错误类型分布特征向量可以是与代码段错误种类相关的特征向量。例如,错误类型分布特征向量可以是以语法错误、逻辑错误、连接错误等作为向量元素的特征向量。代码质量特征向量可以参见图3及其相关描述。代码修改用时信息可以是代码编辑器获取的每轮代码编辑用时信息。编程能力特征可以涵盖待评估对象编程过程中涉及的所有信息,通过特征向量的形式可以将上述数据量化,方便进行表达与后续的评估过程。
78.编程能力评估结果可以是反映待评估对象编程能力水平的参数。待评估对象的编程能力通常指待评估对象编写代码的能力,通常体现在编辑完成一段代码的过程中的修改次数、编辑用时、最终编辑完成的代码段的质量等方面,编程能力越强,代码编辑过程中修改次数相对越少,用时越短,编辑完成的代码段质量相对更高。
79.在一些实施例中,编程能力评估结果可以用十分制或百分制的具体分数表示,如5分、90分等;再例如,编程能力评估结果可以用评估等级表示,如优秀、良好、较差等评估等级。
80.在一些实施例中,处理设备可以将至少一组编程能力特征按编程顺序排列形成特征序列,基于特征序列,通过第二评估模型确定待评估对象的编程能力评估结果。
81.第二评估模型可以是用于评估编程能力评估结果的模型。例如,第二评估模型可以是序列模型等。
82.第二评估模型的输入可以包括编程能力特征的特征序列,输出可以包括待评估对象的编程能力评估结果。
83.编程能力特征的特征序列可以是以时间为序列,对编程能力特征进行排序的结果。例如,编程能力特征的特征序列可以是以轮次先后为序的特征序列。
84.在一些实施例中,第二评估模型可以通过多个有标签的训练样本训练得到。例如,可以将多个带有标签的训练样本输入初始第二评估模型,通过标签和初始第二评估模型的结果构建损失函数,基于损失函数迭代更新初始第二评估模型的参数。当初始第二评估模型的损失函数满足预设条件时模型训练完成,得到训练好的第二评估模型。其中,预设条件可以是损失函数收敛、迭代的次数达到阈值等。
85.在一些实施例中,训练样本至少可以包括待评估对象历史多轮编程的代码段。标签可以是编写能力评估结果的具体分值。标签可以基于人工标注获取。
86.通过对以时间为序的编程能力特征进行处理,可以得到反映待评估对象编程能力变化的信息(如随时间进行,待评估对象的编程能力逐步提高),为第二评估模型提供更符合编程情况的样本与输入;另外,第二评估模型的使用可以提高评估效率,避免人工评估带来的主观因素影响。
87.步骤420,通过课程展示功能组件获取待评估对象的学习行为数据,基于待评估对象的学习行为数据,确定待评估对象的学习行为评估结果。
88.课程展示功能组件可以是用于向待评估对象提供课程学习的组件。例如,课程展示功能组件可以包括课程的视频内容、课程习题代码段、课程展示的ui界面等。
89.在一些实施例中,教学模块还可以获取学习行为数据。学习行为数据可以是待评估对象在学习过程中产生的信息。例如,学习行为数据可以包括待评估对象在学习过程中的暂停次数、暂时时段等暂停行为数据;重复学习次数、重复学习内容量等重复学习行为数据;快进次数、快进时段等快进行为数据;慢放次数、慢放时段等慢放行为数据;剩余未学完内容量、学习时段等数据。
90.学习行为评估结果可以是反映待评估对象学习情况的参数。例如,学习行为评估结果可以用十分制或百分制的具体分数表示,如5分、90分等;再例如,学习行为评估结果可以用评估等级表示,如优秀、良好、较差等评估等级。当待评估对象在学习过程中暂停次数少、重复学习次数少、重复学习内容量少等时,其学习行为评估结果可以对应更高的分数。
91.在一些实施例中,学习行为评估结果可以通过下述方法确定:基于对象的学习行为数据,确定学习行为特征;基于学习行为特征,通过分类模型确定对象的学习行为评估结果。
92.在一些实施例中,分类模型可以是用于确定待评估对象学习行为评估结果的模型。例如,分类模型可以是决策树,随机森林、梯度提升树等模型。
93.在游戏额实施例中,分类模型还可以是其他可以用于确定待评估对象学习行为评估结果的模型,具体可视实际情况确定。
94.在一些实施例中,分类模型的输入可以包括学习行为特征,输出可以包括待评估对象的学习行为评估结果。
95.学习行为特征可以是反映待评估对象在学习过程中学习情况的参数。例如,学习行为特征可以包括暂停行为特征、重复学习行为特征、快进行为特征、慢放行为特征、剩余
未学完内容量特征、学习时段类型等特征。在一些实施例中,学习行为特征可以通过处理设备基于学习行为数据提取确定。例如,当待评估对象在观看课程视频且对视频某一片段重复学习时,学习行为特征可以包括片段的具体课程视频时间段位置、重复学习次数等特征。
96.在一些实施例中,分类模型的输入还可以包括难度系数。难度系数可以是反映课程难易程度的参数。例如,难度系数可以是百分数或具体数值表示的参数。通过引入难度系数,模型可以对课程自身的情况进行处理,避免因课程太复杂或太简单而影响待评估对象的学习行为。
97.在一些实施例中,分类模型可以通过多个有标签的训练样本训练得到。例如,可以将多个带有标签的训练样本输入初始分类模型,通过标签和初始分类模型的结果构建损失函数,基于损失函数迭代更新初始分类模型的参数。当初始分类模型的损失函数满足预设条件时模型训练完成,得到训练好的分类模型。其中,预设条件可以是损失函数收敛、迭代的次数达到阈值等。
98.在一些实施例中,训练样本至少可以包括待评估对象的历史学习行为特征。标签可以是历史学习行为评估结果的具体分值。标签可以基于人工标注获取。
99.本说明书一些实施例中,可以基于分类模型获取学习行为特征,通过提取学习行为特征,能够得到反映待评估对象学习行为特点的数据,提高输入样本的可参考性;另外,基于分类模型评估得到学习行为评估结果,可以提高评估效率,避免人工评估带来的主观因素影响。
100.步骤430,基于待评估对象的编程成绩、学习行为评估结果中的至少一种,确定教学评估结果。在一些实施例中,该步骤可由分析模块执行。
101.教学评估结果可以是反映对待评估对象进行编程教学情况的参数。例如,教学评估结果可以用十分制或百分制的具体分数表示,如5分、90分等;再例如,教学评估结果可以用评估等级表示,如优秀、良好、较差等评估等级。
102.在一些实施例中,教学评估结果可以基于处理设备对多种与教学过程相关的参数处理确定。
103.在一些实施例中,处理设备可以基于学习行为评估结果确定待评估对象对应的权重;基于待评估对象的权重、编程成绩,得到教学评估结果。
104.待评估对象的权重可以是反映待评估对象对教学评估过程影响程度的参数。权重可以基于多种因素确定,例如,当某一待评估对象在教学过程中具有更全面的学习行为数据时,可以为其分配较高权重;当某一待评估对象的学习行为评估结果较差时,可以为其分配较低的权重。
105.在一些实施例中,待评估对象的编程成绩越高,说明教学过程效果好,教学评估结果可以对应更高的分数。在一些实施例中,对应权重较高的待评估对象的数量越多,说明认真学习的人数更多,教学评估结果可以对应更高的分数。
106.在一些实施例中,处理设备可以基于待评估对象的权重、编程成绩、编程能力评估结果,确定教学评估结果。
107.在一些实施例中,编程能力评估结果越好,说明教学过程效果好,教学评估结果可以对应更高的分数。
108.在一些实施例中,处理设备还可以获取待评估对象的代码质量评估结果;基于代
码质量评估结果,确定教学评估结果。
109.关于代码质量评估结果获取的具体说明,参见图3及其相关描述。
110.在一些实施例中,代码质量评估结果越好,说明教学过程效果好,教学评估结果可以对应更高的分数。
111.在一些实施例中,处理设备可以基于编程成绩、代码质量评估结果、代码编写能力评估结果以及教学评估结果,对待评估对象的未来教学计划进行调整。例如,当某一待评估对象的编程成绩过低、代码质量结果过差、代码编写能力评估结果过低,教学评估结果较差,则安排重点辅导或督促。
112.通过本说明书一些实施例所述的教学评估结果确定过程,可以实现基于多影响因素的教学效果反馈,为未来教学方法调整提供经验参考;另外,基于学习行为评估结果为待评估对象分配权重,可以减少冗杂数据对评估过程的影响,提高有效数据的利用率,最终得到更符合实际情况的评估结果。
113.应当注意的是,上述有关流程400的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程400进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,流程400还可以包括后处理的步骤。
114.图5是根据本说明书一些实施例所示的智能教学诊断系统的系统图。如图5所示,智能教学诊断系统500可以包括获取模块510、分析模块520和教学模块530。
115.获取模块510可以用于提供编程功能组件,以及通过编程功能组件获取待评估对象输入的至少一个代码段,关于代码段的获取具体可以参见图2及其相关描述。
116.分析模块520可以用于编译至少一个代码段,确定至少一个代码段中的可执行代码;基于可执行代码确定代码特征,所述代码特征包括代码文本特征、语法结构特征、代码排布方式、函数特征和长度特征中的至少一种;执行可执行代码,得到可执行代码的执行结果;以及基于执行结果以及代码特征,确定待评估对象的编程成绩,具体参见图2和图3中的相关描述。
117.在一些实施例中,分析模块520还可以用于获取待评估对象至少一轮编程的至少一组编程能力特征,编程能力特征包括用例通过率、错误类型分布、代码质量和代码修改信息中的至少一种;基于至少一组编程能力特征,确定待评估对象的编程能力评估结果,具体可参见图4步骤410及其相关描述。
118.在一些实施例中,分析模块520还可以用于基于待评估对象的学习行为数据,确定待评估对象的学习行为评估结果,具体可参见图4步骤420及其相关描述。
119.在一些实施例中,分析模块520还可以用于基于待评估对象的编程成绩、学习行为评估结果中的至少一种,确定教学评估结果,具体可参见图4步骤430及其相关描述。
120.教学模块530可以用于提供课程展示功能组件,以及通过课程展示功能组件获取待评估对象的学习行为数据,关于待评估对象的学习行为数据的获取具体参见图4步骤420及其相关描述。
121.需要注意的是,以上对于系统及其组成部分的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个组成部分进行任意组合,或者构成子系统
与其他组成部分连接。例如,各个组成部分可以共用一个存储设备,各个组成部分也可以分别具有各自的存储设备。诸如此类的变形,均在本说明书的保护范围之内。
122.本说明书一些实施例还公开了一种智能教学诊断装置,该装置包括至少一个处理器以及至少一个存储器,至少一个存储器用于存储计算机指令,至少一个处理器用于执行计算机指令中的至少部分指令以实现智能教学诊断方法。
123.本说明书一些实施例还公开了一种计算机可读存储介质,该存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机运行上述智能教学诊断方法。
124.上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
125.同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
126.此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
127.同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
128.一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有
±
20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
129.针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、
定义和/或术语的使用为准。
130.最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
技术特征:1.一种智能教学诊断系统,其特征在于,所述系统包括:获取模块,用于提供编程功能组件,以及通过所述编程功能组件获取待评估对象输入的至少一个代码段;分析模块,用于:编译所述至少一个代码段,确定所述至少一个代码段中的可执行代码;基于所述可执行代码确定代码特征,所述代码特征包括代码文本特征、语法结构特征、代码排布方式、函数特征和长度特征中的至少一种;执行所述可执行代码,得到所述可执行代码的执行结果;以及基于所述执行结果以及所述代码特征,确定所述待评估对象的编程成绩。2.如权利要求1所述的系统,其特征在于,所述分析模块还用于:获取所述待评估对象至少一轮编程的至少一组编程能力特征,所述编程能力特征包括用例通过率、错误类型分布、代码质量和代码修改信息中的至少一种;基于所述至少一组编程能力特征,确定所述待评估对象的编程能力评估结果。3.如权利要求1所述的系统,其特征在于,所述系统还包括教学模块,所述教学模块用于:提供课程展示功能组件,以及通过所述课程展示功能组件获取所述待评估对象的学习行为数据;所述分析模块还用于:基于所述待评估对象的所述学习行为数据,确定所述待评估对象的学习行为评估结果。4.如权利要求3所述的系统,其特征在于,所述分析模块还用于:基于所述待评估对象的所述编程成绩、所述学习行为评估结果中的至少一种,确定教学评估结果。5.一种智能教学诊断方法,其特征在于,所述方法包括:通过编程功能组件获取待评估对象输入的至少一个代码段;编译所述至少一个代码段,确定所述至少一个代码段中的可执行代码;基于所述可执行代码确定代码特征,所述代码特征包括代码文本特征、语法结构特征、代码排布方式、函数特征和长度特征中的至少一种;执行所述可执行代码,得到所述可执行代码的执行结果;以及基于所述执行结果以及所述代码特征,确定所述待评估对象的编程成绩。6.如权利要求5所述的方法,其特征在于,所述方法还包括:获取所述待评估对象至少一轮编程的至少一组编程能力特征,所述编程能力特征包括用例通过率、错误类型分布、代码质量和代码修改信息中的至少一种;基于所述至少一组编程能力特征,确定所述待评估对象的编程能力评估结果。7.如权利要求5所述的方法,其特征在于,所述方法还包括:通过课程展示功能组件获取所述待评估对象的学习行为数据;基于所述待评估对象的所述学习行为数据,确定所述待评估对象的学习行为评估结果。8.如权利要求7所述的方法,其特征在于,所述方法还包括:基于所述待评估对象的所述编程成绩、所述学习行为评估结果中的至少一种,确定教学评估结果。9.一种智能教学诊断装置,其特征在于,所述装置包括至少一个处理器以及至少一个存储器;
所述至少一个存储器用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令中的至少部分指令以实现一种智能教学诊断方法。10.一种计算机可读存储介质,其特征在于,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行一种智能教学诊断方法方法。
技术总结本说明书实施例提供一种智能教学诊断方法及系统,该方法包括:通过编程功能组件获取待评估对象输入的至少一个代码段;编译至少一个代码段,确定至少一个代码段中的可执行代码;基于可执行代码确定代码特征;执行可执行代码,得到可执行代码的执行结果;以及基于执行结果以及代码特征,确定待评估对象的编程成绩。该系统包括:获取模块,用于提供编程功能组件,以及通过编程功能组件获取待评估对象输入的至少一个代码段;分析模块,用于:编译至少一个代码段,确定至少一个代码段中的可执行代码;基于可执行代码确定代码特征;执行可执行代码,得到可执行代码的执行结果;以及基于执行结果以及代码特征,确定待评估对象的编程成绩。绩。绩。
技术研发人员:郝志卿
受保护的技术使用者:北京浩泰思特科技有限公司
技术研发日:2022.06.21
技术公布日:2022/11/1