just two more features-——记结对编程

 

          在邹老师残忍的number game中,由于我们被残忍地排除出了前八,于是我们残忍地被迫去自己思考我们还能为微软的学术地图做点什么?

         有时候觉得失去了机会往往可能对你是一次更好的机会——我们可以为所欲为。我们开始想我们能干什么?在经过初步的筛选后我们基本确定了两个features

             1 考虑到原本的地图只有单调的四种颜色,而且这四种颜色实际上也没有直观地反映出有用的信息,于是我们想为什么不把颜色变成连续的呢?为什么不用颜色的深浅来表示机构的大小 呢?于是这个想法就成了我们的第一个任务。

             2 又考虑到在地图上显示的每个机构 只显示了比较优秀的老师,并没有显示一个机构比较擅长的领域,但是实际生活中,我们在看到一个机构(尤其是大学)时,第一个想知道的往往是她比较好的专业,比如想 申请某个大学的研究生,想确定跟哪 个机构合作比较好等等,这时我们都希望知道这个机构各个专业的科研实力情况。于是找出每个机构较好的专业并显示出来就构成了我们的第二个任务。

            定下这两个任务时,我们并不知道工作量的大小,仅仅觉得这些可能会有用,我们开始想第一个任务怎么做。最终我们在代码中得知,地图上显示的颜色是将机构的scale的大小离散后根据结果在一个颜色板上取样,于是我们首先将离散化的scale恢复连续,然后改变颜色板,使得可以反映深浅。可是我们发现,这样得到的结果红色(深色)太多以至于显示很不和谐,于是我们考虑将scale做一个凹函数的变换,使得红色部分被稀疏化,从而得到了比较理想的结果,各种颜色的分布基本均匀。

          第二个任务 我们起初的想法是在同一领域里对数据库里所有的机构排序,然后每个机构显示排在领域前30%的专业,但是后来考虑到这样的话有些机构可能要显示很多,比如harvard university 而有的机构可能会显示的比较少甚至没有。于是我们决定显示每个机构里相对于本机构比较好的专业(这其中暗含一个假设就是数据库里的机构都比较好,否则显示一个很一般的机构里的前几名专业是没有意义的)。于是我们对本机构里不同 领域的论文量和引用量进行综合排序,并且将前三的专业显示在这个机构的下面。

 

            确定任务时我们只是做了粗略的估计,第一个任务我们粗略的估计时间是24小时(包括讨论方案和设计函数,不过其实主要是读代码比较痛苦),第二个任务我们的估计是40个小时左右,因为对排序的对象我们有过分歧,讨论之后才最终确定。不过最终实际所用时间比我们估计的都要少了近8个小时,因为我们后来发现其实 读懂代码后,实现这些操作并不复杂。

         通过这次合作,我们增进了了解,并且成了很好的朋友。他是个很认真很负责任的人,尤其有时候我有事不能干活时,他毫无怨言地承担着任务,当然作为好朋友,我也建议他更好地去熟练编程,顺便教教我,然后一起进步哈。期待下一次合作,那时我们会更好~

 

徐海峰

 

posted @ 2011-08-29 15:56  Rosting  阅读(261)  评论(2编辑  收藏  举报