CN104268084A - 一种在线程序评测系统中用户排名的实现方法及系统 - Google Patents
一种在线程序评测系统中用户排名的实现方法及系统 Download PDFInfo
- Publication number
- CN104268084A CN104268084A CN201410570927.9A CN201410570927A CN104268084A CN 104268084 A CN104268084 A CN 104268084A CN 201410570927 A CN201410570927 A CN 201410570927A CN 104268084 A CN104268084 A CN 104268084A
- Authority
- CN
- China
- Prior art keywords
- user
- program
- submission
- correct
- users
- 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
Landscapes
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明公开了一种在线程序评测系统中用户排名的实现方法及系统,其中,该方法包括:建立一包含用户编号、用户提交程序总次数、正确提交程序次数及用户水平的用户表;建立一包含所有用户的提交程序总次数、所有用户的正确提交程序及题目难度等级的题目表;其中,所述题目难度等级根据所述题目表中所有用户的提交程序总次数与所有用户的正确提交程序来确定;根据某一用户编号下该用户的提交程序总次数、正确提交程序次数,以及所述题目表中的题目难度等级来确定对应的用户水平;以所述用户水平为用户编程能力高低的评价标准,将用户排序,获得用户排名并输出。本发明公开的上述方法结合题目难度来确定用户水平,可以有效的反应用户的实际编程能力。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种在线程序评测系统中用户排名的实现方法及系统。
背景技术
在线程序评测系统允许用户在线提交解题代码,系统自动进行编译运行并给出评测结果,并且可将用户进行排名。
目前在线程序评测系统中,用户排名的方法所涉及的评价标准较为单一,无法有效的反应用户的实际编程能力。
发明内容
本发明的目的是提供一种在线程序评测系统中用户排名的实现方法及系统,该方法结合题目难度来确定用户水平,可以有效的反应用户的实际编程能力。
本发明的目的是通过以下技术方案实现的:
一种在线程序评测系统中用户排名的实现方法,该方法包括:
建立一包含用户编号、用户提交程序总次数、正确提交程序次数及用户水平的用户表;
建立一包含所有用户的提交程序总次数、所有用户的正确提交程序及题目难度等级的题目表;其中,所述题目难度等级根据所述题目表中所有用户的提交程序总次数与所有用户的正确提交程序来确定;
根据某一用户编号下该用户的提交程序总次数、正确提交程序次数,以及所述题目表中的题目难度等级来确定对应的用户水平;
以所述用户水平为用户编程能力高低的评价标准,将用户排序,获得用户排名并输出。
进一步的,所述题目难度等级根据所述题目表中所有用户的提交程序总次数与所有用户的正确提交程序来确定包括:
其中,Accuracy表示正确提交率,sum为用户的提交总次数,correct为用户的正确提交次数;
根据预设的难度等级范围确定所述正确提交率对应的题目难度等级。
进一步的,所述确定对应的用户水平包括:
每次用户提交程序后,根据所述题目难度等级来更新该用户的用户提交程序总次数total与正确提交程序次数finish:
total=total+αR+W;
finish=finish+αR;
其中,α表示题目难度等级,本次正确提交程序次数记为R,错误提交程序次数记为W;
计算用户水平的公式表示为:
其中,degree表示用户水平。
一种在线程序评测系统中用户排名的实现系统,该系统包括:
用户表建立模块,建立一包含用户编号、用户提交程序总次数、正确提交程序次数及用户水平的用户表;
题目表建立模块,建立一包含所有用户的提交程序总次数、所有用户的正确提交程序及题目难度等级的题目表;其中,所述题目难度等级根据所述题目表中所有用户的提交程序总次数与所有用户的正确提交程序来确定;
用户水平计算模块,根据某一用户编号下该用户的提交程序总次数、正确提交程序次数、以及所述题目表中的题目难度等级来确定对应的用户水平;
用户水平排序输出模块,以所述用户水平为用户编程能力高低的评价标准,将用户排序,获得用户排名并输出。
进一步的,所述题目难度等级根据所述题目表中所有用户的提交程序总次数与所有用户的正确提交程序来确定包括:
其中,Accuracy表示正确提交率,sum为用户的提交总次数,correct为用户的正确提交次数;
根据预设的难度等级范围确定所述正确提交率对应的题目难度等级。
进一步的,所述确定对应的用户水平包括:
每次用户提交程序后,根据所述题目难度等级来更新该用户的用户提交程序总次数total与正确提交程序次数finish:
total=total+αR+W;
finish=finish+αR;
其中,α表示题目难度等级,本次正确提交程序次数记为R,错误提交程序次数记为W;
计算用户水平的公式表示为:
其中,degree表示用户水平。
由上述本发明提供的技术方案可以看出,通过建立并维护一题目表和用户表,并根据题目表和用户表中的参数来计算用户水平,以用户水平为用户编程能力高低的评价标准,将用户排序,可以更好地反映用户编程能力;其中,用户的提交正确率在一定程度上反映了题目难度,而题目难度又影响着用户的解题正确率,因而,将上述两者相结合可以更加准确、有效的反应用户的实际编程能力。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例一提供的一种在线程序评测系统中用户排名的实现方法的流程图;
图2为本发明实施例一提供的一种二部模型的示意图;
图3为本发明实施例二提供的一种在线程序评测系统中用户排名的实现系统的示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
实施例一
图1为本发明实施例一提供的一种在线程序评测系统中用户排名的实现方法的流程图。如图1所示,该方法主要包括如下步骤:
步骤11、建立一包含用户编号、用户提交程序总次数、正确提交程序次数及用户水平的用户表。
步骤12、建立一包含所有用户的提交程序总次数、所有用户的正确提交程序及题目难度等级的题目表。
本发明实施例中,用户的提交正确率在一定程度上反映了题目难度,而题目难度又影响着用户的解题正确率,用户和题目的关系可以用二部图描述,故可以建立一个二部图模型来解决问题(请参见图2)。用户提交程序的正确率在一定程度上反映了用户编程能力,另外,根据题目的难度大小适当地调整用户提交程序的正确率可以更加准确地反映用户编程能力。
其中,所述题目难度等级根据所述题目表中所有用户的提交程序总次数与所有用户的正确提交程序来确定,其公式可以为:
其中,Accuracy表示正确提交率,sum为用户的提交总次数,correct为用户的正确提交次数;
再根据预设的难度等级范围确定所述正确提交率对应的题目难度等级。
其中,题目难度等级的准确分界点可以根据具体情况设定,可以更加灵活地调整;例如,将题目难度划分为五个等级:一、二、三、四、五级。题目的提交正确率越高,题目难度越小,等级越低;由于题目的首次提交没有更多的信息可以参考,首次提交的难度相对更大,所以每道题目的难度等级初始为最高。
另外,每次用户提交程序后,均更新题目表。
步骤13、根据某一用户编号下该用户的提交程序总次数、正确提交程序次数,以及所述题目表中的题目难度等级来确定对应的用户水平。
每次用户提交程序后,根据所述题目难度等级来更新该用户的用户提交程序总次数total与正确提交程序次数finish:
total=total+αR+W;
finish=finish+αR;
其中,α表示题目难度等级(α≥1),本次正确提交程序次数记为R,错误提交程序次数记为W,左侧total与finish表示更新后的数据,右侧total与finish表示更新前的数据;
计算用户水平的公式表示为:
其中,degree表示用户水平。
步骤14、以所述用户水平为用户编程能力高低的评价标准,将用户排序,获得用户排名并输出。
本发明实施例的方案为动态过程,每次用户提交程序后均更新题目表、用户表;同时,根据更新后的用户表动态排序;排序结果会写入数据库,并返回给用户,从而激励用户尽可能多地且准确的完成题目。
本发明实施例通过建立并维护一题目表和用户表,并根据题目表和用户表中的参数来计算用户水平,以用户水平为用户编程能力高低的评价标准,将用户排序,可以更好地反映用户编程能力;其中,用户的提交正确率在一定程度上反映了题目难度,而题目难度又影响着用户的解题正确率,因而,将上述两者相结合可以更加准确、有效的反应用户的实际编程能力。
实施例二
图3为本发明实施例二提供的一种在线程序评测系统中用户排名的实现系统的示意图。如图3所示,该系统主要包括:
用户表建立模块31,建立一包含用户编号、用户提交程序总次数、正确提交程序次数及用户水平的用户表;
题目表建立模块32,建立一包含所有用户的提交程序总次数、所有用户的正确提交程序及题目难度等级的题目表;其中,所述题目难度等级根据所述题目表中所有用户的提交程序总次数与所有用户的正确提交程序来确定;
用户水平计算模块33,根据某一用户编号下该用户的提交程序总次数、正确提交程序次数、以及所述题目表中的题目难度等级来确定对应的用户水平;
用户水平排序输出模块34,以所述用户水平为用户编程能力高低的评价标准,将用户排序,获得用户排名并输出。
进一步的,所述所述题目难度等级根据所述题目表中所有用户的提交程序总次数与所有用户的正确提交程序来确定包括:
其中,Accuracy表示正确提交率,sum为用户的提交总次数,correct为用户的正确提交次数;
根据预设的难度等级范围确定所述正确提交率对应的题目难度等级。
进一步的,所述确定对应的用户水平包括:
每次用户提交程序后,根据所述题目难度等级来更新该用户的用户提交程序总次数total与正确提交程序次数finish:
total=total+αR+W;
finish=finish+αR;
其中,α表示题目难度等级,本次正确提交程序次数记为R,错误提交程序次数记为W;
计算用户水平的公式表示为:
其中,degree表示用户水平。
需要说明的是,上述系统中包含的各个功能模块所实现的功能的具体实现方式在前面的各个实施例中已经有详细描述,故在这里不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (6)
1.一种在线程序评测系统中用户排名的实现方法,其特征在于,该方法包括:
建立一包含用户编号、用户提交程序总次数、正确提交程序次数及用户水平的用户表;
建立一包含所有用户的提交程序总次数、所有用户的正确提交程序及题目难度等级的题目表;其中,所述题目难度等级根据所述题目表中所有用户的提交程序总次数与所有用户的正确提交程序来确定;
根据某一用户编号下该用户的提交程序总次数、正确提交程序次数,以及所述题目表中的题目难度等级来确定对应的用户水平;
以所述用户水平为用户编程能力高低的评价标准,将用户排序,获得用户排名并输出。
2.根据权利要求1所述的方法,其特征在于,所述题目难度等级根据所述题目表中所有用户的提交程序总次数与所有用户的正确提交程序来确定包括:
其中,Accuracy表示正确提交率,sum为用户的提交总次数,correct为用户的正确提交次数;
根据预设的难度等级范围确定所述正确提交率对应的题目难度等级。
3.根据权利要求1所述的方法,其特征在于,所述确定对应的用户水平包括:
每次用户提交程序后,根据所述题目难度等级来更新该用户的用户提交程序总次数total与正确提交程序次数finish:
total=total+αR+W;
finish=finish+αR;
其中,α表示题目难度等级,本次正确提交程序次数记为R,错误提交程序次数记为W;
计算用户水平的公式表示为:
其中,degree表示用户水平。
4.一种在线程序评测系统中用户排名的实现系统,其特征在于,该系统包括:
用户表建立模块,建立一包含用户编号、用户提交程序总次数、正确提交程序次数及用户水平的用户表;
题目表建立模块,建立一包含所有用户的提交程序总次数、所有用户的正确提交程序及题目难度等级的题目表;其中,所述题目难度等级根据所述题目表中所有用户的提交程序总次数与所有用户的正确提交程序来确定;
用户水平计算模块,根据某一用户编号下该用户的提交程序总次数、正确提交程序次数、以及所述题目表中的题目难度等级来确定对应的用户水平;
用户水平排序输出模块,以所述用户水平为用户编程能力高低的评价标准,将用户排序,获得用户排名并输出。
5.根据权利要求4所述的系统,其特征在于,所述题目难度等级根据所述题目表中所有用户的提交程序总次数与所有用户的正确提交程序来确定包括:
其中,Accuracy表示正确提交率,sum为用户的提交总次数,correct为用户的正确提交次数;
根据预设的难度等级范围确定所述正确提交率对应的题目难度等级。
6.根据权利要求4所述的系统,其特征在于,所述确定对应的用户水平包括:
每次用户提交程序后,根据所述题目难度等级来更新该用户的用户提交程序总次数total与正确提交程序次数finish:
total=total+αR+W;
finish=finish+αR;
其中,α表示题目难度等级,本次正确提交程序次数记为R,错误提交程序次数记为W;
计算用户水平的公式表示为:
其中,degree表示用户水平。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410570927.9A CN104268084A (zh) | 2014-10-23 | 2014-10-23 | 一种在线程序评测系统中用户排名的实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410570927.9A CN104268084A (zh) | 2014-10-23 | 2014-10-23 | 一种在线程序评测系统中用户排名的实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104268084A true CN104268084A (zh) | 2015-01-07 |
Family
ID=52159607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410570927.9A Pending CN104268084A (zh) | 2014-10-23 | 2014-10-23 | 一种在线程序评测系统中用户排名的实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268084A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106652620A (zh) * | 2016-12-29 | 2017-05-10 | 广东小天才科技有限公司 | 一种终端测评方法及装置 |
CN107909278A (zh) * | 2017-11-23 | 2018-04-13 | 江苏传智播客教育科技股份有限公司 | 一种编程能力综合评估的方法及系统 |
CN109218408A (zh) * | 2018-08-16 | 2019-01-15 | 泰链(厦门)科技有限公司 | 区块链系统的共识机制实现方法、介质、计算机设备及区块链系统 |
CN110992223A (zh) * | 2019-11-20 | 2020-04-10 | 大连理工大学 | 一种在线评测系统的题目推荐方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120017185A1 (en) * | 2010-07-13 | 2012-01-19 | Satish Padmanabhan | Automatic optimal integrated circuit generator from algorithms and specification |
CN102591778A (zh) * | 2012-01-09 | 2012-07-18 | 福建师范大学 | 一种基于服务的可扩展程序竞赛评测系统 |
CN103236196A (zh) * | 2013-04-08 | 2013-08-07 | 明博教育科技有限公司 | 一种可自动分发、收取、批改和统计的电子作业系统及方法 |
-
2014
- 2014-10-23 CN CN201410570927.9A patent/CN104268084A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120017185A1 (en) * | 2010-07-13 | 2012-01-19 | Satish Padmanabhan | Automatic optimal integrated circuit generator from algorithms and specification |
CN102591778A (zh) * | 2012-01-09 | 2012-07-18 | 福建师范大学 | 一种基于服务的可扩展程序竞赛评测系统 |
CN103236196A (zh) * | 2013-04-08 | 2013-08-07 | 明博教育科技有限公司 | 一种可自动分发、收取、批改和统计的电子作业系统及方法 |
Non-Patent Citations (2)
Title |
---|
何爱华等: "一种改进的源代码在线评测系统设计及实现", 《长江大学学报(自科版)》 * |
李文新等: "北京大学程序在线评测系统及其应用", 《吉林大学学报(信息科学版)》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106652620A (zh) * | 2016-12-29 | 2017-05-10 | 广东小天才科技有限公司 | 一种终端测评方法及装置 |
CN107909278A (zh) * | 2017-11-23 | 2018-04-13 | 江苏传智播客教育科技股份有限公司 | 一种编程能力综合评估的方法及系统 |
CN109218408A (zh) * | 2018-08-16 | 2019-01-15 | 泰链(厦门)科技有限公司 | 区块链系统的共识机制实现方法、介质、计算机设备及区块链系统 |
CN109218408B (zh) * | 2018-08-16 | 2020-12-15 | 泰链(厦门)科技有限公司 | 区块链系统的共识机制实现方法、介质、计算机设备及区块链系统 |
CN110992223A (zh) * | 2019-11-20 | 2020-04-10 | 大连理工大学 | 一种在线评测系统的题目推荐方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9189968B2 (en) | Network-probability recommendation system | |
CN106779441B (zh) | 一种预测变更风险方法和装置 | |
US20100131314A1 (en) | System for effectively estimating project size | |
CN109976998B (zh) | 一种软件缺陷预测方法、装置和电子设备 | |
CN107609286B (zh) | 一种数学模型验模工具 | |
CN104268084A (zh) | 一种在线程序评测系统中用户排名的实现方法及系统 | |
WO2014134592A1 (en) | System and method for enhanced teaching and learning proficiency assessment and tracking | |
CN106503206A (zh) | 一种基于熵权法的通用数据质量评估方法 | |
Colin et al. | Empirical perspective on activity durations for project-management simulation studies | |
Vorster et al. | Mitigating climate change through carbon pricing: An emerging policy debate in South Africa | |
US9798846B2 (en) | Dynamic weighting and ranking of circuit designs for analog circuit design optimization | |
Caplehorn | Whole life costing: a new approach | |
CN109376093A (zh) | 保险产品的测试方法及装置、存储介质及电子设备 | |
CN105224818A (zh) | 一种作业程序自动评分方法及系统 | |
Suranto | Software prototypes: Enhancing the quality of requirements engineering process | |
KR102291141B1 (ko) | 생산 계획 시뮬레이션 장치 및 방법 | |
CA3021091A1 (en) | Method, apparatus, and computer-readable medium for performing functional testing of software | |
JP6333160B2 (ja) | プロジェクト評価装置及びプロジェクト評価方法及びプロジェクト評価プログラム | |
CN110457587A (zh) | 一种基于二分图的题目推荐方法、装置、设备及存储介质 | |
CN104239050A (zh) | 一种在线程序评测系统中用户排名的方法及系统 | |
Dzvonyar et al. | Real Projects with Informal Models. | |
Alfarano et al. | A minimal noise trader model with realistic time series properties | |
CN103678678B (zh) | 一种用于网站信息的投放方法和装置 | |
AU2016244789A1 (en) | Systems and methods for retirement planning | |
KR102324634B1 (ko) | 모바일 앱 사용자의 빅데이터 분석 모델 실시간 생성을 위한 딥러닝 오차 최소화 시스템 및 그 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150107 |