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

作业要求

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. JavaScript 系列博客(四)

    JavaScript 系列博客之(四) 前言 本篇介绍 JavaScript 中的对象.在第一篇博客中已经说到 JavaScript 是一种''对象模型''语言.所以可以这样说,对象是 JavaScr ...

  2. 【转】AJAX中JSON数据的返回处理问题

    AJAX处理复杂数据时,便会使用JSON格式.常用在对数据库的数据查询上.在数据库查询到数据后,便可在处理页面直接将数据转为JSON格式,然后返回. 本篇主要讨论:jQuery中,JSON数据在AJA ...

  3. [转]centos每天自动备份mysql数据库

    本文转自:https://www.cnblogs.com/chongchong88/p/5566645.html #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/s ...

  4. [android] 表格布局和绝对布局

    /*****************2016年4月28日 更新*************************************/ 知乎:为什么Android没有像iOS一样提供autolay ...

  5. 【开源程序(C++)】获取bing图片并自动设置为电脑桌面背景

    众所周知,bing搜索网站首页每日会更新一张图片,张张漂亮(额,也有一些不合我口味的),特别适合用来做电脑壁纸. 我们想要将bing网站背景图片设置为电脑桌面背景的通常做法是: 上网,搜索bing 找 ...

  6. C#设计模式之十九策略模式(Stragety Pattern)【行为型】

    一.引言 今天我们开始讲“行为型”设计模式的第七个模式,该模式是[策略模式],英文名称是:Stragety Pattern.在现实生活中,策略模式的例子也非常常见,例如,在一个公司中,会有各种工作人员 ...

  7. Java中重写与重载

    重写(覆盖):发生在子类与父类之间:方法名相同方法的个数.类型相同返回值类型小于等于父类的返回值类型 重载:发生在一个类中:方法名相同方法的个数.类型不同返回值类型可以相同也可以不相同

  8. HTML5 常用标签整理

    <!--1.  html5 文本 --> <div> <header> <hgroup> <h1>h1</h1> <h2& ...

  9. JAVA 多线程(1):synchronized

    入坑3年,对线程总是一知半解,最多停留在copy,决定还是仔细看看这方面的东西,一点点的记录让自己理解,对一些重要的概念进行记录和理解(包括参考作者的原话与个人理解) 参考链接:https://www ...

  10. Django-Oscar小记:如何使用高版本Django开发网页的SEO模块

    在使用Google搜索Django的SEO插件时,很多插件都没有更新到Python3.x,有的插件更新到了Python的高版本,但是不适用于Django的2.x. Django在升级到版本2.x的时候 ...