CN110633072B - 一种可供自动批改的编程训练题目构造方法及装置 - Google Patents

一种可供自动批改的编程训练题目构造方法及装置 Download PDF

Info

Publication number
CN110633072B
CN110633072B CN201910696000.2A CN201910696000A CN110633072B CN 110633072 B CN110633072 B CN 110633072B CN 201910696000 A CN201910696000 A CN 201910696000A CN 110633072 B CN110633072 B CN 110633072B
Authority
CN
China
Prior art keywords
module
test data
programming training
program
answer
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
Application number
CN201910696000.2A
Other languages
English (en)
Other versions
CN110633072A (zh
Inventor
苏庆
黄剑锋
刘添添
李小妹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN201910696000.2A priority Critical patent/CN110633072B/zh
Publication of CN110633072A publication Critical patent/CN110633072A/zh
Application granted granted Critical
Publication of CN110633072B publication Critical patent/CN110633072B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers
    • G09B7/02Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种可供自动批改的编程训练题目构造方法及装置,所述的装置包括题目说明生成模块、测试框架模块、测试数据生成模块、标准答案模块、待批改答案模块以及输出结果比较模块。该方法可自动生成分批多次测试数据,包括随机测试数据和非随机测试数据;采用同一测试数据作为输入,分别调用标准答案模块和待批改答案模块来获得各自的输出结果并进行自动比较,实现了编程训练题的无需人工干预的自动批改;一方面避免了由于人工构造测试数据欠缺全面性和随机性的缺陷;另一方面无需出题者人工生成测试数据对应的输出结果,既避免了人工操作失误的可能性,也减轻了出题者的工作量,提高了出题效率。

Description

一种可供自动批改的编程训练题目构造方法及装置
技术领域
本发明涉及计算机编程教育领域,具体涉及一种可供自动批改的编程训练题目构造方法及装置。
背景技术
在计算机编程教育领域,学生需要进行大量的编程练习方能掌握编程技巧,提高编程水平。但是一方面,与由自然语言撰写的文献资料相比,计算机程序存在可读性差和逻辑严谨复杂的特点,导致人工批改编程训练题时存在准确率难以保障、效率低的情况。另一方面,随着互联网的飞速发展,各种在线教育平台大量涌现,在线受教育用户也在快速增长,人工批改方式已经不能满足庞大的用户需求。
在当前已有的编程训练题自动批改系统中,大多是首先人工设置固定的测试数据和答案,将待批改程序独立编译成一个可执行程序然后运行,之后利用进程间的调试器对待批改程序的运行结果进行获取并与预设答案进行匹配。这样的方案存在以下不足:
1.测试数据和答案都为预先固定设置好,导致在对用户程序的测试过程可能存在片面性,以及缺乏灵活性。甚至用户有可能对在线教育系统进行反复多次试探,获取所有的测试数据和答案,然后进行作弊。
2.要将用户程序独立编译成一个可执行程序和运行,则必须由用户自行在待批改程序中包含主函数以及实现符合测试数据输入规范的接口。这部分工作耗费了用户的学习精力,但又不是在编程训练中必定需要长期和重复练习的。这使得用户的学习精力被浪费在无效的工作上。
3.目前的大多数自动批改系统在将待批改程序答案与预设答案匹配后,即按照一定的策略给出评分,然后结束整个批改过程,忽视了在编程训练过程中存在非常重要的程序调试环节。在编程训练过程中,如果人工待批改程序答案与预设答案不匹配,可以进入程序调试环节,令用户可根据当前出错时对应的测试数据进行程序的检查和除错,方能使得编程训练更有针对性。
申请号为201510740357.8的中国发明专利申请公开了一种编程类考题自动测评方法和系统,该方法中的测试用例为预设,并且对应的输出必须由出题者事先指定;另外,该方法中的测评代码是一个独立可运行的计算机程序,需要确定测试用例对应的输入、输出、权重和分数;其测评目的着重于给出编程类考试的量化分数。
申请号为201510256677.6的中国发明专利公开了一种Java编程题目自动评判方法及系统,实现了自动评判Java编程题目的答题代码的功能。该方法采用的是将评判代码插入至待评判的答题代码中的方法,并要求答题代码必须包含主程序入口,与评判代码之间的接口;该方案中的评判代码需要预先设定,由此可见测试数据及其对应的输出都需要事先编制于在待评判代码中;另外,该发明着重于对答案代码的评判并给出量化得分。
发明内容
本发明的目的在于提供一种可供自动批改的编程训练题目构造方法及装置,解决在大规模在线编程教育需求下,编程训练题目测试数据及其标准输出需要人工预先设定而导致自动评判的全面性和灵活性差,影响题目构造效率的问题,以及未能与程序调试模块无缝连接的问题。
为了实现上述任务,本发明采用以下技术方案:
一种可供自动批改的编程训练题目构造方法,包括以下步骤:
构造编程训练题的题目说明;
构造编程训练题程序,包括:
构造一个测试框架模块,该模块包含了程序主入口,同时包含了对测试数据生成模块的调用接口、对标准答案模块的调用接口、对待批改答案模块的调用接口、以及对输出结果比较模块的调用接口;
构造一个或多个测试数据生成模块,该模块生成的测试数据可以是固定不变的数据,也可以是受随机因素影响的、每次都不重复的数据;
构造一个标准答案模块,该模块是根据编程训练题的解答思路编写的程序代码,以函数形式存在,可以被测试框架模块调用;
构造待批改答案模块,该模块以函数形式存在,并且该函数形式与标准答案模块中的函数形式相比,两者除了函数名称不同外,其他函数信息都相同;
构造输出结果比较模块,该模块将同一测试数据,分别输入至标准答案模块和待批改答案模块后各自得到的输出进行比较;如果上述两个模块的输出完全一致,这说明对于上述测试数据,待批改答案的功能与标准答案模块的功能等价,视为通过本次测试;否则,视为不通过本次测试并进入程序调试模式。
进一步地,所述的编程训练题的题目说明,其介质存在形式包括但不限于文档、图片、动画、音频和视频;该说明采用自然语言,详细描述当前编程训练题目的任务、注意事项、相关提示以及用户要实现的函数的定义。
进一步地,所述的待批改答案模块一开始建立时,函数体为空,或者不完整,或者有错误;该模块为用户可见,用户可对其进行编辑;用户解题时,将其自行编写的解题代码填充于此处,或者修改该模块中现有代码。
进一步地,所述的其他函数信息,包括返回值类型、参数列表和所属的类。
进一步地,所述的测试框架模块还包含其他必要的头文件、包及资源。
本发明进一步公开了一种可供自动批改的编程训练题目构造装置,包括:
题目说明生成模块,用于构造编程训练题的题目说明;
测试框架模块,包含了程序主入口,同时包含了对测试数据生成模块的调用接口、对标准答案模块的调用接口、对待批改答案模块的调用接口、以及对输出结果比较模块的调用接口;
测试数据生成模块,用于生成测试数据;所述的测试数据可以是固定不变的数据,也可以是受随机因素影响的、每次都不重复的数据;
标准答案模块,该模块是根据编程训练题的解答思路编写的程序代码,以函数形式存在,可以被测试框架模块调用;
待批改答案模块,该模块以函数形式存在,并且该函数形式与标准答案模块中的函数形式相比,两者除了函数名称不同外,其他函数信息都相同;
输出结果比较模块,该模块将同一测试数据,分别输入至标准答案模块和待批改答案模块后各自得到的输出进行比较;如果上述两个模块的输出完全一致,这说明对于上述测试数据,待批改答案的功能与标准答案模块的功能等价,视为通过本次测试;否则,视为不通过本次测试并进入程序调试模式。
进一步地,当编程训练题通过所述的构造装置构造完成后,在在线教育系统中上线,供用户进行编程训练答题,答题过程包括:
(1)用户登录在线教育系统后,打开某一道编程训练题,并阅读编程训练题的题目说明;
(2)用户填写或修改待批改答案模块:
用户根据题意并进行思考,如果题目类型为程序设计题或者填空题,则填入自行编写的代码;如果题目类型为改错题,则修改该模块中已有的代码;
(3)编译编程训练题程序,如果未通过编译,则返回上一步;
(4)运行编程训练题程序,调用测试数据生成模块,生成测试数据;
(5)以上述测试数据作为输入,调用标准答案模块,得到标准输出;
(6)以上述测试数据作为输入,调用待批改答案模块,得到用户输出;
(7)比较标准输出和用户输出是否一致,如果不一致,则进入程序调试模式,并通知用户未通过以当前测试数据为输入的测试,需要进行程序调试;
(8)检查是否完成所有测试;如果已完成所有测试,则结束编程训练题程序的运行;否则返回第(5)步。
本发明具有以下技术特点:
1.本发明方法可自动生成分批多次测试数据,包括随机测试数据和非随机测试数据;采用同一测试数据作为输入,分别调用标准答案模块和待批改答案模块来获得各自的输出结果并进行自动比较,实现了编程训练题的无需人工干预的自动批改。
2.本发明方法一方面无需出题者人工构造测试数据,避免了由于人工构造测试数据欠缺全面性和随机性的缺陷;另一方面无需出题者人工生成测试数据对应的输出结果,既避免了人工操作失误的可能性,也减轻了出题者的工作量,提高了出题效率。对于所有测试数据,只有用户的输出结果与标准答案的输出结果完全一致时,方可认定为待批改程序正确,本道编程训练题的训练过程方可视为完成。对于某一测试数据,当待批改答案的输出结果与标准答案的输出结果不一致时,进入调试模式,无缝连接地向用户提供程序调试的途径。
附图说明
图1为本发明方法的整体流程示意图。
图2为编程训练题的解题过程。
具体实施方式
一道编程训练题目由两部分组成:
第一部分,题目说明生成模块,用于生成一份关于题目意义的说明,称为题目说明。其介质存在形式包括但不限于文档、图片、动画、音频和视频等。该说明采用自然语言,详细描述当前所述编程训练题目的任务、注意事项、相关提示以及用户(受训者)要实现的函数的定义。
第二部分:编程训练题程序,该程序由测试框架模块、测试数据生成模块、标准答案模块、待批改答案模块和输出结果比较模块组成,其中:
测试框架模块:一个包含程序主入口、指明了要在编程训练题程序中导入的其它资源(包括但不限于头文件、其它程序文件等)、同时还包含了对测试数据生成模块的调用接口、对标准答案模块的调用接口、对待批改答案模块的调用接口、以及对输出结果比较模块的调用接口。
测试数据生成模块:一个用于生成当前编程训练题的测试数据的模块。这些测试数据既可以是固定不变的数据,也可以是受某些随机数影响,每次都在极大概率上不重复的数据。
标准答案模块:该模块是编程训练题的标准答案代码,该模块以测试数据为输入,得到的输出结果即为标准输出。
待批改答案模块:该模块是一个规定了相关信息(返回值类型、函数名和参数列表等)的函数,并且规定用户不能更改上述函数相关信息。该模块一开始被建立时,该模块的函数体内部为空、或者不完整、或者有错误,有待用户根据编程训练题的题意进行程序代码的填充或者修改。
输出结果比较模块:该模块用于在以同一测试数据作为输入的前提下,将标准程序模块的输出结果与待批改程序的输出结果进行比较。如果两者完全相同,则视为待批改程序通过以上述测试数据为输入的测试,否则视为不通过。
注:编程训练题框架程序可能会多次生成测试数据,然后多次调用标准程序模块和待批改程序模块。只有每一次标准程序模块的标准输出结果与待批改程序的输出结果进行比较时,两者都完全相同,方可视为待批改程序正确,否则视为待批改程序不正确。
其中编程训练题程序主入口(即程序运行时的入口点)位于框架模块;用户要实现或者修改的函数位于待批改答案模块,即,用户需要将自行设计的代码填写至待批改答案模块或者修改待批改答案模块中已有的代码。
以上编程训练题目的两部分对于在线教育系统管理员为全部可见;对于用户(受训者)则只有题目说明和待批改答案模块可见,编程训练程序的其他所有模块对于用户是不可见的。
编程训练题的使用过程如下:
用户首先阅读题目说明;然后在待批改答案模块中填写或者修改程序代码;用户在在线教育系统中编译和运行整个编程训练题程序;如果用户填写或者修改后的待批改答案模块的功能达到题目要求,则显示通过,否则进入程序调试过程。
本发明的一种可供自动批改的编程训练题目构造方法,包括题目说明的构造以及编程训练题程序的构造两部分,其中:
步骤1,题目说明的构造过程
题目说明的构造过程是以文字、图形、音频和/或者视频的介质记录关于编程训练题的任务、注意事项、提示以及用户(受训者)要实现的函数的定义等信息。题目说明可以令用户(受训者)可以从中清楚了解所有必要的解题信息。
步骤2,编程训练题程序的构造过程
步骤2.1,构造一个测试框架模块,该模块包含了程序主入口(例如main函数),以及其它必要的头文件、包或者其它资源;同时包含了对测试数据生成模块的调用接口、对标准答案模块的调用接口、对待批改答案模块的调用接口、以及对输出结果比较模块的调用接口。
步骤2.2,构造一个或多个测试数据生成模块。该模块生成的测试数据可以是固定不变的数据,也可以是受随机因素影响的、每次都大概率地不重复的数据。
注:测试数据生成模块可能存在多个。出题者可能会多次分批生成测试数据对待批改程序进行测试,因此这些测试数据生成模块可能会依照一定策略(例如顺序、循环或者随机等)被调用。
步骤2.3,构造一个标准答案模块。该模块是根据编程训练题的解答思路编写的程序代码,以函数形式存在,可以被测试框架模块调用。
步骤2.4,构造待批改答案模块。该模块也是以函数形式存在,并且该函数形式与标准答案模块中的函数形式相比,两者除了函数名称不同外,其他函数信息(返回值类型、参数列表和所属的类等)都相同。该答案模块一开始建立时函数体为空(即仅包含了函数信息),或者不完整,或者有错误。该模块为用户可见,用户可对其进行编辑。用户的解题过程即是将其自行编写的解题代码填充于此处,或者修改该模块中现有代码的过程。
步骤2.5,构造输出结果比较模块。将同一测试数据,分别输入至标准答案模块和待批改答案模块后各自得到的输出进行比较。如果上述两个模块的输出完全一致,这说明对于上述测试数据,待批改答案的功能与标准答案模块的功能等价,视为通过本次测试;否则,视为不通过本次测试并进入程序调试模式。
由步骤2.5可知,本发明的一个特点是,在生成测试数据后,不需要为该测试数据人工地去预先设定该测试数据的输出结果,而是由标准答案模块去生成。这样做的好处在于,在测试数据生成模块,可以随机和自动地生成各种以及多批次测试数据,提升了测试数据生成过程的全面性和灵活性,进而提升了测试质量。程序调试模式由用于计算机编程的集成开发环境提供,不在本方案要求保护的范围内。
整个编程训练题程序构造完毕之后,如果待批改答案模块为空,或者包含了无语法错误但所实现的功能有错误的代码,则整个编程训练题框架程序是可以通过编译并运行的,只是此时将标准输出与用户输出比较时,必然会得到不通过的结果;如果待批改答案模块包含了不完整的代码,或者包含了有语法错误的代码,则整个编程训练题框架程序不能通过编译,也无法运行。
在上述技术方案的基础上,本发明进一步公开了一种可供自动批改的编程训练题目构造装置,包括:
题目说明生成模块,用于构造编程训练题的题目说明;
测试框架模块,包含了程序主入口,同时包含了对测试数据生成模块的调用接口、对标准答案模块的调用接口、对待批改答案模块的调用接口、以及对输出结果比较模块的调用接口;
测试数据生成模块,用于生成测试数据;所述的测试数据可以是固定不变的数据,也可以是受随机因素影响的、每次都不重复的数据;
标准答案模块,该模块是根据编程训练题的解答思路编写的程序代码,以函数形式存在,可以被测试框架模块调用;
待批改答案模块,该模块以函数形式存在,并且该函数形式与标准答案模块中的函数形式相比,两者除了函数名称不同外,其他函数信息都相同;
输出结果比较模块,该模块将同一测试数据,分别输入至标准答案模块和待批改答案模块后各自得到的输出进行比较;如果上述两个模块的输出完全一致,这说明对于上述测试数据,待批改答案的功能与标准答案模块的功能等价,视为通过本次测试;否则,视为不通过本次测试并进入程序调试模式。
当编程训练题被构造完毕,即可在在线教育系统中上线,供用户进行编程训练,即进行答题。为更好地帮助理解,在此说明用户的答题过程:
(1)用户登录在线教育系统后,打开某一道编程训练题,并阅读编程训练题的题目说明;
(2)用户填写或修改待批改答案模块。即用户根据题意并进行思考,如果题目类型为程序设计题(即待批改答案模块中的函数体为空)或者填空题,则填入自行编写的代码;如果题目类型为改错题,则修改该模块中已有的代码。
(3)编译编程训练题程序,如果未通过编译,则返回上一步。
(4)运行编程训练题程序,调用测试数据生成模块,生成测试数据。
(5)以上述测试数据作为输入,调用标准答案模块,得到标准输出。
(6)以上述测试数据作为输入,调用待批改答案模块,得到用户输出。
(7)比较标准输出和用户输出是否一致,如果不一致,则进入程序调试模式,并通知用户未通过以当前测试数据为输入的测试,需要进行程序调试。
(8)检查是否完成所有测试。如果已完成所有测试,则结束编程训练题程序的运行;否则返回第(5)步。之所以要进行这一步检查的原因是,出题者有可能需要多次分批生成用于测试不同情况的测试数据进行测试,并由此设定编程训练题程序运行结束条件。因此需要在这一步进行检查是否满足了出题者设定的编程训练题程序运行结束条件。
根据上述技术内容,本发明的方法可依照一定策略自动生成随机测试数据和/或者非随机测试数据,无需出题者事先预设;对于随机测试数据和非随机测试数据,都可以调用标准答案输出模块获得标准输出,无需人工生成测试数据对应的输出;对于所有测试数据,只有用户的输出结果与标准答案的输出结果完全一致时,方可认定为待批改程序正确,本道编程训练题的训练过程方可视为完成。当待批改答案的输出结果与标准答案的输出结果不一致时,进入调试模式,无缝连接地向用户提供程序调试的途径。

Claims (7)

1.一种可供自动批改的编程训练题目构造方法,其特征在于,包括以下步骤:
构造编程训练题的题目说明;
构造编程训练题程序,包括:
构造一个测试框架模块,该模块包含了程序主入口,同时包含了对测试数据生成模块的调用接口、对标准答案模块的调用接口、对待批改答案模块的调用接口、以及对输出结果比较模块的调用接口;
构造一个或多个测试数据生成模块,该模块生成的测试数据可以是固定不变的数据,也可以是受随机因素影响的、每次都不重复的数据;
构造一个标准答案模块,该模块是根据编程训练题的解答思路编写的程序代码,以函数形式存在,可以被测试框架模块调用;
构造待批改答案模块,该模块以函数形式存在,并且该函数形式与标准答案模块中的函数形式相比,两者除了函数名称不同外,其他函数信息都相同;
构造输出结果比较模块,该模块将同一测试数据,分别输入至标准答案模块和待批改答案模块后各自得到的输出进行比较;如果上述两个模块的输出完全一致,这说明对于上述测试数据,待批改答案的功能与标准答案模块的功能等价,视为通过本次测试;否则,视为不通过本次测试并进入程序调试模式。
2.如权利要求1所述的可供自动批改的编程训练题目构造方法,其特征在于,所述的编程训练题的题目说明,其介质存在形式包括但不限于文档、图片、动画、音频和视频;该说明采用自然语言,详细描述当前编程训练题目的任务、注意事项、相关提示以及用户要实现的函数的定义。
3.如权利要求1所述的可供自动批改的编程训练题目构造方法,其特征在于,所述的待批改答案模块一开始建立时,函数体为空,或者不完整,或者有错误;该模块为用户可见,用户可对其进行编辑;用户解题时,将其自行编写的解题代码填充于此处,或者修改该模块中现有代码。
4.如权利要求1所述的可供自动批改的编程训练题目构造方法,其特征在于,所述的其他函数信息,包括返回值类型、参数列表和所属的类。
5.如权利要求1所述的可供自动批改的编程训练题目构造方法,其特征在于,所述的测试框架模块还包含其他必要的头文件、包及资源。
6.一种可供自动批改的编程训练题目构造装置,其特征在于,包括:
题目说明生成模块,用于构造编程训练题的题目说明;
测试框架模块,包含了程序主入口,同时包含了对测试数据生成模块的调用接口、对标准答案模块的调用接口、对待批改答案模块的调用接口、以及对输出结果比较模块的调用接口;
测试数据生成模块,用于生成测试数据;所述的测试数据可以是固定不变的数据,也可以是受随机因素影响的、每次都不重复的数据;
标准答案模块,该模块是根据编程训练题的解答思路编写的程序代码,以函数形式存在,可以被测试框架模块调用;
待批改答案模块,该模块以函数形式存在,并且该函数形式与标准答案模块中的函数形式相比,两者除了函数名称不同外,其他函数信息都相同;
输出结果比较模块,该模块将同一测试数据,分别输入至标准答案模块和待批改答案模块后各自得到的输出进行比较;如果上述两个模块的输出完全一致,这说明对于上述测试数据,待批改答案的功能与标准答案模块的功能等价,视为通过本次测试;否则,视为不通过本次测试并进入程序调试模式。
7.如权利要求6所述的可供自动批改的编程训练题目构造装置,其特征在于,当编程训练题通过所述的构造装置构造完成后,在在线教育系统中上线,供用户进行编程训练答题,答题过程包括:
(1)用户登录在线教育系统后,打开某一道编程训练题,并阅读编程训练题的题目说明;
(2)用户填写或修改待批改答案模块:
用户根据题意并进行思考,如果题目类型为程序设计题或者填空题,则填入自行编写的代码;如果题目类型为改错题,则修改该模块中已有的代码;
(3)编译编程训练题程序,如果未通过编译,则返回上一步;
(4)运行编程训练题程序,调用测试数据生成模块,生成测试数据;
(5)以上述测试数据作为输入,调用标准答案模块,得到标准输出;
(6)以上述测试数据作为输入,调用待批改答案模块,得到用户输出;
(7)比较标准输出和用户输出是否一致,如果不一致,则进入程序调试模式,并通知用户未通过以当前测试数据为输入的测试,需要进行程序调试;
(8)检查是否完成所有测试;如果已完成所有测试,则结束编程训练题程序的运行;否则返回第(5)步。
CN201910696000.2A 2019-07-30 2019-07-30 一种可供自动批改的编程训练题目构造方法及装置 Active CN110633072B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910696000.2A CN110633072B (zh) 2019-07-30 2019-07-30 一种可供自动批改的编程训练题目构造方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910696000.2A CN110633072B (zh) 2019-07-30 2019-07-30 一种可供自动批改的编程训练题目构造方法及装置

Publications (2)

Publication Number Publication Date
CN110633072A CN110633072A (zh) 2019-12-31
CN110633072B true CN110633072B (zh) 2023-01-20

Family

ID=68970033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910696000.2A Active CN110633072B (zh) 2019-07-30 2019-07-30 一种可供自动批改的编程训练题目构造方法及装置

Country Status (1)

Country Link
CN (1) CN110633072B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112037596A (zh) * 2020-08-13 2020-12-04 广州汇才创智科技有限公司 基于人工智能的编程作品自动批改方法及编程学习平台
CN113688273B (zh) * 2021-10-26 2022-03-04 杭州智会学科技有限公司 面向图形类题目的作答及判定方法和装置
CN117215901B (zh) * 2023-11-09 2024-03-08 华南师范大学 基于动态追踪的编程练习评价方法、系统、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001249608A (ja) * 2000-03-02 2001-09-14 Vlc Co Ltd 電子通信を用いた自動採点・添削方法及びシステム
CN104732320A (zh) * 2014-10-14 2015-06-24 苏州市职业大学 一种计算机职业技能鉴定训练系统
CN105427695A (zh) * 2015-11-03 2016-03-23 中国农业大学 编程类考题自动测评方法和系统
CN105761563A (zh) * 2014-12-18 2016-07-13 中国农业大学 编程题评测系统的学生客户端、教师客户端及服务器端
CN106293654A (zh) * 2015-05-19 2017-01-04 广州数度软件有限公司 Java编程题目自动评判方法及系统
CN106326112A (zh) * 2016-08-15 2017-01-11 江苏海事职业技术学院 一种程序作业自动批改的方法和装置
CN106846203A (zh) * 2017-03-09 2017-06-13 常州工学院 一种智能阅卷方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001249608A (ja) * 2000-03-02 2001-09-14 Vlc Co Ltd 電子通信を用いた自動採点・添削方法及びシステム
CN104732320A (zh) * 2014-10-14 2015-06-24 苏州市职业大学 一种计算机职业技能鉴定训练系统
CN105761563A (zh) * 2014-12-18 2016-07-13 中国农业大学 编程题评测系统的学生客户端、教师客户端及服务器端
CN106293654A (zh) * 2015-05-19 2017-01-04 广州数度软件有限公司 Java编程题目自动评判方法及系统
CN105427695A (zh) * 2015-11-03 2016-03-23 中国农业大学 编程类考题自动测评方法和系统
CN106326112A (zh) * 2016-08-15 2017-01-11 江苏海事职业技术学院 一种程序作业自动批改的方法和装置
CN106846203A (zh) * 2017-03-09 2017-06-13 常州工学院 一种智能阅卷方法及系统

Also Published As

Publication number Publication date
CN110633072A (zh) 2019-12-31

Similar Documents

Publication Publication Date Title
CN110633072B (zh) 一种可供自动批改的编程训练题目构造方法及装置
US6434738B1 (en) System and method for testing computer software
Corbett et al. LISP intelligent tutoring system: Research in skill acquisition
CN112133146B (zh) 一种算法练习代码执行可视化系统
US20090280456A1 (en) Method and system for automatically generating questions for a programming language
Phothilimthana et al. High-coverage hint generation for massive courses: Do automated hints help CS1 students?
CN110852653A (zh) 一种应用于计算机编程题的自动评分系统
Insa et al. Semiautomatic generation and assessment of Java exercises in engineering education
Ulloa Teaching and learning computer programming: a survey of student problems, teaching methods, and automated instructional tools
Keuning Automated feedback for learning code refactoring
Sykes Design, Development and Evaluation of the Java Intelligent Tutoring System.
CN113778454B (zh) 一种人工智能实验平台的自动评测方法及系统
Funabiki et al. A proposal of coding rule learning function in Java programming learning assistant system
CN112799938A (zh) 一种基于python的microbit编程题目自动评测方法及系统
Benford et al. Learning to construct quality software with the Ceilidh system
CN112102676B (zh) 一种培训内容生成方法及装置
Hahn et al. Lud: An automatic scoring and feedback system for programming assignments
Brown et al. Regexex: An interactive system providing regular expression exercises
CN117216220B (zh) 一种大语言模型的使用方法及装置
Bosse et al. Catalogs of C and Python Antipatterns by CS1 Students
Kerslake The code is lava: Improving children's debugging skills with explicit instruction
Koong et al. Online Judgment System for Assessing C Program Structure.
Tscherter Exorciser: automatic generation and interactive grading of structured excercises in the theory of computation
Prasad et al. VeriSIM: A model-based learning pedagogy for fostering software design evaluation skills in computer science undergraduates
Muñoz et al. Teaching Compilers: Automatic Question Generation and Intelligent Assessment of Grammars' Parsing

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
GR01 Patent grant
GR01 Patent grant