注:本次成绩排行榜是针对结对项目二的点评分数

作业要求

http://www.cnblogs.com/easteast/p/7604534.html

评分细则

(1)有贴生成得最“好”的数据链接(5'),并详细解释了"数据生成"程序的原理与所考虑的因素。(10')
(2)数据建模及匹配程序的思路及实现方式方面,给分点主要在几个方面:是否有清晰明了的框架图或结构图(10’),算法的理论基础或源自的相似问题,对原始算法做出的改进等(10'),建模时考虑了哪些因素,是如何把这些因素综合进算法的(10')。
(3)代码规范方面只要给出结对时采用的代码规范,比如变量与方法的命名,接口约定等均可得分(5')
(4)结果评估方面,主要从三方面评分:是否提出了合理的评价结果的方式,比如从学生满意度,社团满意度等多重指标都可(8'),是否从得到的结果预测与评估算法的局限性(6’),是否针对不同输入数据的场景进行了实验,观察算法的稳定性与通用性(6')。
(5)已经尝试过结对编码,你一定很多话要说。请发表结对感受,以及两个人对彼此结对中的闪光点或建议的分享。(10‘)

作业情况总结

本次结对项目是所有个人作业里整体质量最差的一次,满分100分的情况下整体平均分只有48分。小于60分的同学占整体的2/3,唯一一个上80分的同学是陈翔同学。综合大家在博客里的抱怨来看,本次作业没有完成好主要有几个原因:(1)结对作业的日期放在了国庆假期,但很多同学很早就制定好了出行计划,没办法与小伙伴结对编程。许多组作业开始的时间很晚,所以质量不佳。这个助教也与栋哥商量过,明年会尽量避免这种情况。(2)许多同学一开始不知道作业采用的JSON格式是一种通用数据格式,于是自己编写了Parser,花了很多无用功;(3)大部分同学在编程方面花费了许多时间,但在题意的理解上却没有下功夫。这个题目并不是一个板上钉钉的唯一解问题,而是一个开放性的问题。它的本意就是希望大家在综合考虑现实世界的情况下,用数据生成程序生成一些与现实世界分布相近的数据。举个栗子,现实世界中不同部门热度不同,所以会大概率出现80%的学生选择20%的部门的情况,这是在数据生成部分应当考虑的。在生成模拟现实世界的数据后,同学们再设计一套匹配的算法去优化一些参数,这些参数可以是部门的满意度,可以是学生的满意度,也可以它们的加权和。因为存在着学生志愿与部门渴求的矛盾性,匹配程序里面一定会有一些权衡,这也是我们希望同学们重点去阐述与在博客中描述的部分:如何处理这些需要权衡之处?怎样的优化目标是好?为什么说这样的优化目标就好,有数据佐证吗?希望同学们可以从这里得到一些新的启发,对这个问题有一次全新的认识。

本次结对项目大部分同学都是用部门挑选人的方式来遍历挑选,挑选主要参考因素权重计算的分值。对于这样做的小组我有一个统一的问题要问:这样的算法是稳定的么?是不是先挑选人的部门更有利呢?这样做的小组可以思考一下。有一部分小组采用的是稳定婚姻算法的改良版来完成作业,从最终评估的结果来看效果并不理想。第1组的同学采用了网络最大流最小流的方法来完成作业,算法思路很有意思,可惜程序运行不出来结果,有兴趣的老师或同学可以点击下方小组链接查看。

本次作业也无疑对测试提出了很大的挑战:开放性的问题也就意味着我们不能用传统的标准答案来衡量大家匹配算法的好坏。而实际上,我们最终采用的是群体决策结果为评价标准的做法。选择一份对现实世界建模做得较好的输入文件,收集所有小组程序运行结束后的输出文件,这样就得到了每位同学对于每个部门招到哪些学生的期望。将所有同学的结果合并为一份结果,按照出现次数从高到低排序,就得到了小组们群体决策下每个部门录取同学的优先级。再然后,利用理想录取优先级表对各个小组的实际匹配结果进行打分,打分的具体公式受信息搜索领域MRR(Mean Reciprocal Rank)的启发,用如下公式表示小组在部门\(i\)的匹配得分:
\[score_{ij} = c / rank_{term_{ij}} ( j =1,2,..n) \]
其中\(term_{ij}\)指小组匹配结果中第\(i\)个部门录取的第\(j\)个同学,\(rank_{term_{ij}}\)指该同学在理想优先级表中所处的位置,\(c\)为常数。

这个公式显式的意义是:如果大家都觉得同学A应该被部门B录取(\(rank_{A}\)很低,因为优先级很高,靠前),小组匹配的结果中部门B确实录取了同学A,那么匹配程序的得分应当高些;如果大家都觉得同学A不应该被部门C录取(\(rank_{A}\)很高,因为优先级很低,靠后),小组匹配的结果中部门C却录取了同学A,那么匹配程序的得分应当低些。

本次项目测试选择的是陈翔同学设计的输入文件(需要下载验证的同学下载后更改后缀为txt即可),在此也强烈推荐他的博客,博客的结构、匹配的方法和建模的思路都非常值得大家学习。当然也有不少同学在本次项目测试中得到了低分甚至0分,助教复核过了所有程序,列出各个组出错的原因如下:

分组 出错原因
1 死循环,没有错误信息
2 Json格式不对
4 所有都是unlucky boy
5 没有Github项目地址
8 没有输出文件
9 java.lang.UnsupportedClassVersionError: main/Main : Unsupported major.minor version 52.0
11 没有输出文件
19 所有都是unlucky boy
25 没有test.exe
27 所有都是unlucky boy
28 项目崩溃,停止运行
29 运行崩溃
31 输出的是空白,没有实质内容
32 崩溃退出
33 无可执行文件

得分明细

分组 学号 12.1 12.2 12.3 12.4 12.5 12.6 12.7 总分
1 500 10 18 5 8 5 0 0 46
1 908 10 18 5 8 5 0 10 36
2 102 10 18 3 5 6 3 0 45
2 409 10 18 3 5 6 3 0 45
3 118 6 8 1 3 2 0 0 20
3 509 6 8 0 1 4 0 5 14
4 106 11 20 5 12 8 5 0 61
4 634 6 15 5 0 5 5 0 36
5 433 0 10 4 0 10 0 0 24
5 109 0 4 0 0 4 0 0 8
6 308 15 25 5 12 10 5 0 72
6 113 15 18 5 10 10 5 0 63
7 142 15 22 4 10 8 7 0 66
7 216 15 21 4 10 8 7 0 65
8 209 15 26 5 20 10 5 0 81
8 316 15 22 5 16 10 5 0 73
9 245 12 23 5 10 6 0 0 56
9 210 10 18 1 12 5 0 0 46
10 212 9 22 2 10 6 20 0 69
10 240 9 17 2 10 7 20 0 65
11 220 9 10 5 5 2 0 0 31
11 344 9 10 5 5 2 0 0 31
12 232 8 22 4 8 7 13 0 62
13 243 12 15 5 11 6 0 5 44
13 642 12 14 5 11 6 0 5 43
14 306 0 0 0 0 0 14 0 14
14 314 0 0 0 0 0 14 0 14
15 339 8 12 2 3 4 16 0 45
15 309 7 12 0 3 4 16 0 42
16 310 9 17 5 6 7 13 0 57
16 124 9 17 5 6 7 13 10 47
17 312 12 18 2 10 8 10 0 60
17 340 12 10 2 0 8 10 0 42
18 315 13 20 5 12 5 11 0 66
18 332 13 20 5 12 5 11 30 36
19 324 14 25 5 5 6 5 0 60
19 411 14 25 5 5 6 5 0 60
20 328 4 18 2 0 4 12 0 40
20 337 0 15 2 2 3 12 0 34
21 331 7 17 3 8 8 11 0 54
21 430 7 13 3 8 8 11 0 50
22 333 9 22 5 10 2 13 0 61
23 517 15 18 5 10 4 11 0 63
23 336 15 12 5 10 4 11 0 57
24 427 6 18 4 1 8 14 0 51
24 341 6 12 4 1 5 14 15 27
25 404 8 21 5 16 8 0 0 58
25 443 8 21 5 16 8 0 0 58
26 412 8 9 5 0 8 0 0 30
26 414 8 9 5 0 8 0 0 30
27 424 13 20 5 12 6 5 0 61
27 513 13 20 5 12 6 5 10 51
28 442 15 25 5 17 10 0 0 72
28 522 15 25 5 17 10 0 0 72
29 506 13 20 5 10 6 0 0 54
29 529 8 12 4 3 3 0 0 30
30 541 12 22 5 14 10 11 0 74
30 512 10 14 5 6 5 11 0 51
31 641 10 10 5 3 4 0 0 32
31 513 6 10 5 3 4 0 0 28
32 537 12 20 5 0 9 0 5 41
32 518 10 20 5 0 9 0 5 39
33 533 10 12 5 0 7 0 0 34
33 538 10 12 5 0 7 0 0 34
34 610 11 16 5 6 4 20 0 62
34 609 8 12 5 6 3 20 0 54
35 614 10 19 5 9 10 10 0 63
35 627 10 17 5 9 8 10 0 59
36 626 12 18 4 7 8 18 0 67
36 643 12 18 4 6 8 18 0 66
37 631 10 18 5 8 7 11 0 59
37 629 10 14 5 8 7 11 0 55
38 630 12 15 5 6 6 11 0 55
38 644 12 15 5 6 6 11 0 55
125 0 0

注:各项对应内容:

  • 12.1:好的数据与生成原理(15')
  • 12.2:数据建模匹配程序思路与实现(30')
  • 12.3:代码规范(5')
  • 12.4:结果评估(20')
  • 12.5:结对感受(10')
  • 12.6:项目测试得分(20')
  • 12.7:扣分,这里主要是指因为博文的高度重复而导致的扣分,以先发博客的人为原创作者为准。

得分排行榜

[福大软工] Z班 第12次成绩排行榜的更多相关文章

  1. [福大软工] Z班 第2次成绩排行榜

    作业链接 http://www.cnblogs.com/easteast/p/7469291.html 评分细则 本次个人项目分数由三部分组成,分别是 (1)博客 - 20分,分数组成如下: 在文章开 ...

  2. [福大软工] Z班 第6次成绩排行榜

    作业要求 http://www.cnblogs.com/easteast/p/7668890.html 作业评分 本次作业从引言(5 ') . 用户场景(15 ').类图(10 ').界面原型(15 ...

  3. [福大软工] Z班 第13次成绩排行榜

    注:本次成绩排行榜是针对华为软件云评测博客 作业要求 http://www.cnblogs.com/easteast/p/7772637.html 评分细则 (1)寻找软件的bug,功能的评测与黑箱测 ...

  4. [福大软工] Z班 第4次成绩排行榜

    作业要求 http://www.cnblogs.com/easteast/p/7511234.html 评分细则 (1)博客--15分,分数组成如下: 随笔开头,给出结队两个同学的学号.PS:结对成员 ...

  5. [福大软工] Z班 第11次成绩排行榜

    注:本次成绩排行榜是针对团队Alpha阶段冲刺博客的得分统计 作业要求 http://www.cnblogs.com/easteast/p/7749181.html 评分细则 在团队Alpha阶段刚开 ...

  6. [福大软工] Z班 第1次成绩排行榜

    作业地址 http://www.cnblogs.com/easteast/p/7403491.html 作业要求 (1)回想一下你初入大学时对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的? ...

  7. [福大软工] Z班 第5次成绩排行榜

    作业链接 http://www.cnblogs.com/easteast/p/7613070.html 作业要求 团队项目--选题报告 1)发布博客: 一个团队发布一篇随笔,内容为团队的选题报告,选题 ...

  8. [福大软工] Z班 第7次成绩排行榜

    作业要求 http://www.cnblogs.com/easteast/p/7668887.html 评分细则 本次作业评分较为简单,只包含了两个方面的得分,一个是团队任务的计划(10'),一个是采 ...

  9. [福大软工] Z班 团队Beta阶段成绩汇总

    Beta敏捷冲刺得分 队伍名 1 2 3 4 5 总分 Dipper 10 10 10 10 10 50 SWSD 9 9 9 9 7 43 五成胜算 10 10 10 10 10 50 人月神教 0 ...

随机推荐

  1. AngularJS_自定义控件_笔记1

    简介: 本篇博客是在学习AngularJS自定义控件的学习记录,作为一个学习示例... A-基本架构介绍 新建一个AngularJs的项目,大概项目结构如下: 项目结构: 大概是由:app.js,bo ...

  2. 第一册:lesson fifty five。

    原文: The Sawyer family. The Sawyers live at 87 King street. In the morning Mr.Sawyer goes to work and ...

  3. ASP.NET MVC3 在_ViewStart设置Layout使用RenderAction的注意事項

    来源:https://dotblogs.com.tw/lastsecret/archive/2012/03/26/71052.aspx ASP.NET MVC3 在_ViewStart設定Layout ...

  4. 如何创建.gitignore文件,忽略git不必要提交的文件

    touch .gitignore 在项目目录里输入以上名利后,会自动生成一个文件 .gitignore,可在文件里写入忽略的文件名,例如 node_modules coverage .idea npm ...

  5. [总结]vue开发常见知识点及问题资料整理(持续更新)

    package.json中的dependencies与devDependencies之间的区别 –save-dev 和 –save 的区别 我们在使用npm install 安装模块或插件的时候,有两 ...

  6. 你用过CSS3的这个currentColor新属性吗?使用与兼容性

    currentColor顾名思意就是“当前颜色”,准确讲应该是“当前的文字颜色”,例如: .xxx { border: 1px solid currentColor; } currentColor表示 ...

  7. 使用FileReader接口读取文件内容

    如果想要读取或浏览文件,则需要通过FileReader接口,该接口不仅可以读取图片文件,还可以读取文本或二进制文件,同时,根据该接口提供的事件与方法,可以动态侦察文件读取时的详细状态,接下来,我们详细 ...

  8. vivo怎么录屏 手机录制屏幕详细教程

    在手机上我们经常可以刷到许多类似于手机游戏之类的屏幕视频我想肯定会有很多人好奇怎么录制的,今天小编所说的便是教大家如何在安卓手机上进行屏幕录像,下面便是关于vivo怎么录屏的具体操作方法,希望能对你们 ...

  9. 显示Linux进程打开了哪些文件? 用lsof命令

    1.lsof abc.txt --> 显示开启文件 abc.txt的进程. 2.lsof -c abc  ---> 显示abc进程现在打开的文件. 3.lsof -c -p 1234 -- ...

  10. Python 对服务器返回数据编码进行判断之chardet

    对服务器返回数据编码进行判断之chardet by:授客 QQ:1033553122   测试环境 Win764Bit   chardet-2.3.0 下载地址1:https://pypi.pytho ...