开启Trustie平台的核心技术研究: 1、开源社区中开发者能力的度量 2、开源社区中开发者贡献的度量 3、开源社区中开发者潜力的度量? 另外,我们也可以关注编程竞赛的评估机制,如ACM竞赛、TopCoder等: 1、编程竞赛的交互机制、评估机制 2、编程竞赛模式在Trustie教学模式中的应用探索 3、编程竞赛评估机制对Trustie用户的实践能力评估的借鉴
第一步:理解sonar常用分析结果,目前已经完成。
第二步:分析sonar数据库,从数据库中导出页面显示的分析结果(目前正在进行,由于设计数据库对于用户是不可见的,所以分析只能靠自己推理,可能需要一点时间)
第三步:选择同语言,甚至同功能项目用sonar进行分析,分析结果,分析代码规范综合需考虑主要因素。
26号:完成sonar分析结果调研
27号:完成sonar分析结果提取,即表分析
28号:测试数据初步选择
主要是研究项目的代码规范度对于项目质量的关系,是否好的项目代码越规范,从而得出研究代码规范是有意义的,在平台上集成代码规范功能,要求学生和开发者的代码规范有意义。
对于代码规范评测,目前采用sonar及其插件,目前年前的工作主要了解sonar分析指标意义,理解sonar数据库,能够从数据库中提取分析结果。对于sonar数据库分析,资料不多,有师兄师姐做过的求指导呀!!
第二步对于评测的指标进行综合,得到简单有效的一个代码规范评测算法,与项目的质量排名对比。
老师在课程社区的活跃度对于学生活跃度必然是有影响的,如果老师在社区活跃,学生有很大可能在社区中是活跃的,活跃度对于学生的成绩是有一定影响的,如果老师能够在社区中带动学生活跃从而提高学生的能力是非常有用的,所以,认为老师的活跃度是所有老师的活跃度(发帖为2,回帖为1)之和,而学生计算学生的平均活跃度,因为对于学生来说,不能算总和,因为总和受学生人数影响,去除掉教师活跃度为0 的,教师活跃度与学生活跃度相关系数0.7251,基本表示正相关,图:
平台中,每个老师可能开设数门课程,每个学生也可能加入多门课程,一个学生可能存在在一个老师开的多门课程中,那每个老师有多少个学生呢?
如图表示老师对应学生的关系,(57,69)表示有学生数大于57的老师有69个
统计方法:
(1)首先去除掉没有任何讨论、留言、回复以及没有任何作业的课程;
(2)以课程为单位,该门课程中学生n的活跃度,以该门课程内这名学生的发帖数、回复数、留言数等参与课程活动的总和计算:
Activeness(n) = message_num(n)+message_reply_num(n)+news_reply_num(n)
+resource_num(n)+journal_num(n)+journal_reply_num(n)
(3)学生作业得分以该门课程学生所有作业的平均分数计算:
Score(n) = (score_1+score_2+...+score_n)/n
(4)利用Pearson计算Activeness与Score的相关性以及p-value(p<0.05时成立),得到每门课程的cor值与p-value值。
计算结果:(只保留p<0.05的课程,按照cor排序,共13门课程,有8门课程(62%)的cor大于或接近0.3)
course_id | cor | p-value |
70 | 1 | 0 |
76 | 1 | 9.48636991182639E-9 |
45 |
0.5417640209198 |
0.00920614041388035 |
40 |
0.512163996696472 |
0.0209602005779743 |
11 |
0.428225994110107 |
0.012911600060761 |
16 |
0.379572987556458 |
0.00359054002910852 |
78 |
0.347589999437332 |
0.00525010982528329 |
75 |
0.293426007032394 |
0.0037141100037843 |
42 |
0.19658400118351 |
0.0218013003468513 |
89 |
-0.223361000418663 |
0.0233330000191927 |
13 |
-0.953958988189697 |
0.0117768002673984 |
20 |
-1 |
0 |
60 |
-1 |
0 |
实验结果可以大致看出,学生上课越活跃,其作业得分可能也越高。
统计方法:
(1)以学生为单位,计算出每个学生对应的测试次数与测试间隔;
(2)在学生的作业中,用去除了编程作业(尹老师说编程作业基本上都是100分,会产生干扰)的其他作业得分来计算学生的平均作业得分;
(3)同样利用Pearson计算测试次数、测试时间与作业总分的关系。
计算结果:(横坐标是学生id,共157名学生)
(1)测试次数与作业得分:
实验结果显示,测试次数与作业得分得关联度约为0.433,成正比,且p-value=1.477e-08<0.05成立。说明那些测试做的多的学生可能(引自尹老师观点):(1)动手能力强,(2)自主做题,没有抄袭,自然作业得分也较高。
(2)测试间隔与作业得分:
实验结果显示,测试间隔与作业得分得关联度约为-0.526,成反比,且p-value=1.419e-12<0.05成立。说明那些测试间隔短的学生可能(引自尹老师观点)具有快速修改的能力,能力强自然作业得分也较高。
统计方法:
(1)计算每门课程内,学生作业提交时间与作业截止时间的差值;
(2)利用Pearson计算提交时间差与作业得分的相关性。
计算结果:(只保留p<0.05的课程,按照cor排序,共46门课程,有34门课程(74%)的cor大于或接近0.3)
course_id | cor | p-value |
74 | 1 | 0 |
80 | 1 | 0 |
31 |
0.980286002159119 |
0.0197144001722336 |
12 |
0.813368022441864 |
1.35164998482651E-6 |
9 |
0.808457016944885 |
3.04787999994005E-6 |
49 |
0.797376990318298 |
1.32883002379458E-7 |
98 |
0.789056003093719 |
1.14595006118871E-13 |
101 |
0.78285801410675 |
0.00438510021194816 |
5 |
0.740616023540497 |
9.07656971804727E-9 |
62 |
0.731498003005981 |
2.46154991622944E-19 |
78 |
0.68257999420166 |
6.38383994555625E-7 |
25 |
0.601845979690552 |
4.45090009293381E-9 |
84 |
0.583932995796204 |
0.046204898506403 |
61 |
0.558955013751984 |
0.000883102009538561 |
57 |
0.540054976940155 |
0.000222980001126416 |
66 |
0.483042985200882 |
8.18087983134319E-7 |
42 |
0.473533987998962 |
5.80428016760948E-9 |
14 |
0.462247997522354 |
0.00010599399683997 |
96 |
0.453061014413834 |
0.010482800193131 |
50 |
0.432146012783051 |
1.52187003550353E-5 |
51 |
0.411098003387451 |
0.000151850996189751 |
79 |
0.393371999263763 |
7.34440982341766E-5 |
41 |
0.391943991184235 |
0.00850795954465866 |
17 |
0.381787002086639 |
6.1253397909411E-9 |
63 |
0.37965801358223 |
4.03711010221741E-6 |
92 |
0.364188998937607 |
9.71646022662753E-6 |
48 |
0.3610779941082 |
0.000376874988432974 |
85 |
0.358152002096176 |
0.00395051995292306 |
53 |
0.33831000328064 |
0.00175882002804428 |
47 |
0.334338992834091 |
0.0014541499549523 |
82 |
0.326326012611389 |
3.03342003462603E-5 |
19 |
0.31563401222229 |
0.00273954006843269 |
20 |
0.302019000053406 |
7.21935020919773E-6 |
39 |
0.294268012046814 |
0.0014831000007689 |
52 |
0.249178007245064 |
0.0119773996993899 |
28 |
0.247477993369102 |
0.00184109003748745 |
75 |
0.240541994571686 |
0.00157945998944342 |
95 |
0.231952995061874 |
0.0138595001772046 |
26 |
0.227853998541832 |
0.0134832002222538 |
24 |
0.221459001302719 |
0.0359321013092995 |
87 |
0.203757002949715 |
0.000996469054371119 |
16 |
-0.274453997612 |
0.038825698196888 |
2 |
-0.297654002904892 |
0.0338951982557774 |
6 |
-0.637077987194061 |
0.0106394002214074 |
60 | -1 |
0 |
1 | -1 | 0 |
课程选择依据上次分析内容和课程方面指标的分布图,以及最后最少留20门课程为标准,选择课程,选择课程的结果如下:
这些课程都是比较活跃课程。
课程统计的分析的指标主要分析课程中用户的作业评分与论坛活跃度,作业提交时间与评分之间的关系。
分析用户作业评分与论坛发帖数的相关性,计算皮尔森相关系数
可以出来直接分析相关性,相关性很差,基本不具有相关性。这显然是由于数据太过稀疏,分布的太大,个体对于整个相关性影响很大。
如果他们相关,这个折线应该是总体成一个上升趋势,计算相邻两点之间的直线斜率,再求和表示这个折线的趋势,然而这样的结果也不怎么好
这个非常大应该说比较好,但是他实际的折线图不是一直上升的,而是波动很大
这是消息数最多的课程
作业最多的课程
学生数最多的课程
这样也还是没有分析出有价值的规律,希望通过数据能和老师交流一下。
编程作业的大概情况由池舒淇分析了一下,已经发布。
关于学生提交编程作业的时间分布,在编程作业发布之后,由于最多的时间节点为6天。保险起见,选取作业发布之后的200个小时进行统计。
1.首先,去掉提交作业时间在作业发布之前的那些,默认为无效记录;
2.对于剩下的作业,进行统计,并用R语言绘制折线图
横轴为作业发布之后经过的的时间(小时),纵轴为这一个小时提交的作业的数量(个)
从图中可以看出,基本上在作业发布100小时之后,交作业就基本结束。在0-50个小时内,每小时交作业的数量波动上升,在50以后,每小时交作业的数量就开始减少了。
3.取0-100小时的数据,再次绘制折线图为: