CN109657990B - 通过程序标记评估学生编程能力的方法 - Google Patents
通过程序标记评估学生编程能力的方法 Download PDFInfo
- Publication number
- CN109657990B CN109657990B CN201811578057.4A CN201811578057A CN109657990B CN 109657990 B CN109657990 B CN 109657990B CN 201811578057 A CN201811578057 A CN 201811578057A CN 109657990 B CN109657990 B CN 109657990B
- Authority
- CN
- China
- Prior art keywords
- student
- difficulty
- students
- question
- questions
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012360 testing method Methods 0.000 claims abstract description 11
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] 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
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Educational Administration (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Educational Technology (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Primary Health Care (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种通过程序标记评估学生编程能力的方法,包括:收集测试中所有学生对所有问题中代码解法的标签和对难度的打分,并以此计算所有学生针对每一问题的难易程度打分均值,以及完成每一问题的平均时间;对于每一问题,根据所有学生给出的标签总数目,得到各个标签的平衡度,再结合相应问题的难易程度打分均值来计算问题的难度;对于每一学生,根据其对于所有问题给出标签、每一问题的难易程度打分均值、完成每一问题的平均时间以及每一问题的难度来计算相应学生在每一问题上的得分;对于每一学生,结合其在所有问题上的得分及相应问题的难度得到学生的能力值。通过采用上述方法,可以更好的实现能力评估。
Description
技术领域
本发明涉及编程教学评估领域,尤其涉及一种通过程序标记评估学生编程能力的方法。
背景技术
随着计算机技术的高速发展以及对编程水平要求的提高,程序设计成为了大学生的必修课程,在教学过程中需要对学生编程能力进行评估。对学生编写代码能力的评估往往通过online judege系统判断学生提交的代码能否通过用例,这一方法往往不是很准确,通过大量的测试用例的程序可能是写的不好的程序,通过少量测试用例的程序,很多时候反而非常接近正确答案。
发明内容
本发明的目的是提供一种通过程序标记评估学生编程能力的方法,可以更好的实现能力评估。
本发明的目的是通过以下技术方案实现的:
一种通过程序标记评估学生编程能力的方法,包括:
收集测试中所有学生对所有问题中代码解法的标签和对难度的打分,并以此计算所有学生针对每一问题的难易程度打分均值,以及完成每一问题的平均时间;
对于每一问题,根据所有学生给出的标签总数目,得到各个标签的平衡度,再结合相应问题的难易程度打分均值来计算问题的难度;
对于每一学生,根据其对于所有问题给出标签、每一问题的难易程度打分均值、完成每一问题的平均时间以及每一问题的难度来计算相应学生在每一问题上的得分;
对于每一学生,结合其在所有问题上的得分及相应问题的难度得到学生的能力值。
由上述本发明提供的技术方案可以看出,通过对学生阅读代码的能力更准确地对编程能力进行评估,对于多解法问题,可以通过学生对多解法问题代码的标注来评估学生编程能力,相较于传统方案往往不能准确地评估学生编程能力,对一道题目的判断只有正确与否两个判断,本方案可以全面、准确地评估学生编程能力,评估效果可以更好地反映学生真实水平。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种通过程序标记评估学生编程能力的方法的流程图;
图2为本发明实施例提供的一种通过程序标记评估学生编程能力的方法的示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例提供一种通过程序标记评估学生编程能力的方法,如图1~图2所示,其主要包括如下步骤:
步骤1、收集测试中所有学生对所有问题中代码解法的标签和对难度的打分,并以此计算所有学生针对每一问题的难易程度打分均值,以及完成每一问题的平均时间。
本发明实施例中所涉及的方案可以借助online judge系统来实现对学生能力的评估和反馈。由online judge系统发起一场小测验,测验内容为阅读代码并标记代码解法,测验过程中收集学生对代码解法的标注和对难度的打分,以及学生完成一次代码标注的时间。
假设共有n个问题,问题集合记为O={oi|i=1,2,3....n},共有m个学生,学生集合记为U={uw|w=1,2,3....m}。
学生uw对于问题oi的标签为难易程度打分为/>学生uw完成问题oi所需时间为Yi w。
则计算所有学生针对每一问题的难易程度打分均值的公式如下:
其中,Ei为所有学生针对问题oi难易程度打分均值。
计算完成每一问题的平均时间的公式如下:
其中,Ti为所有学生完成问题oi的平均时间。
步骤2、对于每一问题,根据所有学生给出的标签总数目,得到各个标签的平衡度,再结合相应问题的难易程度打分均值来计算问题的难度。
所获得的标签类别越少,且各标签之间的支持者数目差别越大,即标签的平衡度低,则任务的难度越低;反之,所获得的不同标签数目越多,且各标签之间的支持者数目差别越小,即标签的平衡度高,则任务的难度越高。
学生对问题难易程度打分的均值越高,则任务的难度越高,反之,学生对问题难易程度打分的均值越低,则任务的难度越低。
学生完成代码标注所需时间越长,则任务的难度越高,反之,学生完成代码标注所需时间越短,则任务的难度越低。
对于问题的难度,首先要根据标签总数目计算平衡度,公式如下:
其中,Bi为问题oi的标签平衡度,ki为针对问题oi所有学生给出的标签类别数目,为第j个标签所获得的支持者数目,其中/>为问题oi的所有标签获得支持者数目的均值。
计算每一问题的难度的包括:
针对问题oi,将学生对问题oi给出的标签类别数目ki、问题oi的标签平衡度Bi、问题oi的难易程度打分均值Ei以及所有学生完成问题oi的平均时间Ti进行归一化,将归一化后的四个数值相加,计算结果即为问题oi的难度Di,公式为:
其中,kmax、Bmax、Emax、Tmax分别为所有问题的标签数目最大值、问题标签平衡度最大值、问题难易程度打分最大值、问题完成时间的最大值。
示例性的,不同问题可能对应不同的标签数目,如问题1有3个标签(k1=3),问题2有5个(k2=5),则kmax=5。
或者,针对问题oi,将所有学生给出的标签总数目ki、平衡度Bi、问题oi的难易程度打分均值Ei以及所有学生完成问题oi的平均时间Ti进行加权求和,计算结果即为问题oi的难度Di。
问题的难度计算方式有多种,以上给出了两种计算的示例,由于第一种方式较为简单,且实验表明该计算方法是有效的,因此,在实际应用中也可以直接采用第一种方式。
步骤3、对于每一学生,根据其对于所有问题给出标签、每一问题的难易程度打分均值、完成每一问题的平均时间以及每一问题的难度来计算相应学生在每一问题上的得分。
首先,对于学生uw,根据其对于所有问题给出标签来计算学生uw的准确度Aw,公式如下:
其中,fi表示问题oi的真实标签,为指示函数,
然后,计算学生uw在问题oi上的得分公式如下:
其中,Ei为所有学生针对问题oi难易程度打分均值,Ti为所有学生完成问题oi的平均时间。
另外,还需要对标签进行整合,一是可以得到该问题的最终标签,二是可以更新准确度从而更新学生在各问题上的得分:
学生uw给问题oi标签为qk为问题oi的第k个标签,/>的概率为/>计算公式如下:
计算后验概率:
选择概率最大的分类作为临时标签,利用临时标签代替fi,以此更新uw的准确度Aw,迭代这个过程至临时标签不再变化,不再变化的临时标签就是该问题oi的最终标签,利用得到的最终标签来更新准确度Aw,得到学生uw在问题oi上的得分
步骤4、对于每一学生,结合其在所有问题上的得分及相应问题的难度得到学生的能力值。
计算公式如下:
其中,为学生uw在问题oi上的得分/>Di为问题oi的难度。
此外,还可以将测试的时间按顺序进行编号,将每个学生的能力值作为纵坐标,将编号作为横坐标,形成每个学生的时间-能力曲线,并反馈给老师。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (9)
1.一种通过程序标记评估学生编程能力的方法,其特征在于,包括:
收集测试中所有学生对所有问题中代码解法的标签和对难度的打分,并以此计算所有学生针对每一问题的难易程度打分均值,以及完成每一问题的平均时间;
对于每一问题,根据所有学生给出的标签总数目,得到各个标签的平衡度,再结合相应问题的难易程度打分均值来计算问题的难度;
对于每一学生,根据其对于所有问题给出标签、每一问题的难易程度打分均值、完成每一问题的平均时间以及每一问题的难度来计算相应学生在每一问题上的得分;
对于每一学生,结合其在所有问题上的得分及相应问题的难度得到学生的能力值;
其中,对于每一学生,根据其对于所有问题给出标签、每一问题的难易程度打分均值、完成每一问题的平均时间以及每一问题的难度来计算相应学生在每一问题上的得分包括:
首先,对于学生uw,根据其对于所有问题给出标签来计算学生uw的准确度Aw,公式如下:
其中,为学生uw对于问题oi的标签,n表示n个问题,fi表示问题oi的真实标签,/>为指示函数,/>
然后,计算学生uw在问题oi上的得分公式如下:
其中,为学生uw对于问题oi的难易程度打分,Yi w为学生uw完成问题oi所需时间,Ei为所有学生针对问题oi难易程度打分均值,Ti为所有学生完成问题oi的平均时间。
2.根据权利要求1所述的一种通过程序标记评估学生编程能力的方法,其特征在于,所述收集所有学生对所有问题中代码解法的标注和对难度的打分包括:
假设共有n个问题,问题集合记为O={oi|i=1,2,3....n},共有m个学生,学生集合记为U={uw|w=1,2,3....m};
学生uw对于问题oi的标签为难易程度打分为/>学生uw完成问题oi所需时间为Yi w。
3.根据权利要求2所述的一种通过程序标记评估学生编程能力的方法,其特征在于,所述计算所有学生针对每一问题的难易程度打分均值的公式如下:
其中,Ei为所有学生针对问题oi难易程度打分均值。
4.根据权利要求2所述的一种通过程序标记评估学生编程能力的方法,其特征在于,计算完成每一问题的平均时间的公式如下:
其中,Ti为所有学生完成问题oi的平均时间。
5.根据权利要求2所述的一种通过程序标记评估学生编程能力的方法,其特征在于,计算各个标签的平衡度的公式如下:
其中,Bi为问题oi的标签平衡度,ki为针对问题oi所有学生给出的标签总数目,为第k个标签所获得的支持者数目,其中/>为问题oi的所有标签获得支持者数目的均值。
6.根据权利要求2所述的一种通过程序标记评估学生编程能力的方法,其特征在于,计算每一问题的难度的包括:
针对问题oi,将学生对问题oi给出的标签类别数目ki、问题oi的标签平衡度Bi、问题oi的难易程度打分均值Ei以及所有学生完成问题oi的平均时间Ti进行归一化,将归一化后的四个数值相加,计算结果即为问题oi的难度Di,
或者,针对问题oi,将学生对问题oi给出的标签类别数目ki、问题oi的标签平衡度Bi、问题oi的难易程度打分均值Ei以及所有学生完成问题oi的平均时间Ti进行加权求和,计算结果即为问题oi的难度Di。
7.根据权利要求1所述的一种通过程序标记评估学生编程能力的方法,其特征在于,该方法还包括对真实标签进行整合的步骤:
学生uw给问题oi标签为qk为问题oi的第k个标签,/>的概率为p(qk|fi,Si w,Di),计算公式如下:
计算后验概率:
选择概率最大的分类作为临时标签,利用临时标签代替fi,以此更新uw的准确度Aw,迭代这个过程至临时标签不再变化,不再变化的临时标签就是该问题的最终标签,利用得到的最终标签来更新准确度Aw,得到学生uw在问题oi上的得分
8.根据权利要求2所述的一种通过程序标记评估学生编程能力的方法,其特征在于,对于每一学生,结合其在所有问题上的得分及相应问题的难度得到学生的能力值的公式为:
其中,为学生uw在问题oi上的得分/>Di为问题oi的难度。
9.根据权利要求1所述的一种通过程序标记评估学生编程能力的方法,其特征在于,该方法还包括:
测试的时间按顺序进行编号,将每个学生的能力值作为纵坐标,将编号作为横坐标,形成每个学生的时间-能力曲线,并反馈给老师。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811578057.4A CN109657990B (zh) | 2018-12-19 | 2018-12-19 | 通过程序标记评估学生编程能力的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811578057.4A CN109657990B (zh) | 2018-12-19 | 2018-12-19 | 通过程序标记评估学生编程能力的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109657990A CN109657990A (zh) | 2019-04-19 |
CN109657990B true CN109657990B (zh) | 2023-09-01 |
Family
ID=66115658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811578057.4A Active CN109657990B (zh) | 2018-12-19 | 2018-12-19 | 通过程序标记评估学生编程能力的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109657990B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573359A (zh) * | 2014-12-31 | 2015-04-29 | 浙江大学 | 一种基于任务难度与标注者能力的众包标注数据整合方法 |
CN107730131A (zh) * | 2017-10-24 | 2018-02-23 | 北京航空航天大学 | 一种众包软件开发者的能力预测及推荐方法、装置 |
CN108053117A (zh) * | 2017-12-14 | 2018-05-18 | 北京慧辰资道资讯股份有限公司 | 一种学生学科掌握能力的个性化评估方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060110718A1 (en) * | 2004-11-23 | 2006-05-25 | Lee Yong T | System and method for automatically administering a test, analysing test results and formulating study strategies in response thereto |
-
2018
- 2018-12-19 CN CN201811578057.4A patent/CN109657990B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573359A (zh) * | 2014-12-31 | 2015-04-29 | 浙江大学 | 一种基于任务难度与标注者能力的众包标注数据整合方法 |
CN107730131A (zh) * | 2017-10-24 | 2018-02-23 | 北京航空航天大学 | 一种众包软件开发者的能力预测及推荐方法、装置 |
CN108053117A (zh) * | 2017-12-14 | 2018-05-18 | 北京慧辰资道资讯股份有限公司 | 一种学生学科掌握能力的个性化评估方法 |
Non-Patent Citations (1)
Title |
---|
众包标注的学习算法研究;孙欢;《中国优秀硕士学位论文全文数据库 信息科技辑(月刊)》;20160315;第3章 * |
Also Published As
Publication number | Publication date |
---|---|
CN109657990A (zh) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lakkaraju et al. | A machine learning framework to identify students at risk of adverse academic outcomes | |
Smith-Sebasto et al. | Designing a Likert-type scale to predict environmentally responsible behavior in undergraduate students: A multistep process | |
Boud | Standards-based assessment for an era of increasing transparency | |
US20140172681A1 (en) | Process for Verifying Data Identity for Lending Decisions | |
Long et al. | Classroom management for ethnic–racial minority students: A meta-analysis of single-case design studies. | |
Meedech et al. | Prediction of student dropout using personal profile and data mining approach | |
JP7077483B2 (ja) | 暗算問題に対する問題添削方法、装置、電子機器及び記憶媒体 | |
Hamouda et al. | A basic recursion concept inventory | |
CN105488142A (zh) | 成绩信息录入方法及系统 | |
CN112184089B (zh) | 试题难度预测模型的训练方法、装置、设备及存储介质 | |
CN109272160A (zh) | 分数预测系统及预测方法 | |
CN107844531B (zh) | 答案输出方法、装置和计算机设备 | |
CN110910043A (zh) | 一种试卷信息的分析方法 | |
Shao | Aberrant response detection using change-point analysis | |
CN113535935B (zh) | 基于重要程度和优先级的组卷方法、装置、设备及介质 | |
Von Allmen | The effect of quantitative prerequisites on performance in intermediate microeconomics | |
Clark et al. | Condensed mastery profile method for setting standards for diagnostic assessment systems | |
Ibrahim et al. | A study on enterprise risk management and organizational performance: Developer’s perspective | |
CN109657990B (zh) | 通过程序标记评估学生编程能力的方法 | |
da Silva et al. | A data mining approach for preventing undergraduate students retention | |
Chen et al. | Computerized adaptive testing: A new trend in language testing | |
Tanvir et al. | Exploring the Importance of Factors Contributing to Dropouts in Higher Education over Time. | |
CN115409257A (zh) | 一种基于条件密度估计模型的成绩分布预测方法及系统 | |
Gannicott | Did gonski get it right?: School funding and performance | |
Guo et al. | A stepwise test characteristic curve method to detect item parameter drift |
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 |