当前位置: 首页 > 专利查询>吉林大学专利>正文

一种在线的程序设计类题目随机出题考核系统技术方案

技术编号:23893471 阅读:25 留言:0更新日期:2020-04-22 07:27
本发明专利技术提供了一种在线的程序设计类题目随机出题考核系统,联合考生ID与测试ID进行考核题目的数据库查询操作,随机从出题列表中生成题目组成程序设计类题目列表,插入到数据库中;随机从出题列表中生成题目组成的程序设计类题目列表信息显示在考生登录运行的考核系统中;导出所有学生的运行正确的题目数和得分数。可有效避免抄袭现象发生。

An on-line random examination system for programming questions

【技术实现步骤摘要】
一种在线的程序设计类题目随机出题考核系统
本专利技术属于在线考核系统领域,尤其涉及一种在线的程序设计类题目考核系统。
技术介绍
高等院校程序设计类课程由于其独特的课程特点使得实践环节的考核十分重要,但作为专业基础课,甚至是公共基础课,学生数目的大规模特点为实践考核带来了难题。特别在“慕课”时代,各种网络课程对教学形式造成了巨大的冲击,在知识传播方面“慕课”可以进行教学内容的大规模传授,但在考评方面“慕课”一直存在质疑的声音,尤其是学习某课程可以获得高校学分时,学生数目的大规模使得作弊和剽窃问题放大化。因此,如何避免学习者的作弊和剽窃是“慕课”无法回避的一个问题。对于实践环节考核十分重要的程序设计类课程,如何避免学习者的作弊和剽窃这一问题尤为突出。实践环节考核如果采用分散考核的方式,由于考核周期变长,后参加考核的同学会出现作弊,抄袭等问题,随之而来的教师更新考核题目,辨别作弊等问题层出不穷。而避免这一问题的措施之一,就是提供有监考的考试。但当选课规模很大时,需要大规模的考核环境,给监考带来了压力,而程序设计类课程的实践考核在考核规模比较大时其工作强度直逼教师体力极限,考核结果也很难保证公平,考核后以疲惫状态进行理论教学也不利于教学效果的提高。程序设计类课程的考核主要针对编程题考核,不同于现有选择题、填空题等客观性考核,编程题考核需要考生使用某种程序设计语言编写代码,将代码编译、运行,根据运行结果是否符合题目要求来判断考核是否通过。目前可使用的开源在线评测系统以及在其上开发和改进的在线评测系统为程序设计类课程实践环节的自动化考核提供了可选项,程序的语法和测试工作可由系统自动化完成,该系统也能减轻教师一部分的考核工作负担。然而,使用“在线评测”系统仍无法杜绝学生的抄袭现象,张丽萍等人使用“在线评测”与“抄袭检测”相结合的方式来解决抄袭作弊问题,以惩罚机制来抑制抄袭行为[张丽萍,刘东升,王春晖.程序设计类课程考核评价方法的改革与实践[J].计算机教育,2010,(2):17-20.]。这种方法要求考核教师对抄袭事实做出准确的判定,要经过收集、分析、确认、调查四个阶段,逃避惩罚的侥幸心理仍会驱使抄袭现象的出现,在不断的博弈中,教师精力将浪费其中。而对于实践考核而言,授课教师应当以更大的精力投入到互动、讨论、答辩等环节,才更有益于教学效果的提高。当参加考核的用户较多时,抄袭现象依然难以得到控制。
技术实现思路
本专利技术的目的是解决上述问题,提供了一种在线的程序设计类题目随机出题考核系统,包括如下步骤:步骤1,教师指定出题列表,指定题目数,新建一个测试,并将该测试处于激活状态;步骤2,考生首次登录考核系统运行时,对于处于激活状态的测试,联合考生ID与测试ID进行考核题目的数据库查询操作,随机从出题列表中生成题目组成程序设计类题目列表,插入到数据库中;所述出题列表中包括按照难易程度划分的初级、中级、高级三个等级的题库,每个等级的题库中包括程序设计类课程的多个侧重点,教师输入题库难易等级以及侧重点类型,随机生成考试试题,组成题目列表;所述每个等级的题库中的题目由多个输入、输出样例、若干测试用例和问题题干组成,每个输入、输出样例和测试用例以及问题题干共同组成一个完整的题目,测试用例对学生不可见,教师在题目发布前使用代码对测试用例进行测试,以确保整体题目的正确性;步骤3,随机从出题列表中生成题目组成的程序设计类题目列表信息显示在考生登录运行的考核系统中;步骤4,对于已显示的题目列表信息,考生查看题目的输入要求、输出要求以及样例输入和输出结果,对编程语言进行选择并解题,输入代码并提交,由考核系统根据测试用例判断代码编译后的输入和输出结果是否正确,在题目列表处显示运行结果;只有对于所有题目的样例输入和测试用例输入、输出和对应的样例输出以及测试用例输出完全一致才被认定为正确答案,分数计为1;对于编译通过的非正确答案,与标准答案进行相似度对比,将相似度做线性映射成为小于1的正小数,相似度越高的分值越高;步骤5,导出所有学生的运行正确的题目数和得分数。进一步地,所述多个侧重点包括流程分支题目、数组题目、函数题目、指针题目、结构体题目、非算法综合题目、经典算法题目、改错类题目和复杂算法题目中的一种或多种。进一步地,每位考生的所述随机从出题列表中生成题目组成的程序设计类题目列表信息的内容和顺序都不同。进一步地,对于所述改错类题目,教师将改错类题目以题干的形式给出,易出错的部位以错误代码替代,题目仅给定样例输入与样例输出,教师根据学生提交的代码所得分数以及查看源代码功能综合判断学生考核结果。进一步地,考生登录考核系统时随机出现的程序设计类题目列表信息,每次只随机1次,随机之后,多次登录,题目相同。进一步地,教师在后台进行设置新建新的测试后,考生登录考核系统后序设计类题目才会再次随机。附图说明附图1是考生登录考核系统时随机出现的题目列表信息;附图2是考核系统导出所有学生的运行正确的题目数的界面;附图3是考核系统学生做题情况查看界面;具体实施方式下面结合附图和具体实施方式对本专利技术进行详细说明。本专利技术提供了一种在线的程序设计类题目随机出题考核系统,包括如下步骤:步骤1.教师指定出题列表,指定题目数,新建一个测试,处于激活状态;步骤2.考生首次登录运行时,对于激活状态的测试,联合考生ID与测试ID进行考核题目的数据库查询操作,随机从出题列表中生成题目组成程序设计类题目列表,插入到数据库中;其中步骤2中,出题列表中包括不同等级的题库,具体为初级、中级、高级题库三种,每个等级的题库中包括不同程序设计课程的侧重点,例如具体为侧重点一(流程分支题目)、侧重点二(函数题目)、侧重点三(经典算法题目)等,考试前,教师可以选择题库难易等级以及不同侧重点类型,随机生成考试试题。进一步地,每个等级的题库中的题目也不是完整的,而是由包含输入、输出样例以及若干测试用例组成。每个输入输出样例和测试用例以及问题题干组成一个完整的题目,测试用例对学生来说不可见,教师可以在题目发布前使用代码测试用例进行测试,以确保整体题目是否正确。即使题目相同,随机生成考题的顺序也是不同的。步骤3.考生登录运行时,对于激活状态的测试,联合考生ID与测试ID进行考核题目的数据库查询操作,如果已有相应题目,则显示题目信息。步骤4.对于已显示的题目,考生可以查看题目的输入要求,输出要求以及样例输入和输出结果。考生可以选择使用哪种语言进行编程解题,选定语言后输入代码,提交。由系统根据测试用例判断代码编译后的输入输出是否正确,在题目列表处显示运行结果。其中,只有对于所有样例输入和测试用例输入,输出和对应的样例输出以及测试用例输出完全一致才被认定为正确答案,分数为1。对于编译通过的非正确答案,进一步地与标准答案进行相似度对比,将相似度做线性映射为小于1的正小数,相似度越高的分值越高,此分值作为本文档来自技高网
...

【技术保护点】
1.一种在线的程序设计类题目随机出题考核系统,其特征在于:包括如下步骤:/n步骤1,教师指定出题列表,指定题目数,新建一个测试,并将该测试处于激活状态;/n步骤2,考生首次登录考核系统运行时,对于处于激活状态的测试,联合考生ID与测试ID进行考核题目的数据库查询操作,随机从出题列表中生成题目组成程序设计类题目列表,插入到数据库中;/n所述出题列表中包括按照难易程度划分的初级、中级、高级三个等级的题库,每个等级的题库中包括程序设计类课程的多个侧重点,教师输入题库难易等级以及侧重点类型,随机生成考试试题,组成题目列表;/n所述每个等级的题库中的题目由多个输入、输出样例、若干测试用例和问题题干组成,每个输入、输出样例和测试用例以及问题题干共同组成一个完整的题目,测试用例对学生不可见,教师在题目发布前使用代码对测试用例进行测试,以确保整体题目的正确性;/n步骤3,随机从出题列表中生成题目组成的程序设计类题目列表信息显示在考生登录运行的考核系统中;/n步骤4,对于已显示的题目列表信息,考生查看题目的输入要求、输出要求以及样例输入和输出结果,对编程语言进行选择并解题,输入代码并提交,由考核系统根据测试用例判断代码编译后的输入和输出结果是否正确,在题目列表处显示运行结果;只有对于所有题目的样例输入和测试用例输入、输出和对应的样例输出以及测试用例输出完全一致才被认定为正确答案,分数计为1;对于编译通过的非正确答案,与标准答案进行相似度对比,将相似度做线性映射成为小于1的正小数,相似度越高的分值越高;/n步骤5,导出所有学生的运行正确的题目数和得分数。/n...

【技术特征摘要】
1.一种在线的程序设计类题目随机出题考核系统,其特征在于:包括如下步骤:
步骤1,教师指定出题列表,指定题目数,新建一个测试,并将该测试处于激活状态;
步骤2,考生首次登录考核系统运行时,对于处于激活状态的测试,联合考生ID与测试ID进行考核题目的数据库查询操作,随机从出题列表中生成题目组成程序设计类题目列表,插入到数据库中;
所述出题列表中包括按照难易程度划分的初级、中级、高级三个等级的题库,每个等级的题库中包括程序设计类课程的多个侧重点,教师输入题库难易等级以及侧重点类型,随机生成考试试题,组成题目列表;
所述每个等级的题库中的题目由多个输入、输出样例、若干测试用例和问题题干组成,每个输入、输出样例和测试用例以及问题题干共同组成一个完整的题目,测试用例对学生不可见,教师在题目发布前使用代码对测试用例进行测试,以确保整体题目的正确性;
步骤3,随机从出题列表中生成题目组成的程序设计类题目列表信息显示在考生登录运行的考核系统中;
步骤4,对于已显示的题目列表信息,考生查看题目的输入要求、输出要求以及样例输入和输出结果,对编程语言进行选择并解题,输入代码并提交,由考核系统根据测试用例判断代码编译后的输入和输出结果是否正确,在题目列表处显示运行结果;只有对于所有题目的样例输入和测试用例输入、输出和对应的样例输出以及测试用例输出完全一致才被认定为正确答案,分数计为1;对于编译通过的...

【专利技术属性】
技术研发人员:孙大洋李志军刘丹
申请(专利权)人:吉林大学
类型:发明
国别省市:吉林;22

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1