CN112882932A - 一种自适应的在线编程试题测评方法和系统 - Google Patents
一种自适应的在线编程试题测评方法和系统 Download PDFInfo
- Publication number
- CN112882932A CN112882932A CN202110168301.5A CN202110168301A CN112882932A CN 112882932 A CN112882932 A CN 112882932A CN 202110168301 A CN202110168301 A CN 202110168301A CN 112882932 A CN112882932 A CN 112882932A
- Authority
- CN
- China
- Prior art keywords
- code
- test
- user
- evaluation
- test question
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 160
- 238000011156 evaluation Methods 0.000 title claims abstract description 64
- 238000003860 storage Methods 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 22
- 230000003044 adaptive effect Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 238000007373 indentation Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Computer Hardware Design (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- General Business, Economics & Management (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本发明提供一种自适应的在线编程试题测评方法、系统及计算机可读存储介质,以解决现有的编程学习平台中线编程测评试题生成单一,测试内容不够灵活,测评和显示参考答案不够快速高效的技术问题。从代码库中选取一段代码作为参考代码。获取当前测试用户的用户画像标签。在测评界面加载参考代码,并对测试代码进行隐藏,在该测试代码区域设置用户答题区域,完成在线编程测评试题生成。从所述答题区域获取用户输入的答题代码。判断用户填写代码是否正确。
Description
技术领域
本发明涉及教育应用领域,尤其涉及一种自适应的在线编程试题测评方法和系统。
背景技术
计算机程序编程的应用在各个领域发展迅速,为了适应当前社会经济和信息产业化快速发展的需求,计算机程序编程已成为程序员必须熟练掌握的一种基本技能。C语言、C++语言、Java语言是目前计算机程序设计中应用广泛的编程语言,在各类高等院校的计算机及相关专业中,C、C++等语言是必修的基础课。编程教学的普及面越来越大,而编程教育的在线学习、自主学习更需要一种非教师参与的自动试题生成和测评方法及系统。
目前的编程类题目自动评判方法主要以下几种,第一种,根据静态结果文件进行判分,评判系统通过比较考生提供的结果文件和预先准备的标准结果文件的内容进行评判;第二种,通过动态执行程序进行判分,评判系统动态编译考生提交的程序,并按照一定的测试用例动态执行程序,通过比较程序运行返回的结果和标准结果进行评判 ;第三种,根据程序源代码进行判分,评判系统按照一定的算法对考生提交的源程序代码和预先准备的标准源程序代码内容进行比较,依据它们的相似性进行评判。
然而,这些方法在分数评定上存在以下技术问题:(1)对一段程序代码进行考核时,考核的内容单一固定,不能根据需要对考察内容进行变更;(2)无法根据考核对象的特征进行有针对性的考核,并将正确的参考答案和用户输入的答案进行对比显示;(3)进行测评和显示参考答案不够快速高效。
发明内容
针对上述技术问题,本发明提供一种自适应在线编程试题测评方法、系统及计算机可读存储介质,以解决现有的编程学习平台中线编程测评试题生成单一,测试内容不够灵活,测评和显示参考答案不够快速高效的技术问题。
为实现上述目的,本发明实施例提供一种自适应在线编程试题测评方法,包括:
从代码库中选取一段代码作为参考代码。其中代码库可以是从网络中进行爬取的代码,也可以是由系统录入和维护的代码库。对代码按照编程语言和学习章节进行分类。根据用户的选择或学习进度安排,系统为其选择一段代码作为参考代码,以进行进一步的试题生成。
获取当前测试用户的用户画像标签。用户画像标签可以包括学习进度、历史测试成绩以及历史易错题目记录等标签。其中,该画像标签可以由在线编程教育平台进行导入。
将当前用户画像标签与所述代码段分配标签进行匹配,当匹配成功时,将该代码段作为所述测试代码。将该参考代码的部分设置为测试代码。所述参考代码可以划分为若干部分,在对代码进行划分时,尽量保持单一分块的内聚或可实现特定功能或操作。
在测评界面加载所述参考代码,并对所述测试代码进行隐藏,在该测试代码区域设置用户答题区域,完成在线编程测评试题生成。在加载参考代码时,可以直接省去隐藏部分,也可以对需要隐藏的部分设置蒙版,以实现对测试用户屏蔽测试代码的功能。在隐藏或省去测试代码的区域设置一答题区域,以供用户答题。同时保持测试代码和答题区域输入的代码的完整性,以便于后续对输入代码的正确性的判断和测评。
从所述答题区域获取用户输入的答题代码。
判断用户填写代码是否正确。
在一些实施例中,所述将该参考代码的部分设置为测试代码,具体为:
从所述参考代码中按照功能和/或考点选取至少一部分代码作为考点代码。一段参考中可能包含多个可供考核的考点代码段,可根据实际考核需求,自适应地选取其中一个代码段来作为测试代码。
在一些实施例中,所述从所述参考代码中按照功能和/或考点选取至少一部分代码作为考点代码具体为:
将所述参考代码划分为代码段,对代码进行划分,可以通过编辑器内的格式和缩进特征自动生成,也可以通过函数段或空格、分行等自动生成,也可以由用户按照考点手动进行划分。
为划分的代码段设置一个代码标签,该标签通过与预先设置的标签库进行匹配以生成,该标签可以反映代码的特征。其中代码特征可以为功能标签和/或难易度标签和/或是否易错的标签。在对代码进行分段和设置标签之后,将至少分配到一个标签的代码段作为考点代码。若没有分配到合适的标签,则该段代码不作为考点代码。
在一些实施例中,在测评界面加载所述参考代码,并对所述测试代码进行隐藏,在该测试代码区域设置用户答题区域,完成在线编程测评试题生成具体为:
在所述测试代码上方设置一蒙版,以隐藏所述测试代码;
在所述蒙版上设置输入框,以作为用户答题区域。
在一些实施例中,在对用户填写的代码是否正确进行判断后,进一步执行:
移除所述设置的蒙版和输入框以显示所述测试代码;
将输入框输入的用户代码平移,与所述测试代码并列显示。
在一些实施例中,所述判断用户填写代码是否正确具体为:
将评测代码与用户填写代码的整个代码进行拼接;
将所述拼接后的代码和所述参考代码分别进行进行执行;
将执行结果进行比较以确定用户输入结果是否正确。
在一些实施例中,在所述将所述拼接后的代码和所述参考代码分别进行进行执行前,执行以下操作:
获取所述拼接后的代码和所述参考代码的语法树;
计算接后的代码和所述参考代码的语法树的相似度S;
判断相似度S是否小于设定阈值,当S小于阈值时,确定用户输入的结果不正确,否则进行进一步的判断。
在一些实施例中,对代码进行执行,可以通过在测评系统中集成虚拟代码执行环境,在该环境中直接对代码进行编译和执行,也可以将待执行代码发送至评判服务器,通过评判服务器进行编译和执行并返回执行结果。
在一些实施例中,进行进一步的判断具体为:于将所述编程试题的作答答案输入多个测试用例,生成多个测试结果信息;根据所述测试结果信息和预设算法,生成与所述编程试题的作答答案对应的分值。
在一些实施例中,在对用户输入的结果进行判断后,根据测评结果对所述知识图谱和用户画像进行更新。
在一些实施例中,所述从所述考点代码中选取一个或多个作为所述测试代码具体为:所述用户画像标签为根据用户学习记录训练得到的学习知识点标签和/或根据用户历史答题记录训练得到的易错知识点标签。
在一些实施例中,所述在测评界面加载所述参考代码,并对所述测试代码进行隐藏,在该测试代码区域设置用户答题区域,完成在线编程测评试题生成具体具体为:
根据用户设置或学习进度安排,对当前试题设置试题难度。
根据设定试题难度,对所述隐藏测试代码区域进行设置,当试题难度较大时,扩大所述隐藏测试代码区域;当试题难度较小时,缩小所述隐藏测试代码区域。
在一些实施例中,可以通过设置测试代码的数量来扩大或缩小测试代码区域。
本发明实施例还提供一种自适应在线编程试题测评系统,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一个实施例中的自适应在线编程试题测评方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一个实施例中的自适应在线编程试题测评方法。
与现有技术相比,本发明实施例的自适应在线编程测评试题生成方法、平台及存储介质具有如下有益效果:
(1)可根据用户实际情况,进行自适应的在线编程试题生成,提高测试的针对性,通过对一段代码的不同区域的隐藏,可以实现不同考察维度和考察难度的设置,提高代码使用效率;
(2)在对试题进行测评时,不需要通过向服务器或者后台调用参考答案,而是通过直接在页面中显示被隐藏的参考代码,即可实现对试题的测评和显示,提高了测评和显示效率;
(3)可根据用户历史学习和测试情况,对测试题目进行动态调整以适应用户的学习情况的变化。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明自适应在线编程测评试题生成方法流程示意图。
图2示出了本发明实施例所提供的参考代码示意图。
图3示出了图2中参考代码分段示意图。
图4示出了本发明实施例所提供的试题生成示意图。
图5示出了本发明自适应的在线编程试题测评方法流程示意图。
图6示出了将参考代码与用户输入代码并列显示示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的在线编程试题测评方法、平台及存储介质,可以应用于大规模的编程类的教学测试、比赛等教学场景。
其中,本发明能够运行于安装有相应操作系统的计算机或者移动终端,例如windows操作系统的计算机,macOS操作系统的计算机,安卓操作系统的移动终端,并将信息反馈至计算机或者移动终端的显示界面。本发明各实施例中的自动测试绘图程序的方法还可在后台服务器上运行完成,再将测试判别结果反馈到前端的web页面或者app页面。尤其在编程教学中,对学生的学习成果进行检查评估具有重要意义,使用本发明所公开的方法可以实现对编程类试题的自适应生成,提高生成试题的效率和针对性。
在一个实施例中,提供了自适应在线编程试题测评方法,包括以下步骤:
从代码库中选取一段代码作为参考代码。其中代码库可以是从网络中进行爬取的代码,也可以是由系统录入和维护的代码库。对代码按照编程语言和学习章节进行分类。根据用户的选择或学习进度安排,系统为其选择一段代码作为参考代码,以进行进一步的试题生成。
获取当前测试用户的用户画像标签。用户画像标签可以包括学习进度、历史测试成绩以及历史易错题目记录等标签。其中,该画像标签可以由在线编程教育平台进行导入。
将当前用户画像标签与所述代码段分配标签进行匹配,当匹配成功时,将该代码段作为所述测试代码。将该参考代码的部分设置为测试代码。所述参考代码可以划分为若干部分,在对代码进行划分时,尽量保持单一分块的内聚或可实现特定功能或操作。
在测评界面加载所述参考代码,并对所述测试代码进行隐藏,在该测试代码区域设置用户答题区域,完成在线编程测评试题生成。在加载参考代码时,可以直接省去隐藏部分,也可以对需要隐藏的部分设置蒙版,以实现对测试用户屏蔽测试代码的功能。在隐藏或省去测试代码的区域设置一答题区域,以供用户答题。同时保持测试代码和答题区域输入的代码的完整性,以便于后续对输入代码的正确性的判断和测评。
从所述答题区域获取用户输入的答题代码。
判断用户填写代码是否正确。
在一些实施例中,所述将该参考代码的部分设置为测试代码,具体为:
从所述参考代码中按照功能和/或考点选取至少一部分代码作为考点代码。一段参考中可能包含多个可供考核的考点代码段,可根据实际考核需求,自适应地选取其中一个代码段来作为测试代码。
在一些实施例中,所述从所述参考代码中按照功能和/或考点选取至少一部分代码作为考点代码具体为:
将所述参考代码划分为代码段,对代码进行划分,可以通过编辑器内的格式和缩进特征自动生成,也可以通过函数段或空格、分行等自动生成,也可以由用户按照考点手动进行划分。
为划分的代码段设置一个代码标签,该标签通过与预先设置的标签库进行匹配以生成,该标签可以反映代码的特征。其中代码特征可以为功能标签和/或难易度标签和/或是否易错的标签。在对代码进行分段和设置标签之后,将至少分配到一个标签的代码段作为考点代码。若没有分配到合适的标签,则该段代码不作为考点代码。
在一些实施例中,在测评界面加载所述参考代码,并对所述测试代码进行隐藏,在该测试代码区域设置用户答题区域,完成在线编程测评试题生成具体为:
在所述测试代码上方设置一蒙版,以隐藏所述测试代码;
在所述蒙版上设置输入框,以作为用户答题区域。
在一些实施例中,在对用户填写的代码是否正确进行判断后,进一步执行:
移除所述设置的蒙版和输入框以显示所述测试代码;
将输入框输入的用户代码平移,与所述测试代码并列显示。
在一些实施例中,所述判断用户填写代码是否正确具体为:
将评测代码与用户填写代码的整个代码进行拼接;
将所述拼接后的代码和所述参考代码分别进行进行执行;
将执行结果进行比较以确定用户输入结果是否正确。
在一些实施例中,在所述将所述拼接后的代码和所述参考代码分别进行进行执行前,执行以下操作:
获取所述拼接后的代码和所述参考代码的语法树;
计算接后的代码和所述参考代码的语法树的相似度S,
判断相似度S是否小于设定阈值,当S小于阈值时,确定用户输入的结果不正确,否则进行进一步的判断。
在一些实施例中,对代码进行执行,可以通过在测评系统中集成虚拟代码执行环境,在该环境中直接对代码进行编译和执行,也可以将待执行代码发送至评判服务器,通过评判服务器进行编译和执行并返回执行结果。
在一些实施例中,进行进一步的判断具体为:于将所述编程试题的作答答案输入多个测试用例,生成多个测试结果信息;根据所述测试结果信息和预设算法,生成与所述编程试题的作答答案对应的分值。
在一些实施例中,在对用户输入的结果进行判断后,根据测评结果对所述知识图谱和用户画像进行更新。
在一些实施例中,所述从所述考点代码中选取一个或多个作为所述测试代码具体为:所述用户画像标签为根据用户学习记录训练得到的学习知识点标签和/或根据用户历史答题记录训练得到的易错知识点标签。
在一些实施例中,所述在测评界面加载所述参考代码,并对所述测试代码进行隐藏,在该测试代码区域设置用户答题区域,完成在线编程测评试题生成具体具体为:
根据用户设置或学习进度安排,对当前试题设置试题难度。
根据设定试题难度,对所述隐藏测试代码区域进行设置,当试题难度较大时,扩大所述隐藏测试代码区域;当试题难度较小时,缩小所述隐藏测试代码区域。
在一些实施例中,可以通过设置测试代码的数量来扩大或缩小测试代码区域。
本发明实施例还提供一种自适应在线编程试题测评系统,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一个实施例中的自适应在线编程试题测评方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一个实施例中的自适应在线编程试题测评方法。
本发明实施例是参照根据本发明实施例的方法、装置、设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种自适应的在线编程试题测评方法,其特征在于,包含以下步骤:
S1,从代码库中选取一段代码作为参考代码;
S2,根据用户掌握的知识图谱和用户画像,将该参考代码的部分设置为测试代码;
S3,在测评界面加载所述参考代码,并对所述测试代码进行隐藏,在该测试代码区域设置用户答题区域,完成在线编程测评试题生成;
S4,从所述答题区域获取用户输入的答题代码;
S5,判断用户填写代码是否正确。
2.根据权利要求1所述的在线编程试题测评方法,其特征在于,所述在测评界面加载所述参考代码,并对所述测试代码进行隐藏,在该测试代码区域设置用户答题区域,完成在线编程测评试题生成具体为:
S31,在所述测试代码上方设置一蒙版,以隐藏所述测试代码;
S32,在所述蒙版上设置输入框,以作为用户答题区域。
3.根据权利要求2所述的在线编程试题测评方法,其特征在于,在对用户填写的代码是否正确进行判断后,进一步执行:
移除所述设置的蒙版和输入框以显示所述测试代码;
将输入框输入的用户代码平移,与所述测试代码并列显示。
4.根据权利要求1所述的在线编程试题测评方法,其特征在于,所述判断用户填写代码是否正确具体为:
S51,将评测代码与用户填写代码的整个代码进行拼接;
S52,将所述拼接后的代码和所述参考代码分别进行执行;
S53,将执行结果进行比较以确定用户输入结果是否正确。
5.根据权利要求3所述的在线编程试题测评方法,其特征在于,在所述将所述拼接后的代码和所述参考代码分别进行执行前,执行以下操作:
S521,获取所述拼接后的代码和所述参考代码的语法树;
S522,计算接后的代码和所述参考代码的语法树的相似度S;
S523,判断相似度S是否小于设定阈值,当S小于阈值时,确定用户输入的结果不正确,否则进行进一步的判断。
6.根据权利要求4所述的在线编程试题测评方法,其特征在于,对代码进行执行,可以通过在测评系统中集成虚拟代码执行环境,在该环境中直接对代码进行编译和执行,也可以将待执行代码发送至评判服务器,通过评判服务器进行编译和执行并返回执行结果。
7.根据权利要求5所述的在线编程试题测评方法,所述进行进一步的判断具体为:于将所述编程试题的作答答案输入多个测试用例,生成多个测试结果信息;根据所述测试结果信息和预设算法,生成与所述编程试题的作答答案对应的分值。
8.根据权利要求1所述的在线编程试题测评方法,其特征在于,在对用户输入的结果进行判断后,根据测评结果对所述知识图谱和用户画像进行更新。
9.一种自适应在线编程试题测评系统,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的自适应在线编程试题测评方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110168301.5A CN112882932A (zh) | 2021-02-07 | 2021-02-07 | 一种自适应的在线编程试题测评方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110168301.5A CN112882932A (zh) | 2021-02-07 | 2021-02-07 | 一种自适应的在线编程试题测评方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112882932A true CN112882932A (zh) | 2021-06-01 |
Family
ID=76056032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110168301.5A Pending CN112882932A (zh) | 2021-02-07 | 2021-02-07 | 一种自适应的在线编程试题测评方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112882932A (zh) |
-
2021
- 2021-02-07 CN CN202110168301.5A patent/CN112882932A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598869A (zh) | 实现软件自动测试的方法、装置及电子设备 | |
EP3819808A1 (en) | Text sequence segmentation method and device, and storage medium thereof | |
Aceituna et al. | Model-based requirements verification method: Conclusions from two controlled experiments | |
US20140113257A1 (en) | Automated evaluation of programming code | |
CN111400471A (zh) | 问题推荐方法、系统、电子设备和存储介质 | |
US20200201741A1 (en) | Identification of software program fault locations | |
CN111753553B (zh) | 语句类型识别方法、装置、电子设备和存储介质 | |
CN112883174A (zh) | 一种在线编程测试题目自动生成方法和系统 | |
Nabil et al. | Evalseer: an intelligent gamified system for programming assignments assessment | |
CN116756276A (zh) | 一种提示信息生成系统及提示信息生成模型获得方法 | |
CN112905451B (zh) | 应用程序的自动化测试方法及装置 | |
CN117725895A (zh) | 文档生成方法、装置、设备及介质 | |
CN112508692A (zh) | 基于卷积神经网络的资源回收风险预测方法、装置和电子设备 | |
CN112882932A (zh) | 一种自适应的在线编程试题测评方法和系统 | |
CN116841519B (zh) | 一种代码编写教学评估方法及系统 | |
CN113204945A (zh) | 应用题批改方法、装置、计算机可读介质及电子设备 | |
CN113392003A (zh) | 编程代码的评价方法及装置 | |
Gangur | Automated generation of statistical tasks | |
US20220004893A1 (en) | System for generating multiple similar questions and their solutions and method thereof | |
CN117725414B (zh) | 训练内容生成模型方法、确定输出内容方法、装置及设备 | |
CN117573891B (zh) | 基于文本理解模型的知识点生成方法及系统 | |
CN116361193B (zh) | 版式文档文本选择的测试方法及装置 | |
CN113608977A (zh) | 可视化编程作品评判方法及装置 | |
CN112037596A (zh) | 基于人工智能的编程作品自动批改方法及编程学习平台 | |
Scott et al. | Case Study: Customised Enhancement of an MBSE Environment for Transport Infrastructure Projects |
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 |