2015年团队项目选择

各个团队确定你们要做的项目,写一个团队博客描述你们要做的究竟是什么系统(不懂的地方可以在博客上提问)。 

这次课程有10个学生团队,我们有5个备选项目,5个自选项目。

第一组项目:在上个学期的Xueba项目的基础上继续完善改进3个模块(3 Teams)。以下为上个学期Xueba项目的要求。

Building Online Education Q&A ecosystem

创建网上教学问答系统

在网上有许多关于某门学科 (例如计算机科学) 的许多知识和问答,这些问答散落在网上课件,维基百科,论坛,校园BBS,技术文档,教学视频… 中。许多网上大学也有很多相关内容。一个新手 (例如大学生) 往往要花许多时间搜索这些问题的答案。事实上,无数的师兄师姐们已经问过,答过这样的问题了。 这个系统的目的是要把高质量的内容都聚合起来 (在遵守相关知识产权规定的前提下),让用户能系统地浏览、搜索、编辑、评论; 同时也支持用户继续通过提问/回答完善这些内容。

主要针对计算机科学、软件工程两个学科。

1. 爬虫和分类模块(Crawler & classification module1 team

        从网上搜索相关内容, 并归类。

  1. 能够爬取计算机学习相关内容(网页、论文、讲演稿、技术文档、视频、问答等等);
  2. 能够对爬取的内容进行分类(根据计算机相关的关键字),并支持手工分类;
  3. 能够根据指定的线索进行爬取或重新爬取(支持动态添加);
  4. 能够支持不间断爬取;
  5. 有一个用户界面来支持显示爬取的进度。

例如: 告诉 crawler 这个网址 (http://www-inst.eecs.berkeley.edu/classes-eecs.html#cs), 同学们写的工具能够抓取和这个网页相联的所有重要网页 (通过一级或 n 级链接)。全世界前2000 名的大学计算机/计算机工程/电子工程系都可以这样处理。

并且能通过classifier (分类器) 给抓到的网页分类, 并支持手工分类。

其它类似工作举例说明:

从这里获取许多相关网页: http://en.wikipedia.org/wiki/Computer_science

从这里获取许多计算机的关键字 (keyword)和它们的解释: http://academic.research.microsoft.com/RankList?entitytype=8&topDomainID=2&subDomainID=0&last=0&start=1&end=100 

从问答网站中 (stackoverflow)找到提问/回答的页面 。。。

2. 网站内容结构定义和数据处理(Content schema definition & Content Pipeline (1 team) 

        定义在线教学问答网站需要的内容结构, 并从爬到的内容中抽取元数据 (meta data),  并支持标签, 翻译等功能。

  1. 定义在线问答网站的内容结构,找出其中涉及的实体及它们之间的关系;
  2. 能够支持增量式的将输入的新数据,按照定义好的内容结构合并到已有的内容中(重复内容怎么处理,更新内容怎么处理,用户上传内容怎么处理);
  3. 支持标签;
  4. 支持关键词翻译;
  5. 有一个界面来跟踪和报告数据处理的进度。

从第一步收集到的网页中, 抽取关键词, 作中英翻译等, 把数据和元数据存入数据库中 (目前用SQL 数据库存储,如需采用其他的数据库,需要跟爬虫和在线系统团队协商)

3. 在线系统(Online System(1 team)

        在线系统,  完成下列功能。

  1. 用户管理系统;
  2. 用户生成内容(UGC)管理;
  3. 内容上传下载;
  4. 能够展现从前面两个阶段获取的丰富内容的用户界面;
  5. 支持网站搜索;
  6. 用户贡献模块,处理用户纠错,用户评分,用户标签等;
  7. 用户积分模块;
  8. 反垃圾和防滥用模块;
  9. 网络安全和可扩展性。

把第二步整理好的内容展现出来,同时实现其它功能。

  

第二组项目:(2 teams) 两个团队做移动客户端软件。

  1. 学霸系统手机客户端:要求实现网页端已有的用户管理、搜索、分类、上传下载、用户贡献与交互等功能。
  2. 北航MOOC手机客户端:

一、课程部分:

1、课程列表:

      显示信息包括:课程代码、课程图片地址、课程开始时间、结束时间、课程信息(先修课程、讲师介绍、常见问答、课程介绍)、课程热度

2、课程详细信息:

      显示信息包括:课程章节及名称、每章节视频对应的地址,以节为单位传输

3、用户相关:

      提示用户:课程是否已选、课程选修进度

4、用户操作:选课、退选

二、用户部分:

1、用户注册:昵称、邮箱、密码

2、用户信息校验

3、用户信息修改

三、讨论区部分:

1、讨论帖:发帖(时间、主题、内容)、跟帖(时间、主题、内容、投票、点赞数)

2、讨论帖操作:新建讨论帖、跟帖、编辑帖子、删除帖子、点赞

四、搜索部分:

搜索方式:按开课时间(早于或晚于)搜索、按课程序号模糊搜索/精确搜索、按课程名称模糊搜索/精确搜索、按讲师模糊搜索/精确搜索

五、其他功能:二维码扫描

注意:在去年我们开发了北航MOOC客户端之后,EdX发布了Android客户端,功能更加完整。请基于EdX客户端完善北航MOOC客户端。

地址:https://github.com/edx/edx-app-android。

第三组项目: (5 team) 自由选题。 这个团队可以自己选择真实软件项目,提交项目计划,必须在规定时间内公开发布并达到事先计划的一系列指标  (用户数目, 用户评价等)。  

所有团队时间:

Alpha Release: 4 weeks (1 week plan/design, 2 week implementation (sprint), 1 week stabilization & Release).

10/20: 所有的任务都创建在TFS中,并应用各种估计方法 (1) (2),去估计各个任务的时间。 把各个任务交给个人。每个任务必须有估计的时间,并且时间不能多于 8 小时。把所有TFS 的任务更新之后,截屏、统计你们项目到底需要多少时间做完。写成一个博客。(各个团队的PM 负责此事) 

10/20: 必须写出第一个 scrum meeting 报告.  (例子)

Review/Learn/Re-organization: 1 week(复审,对比实践学习软工知识,团队重组)

Beta Release:  4 weeks (same as Alpha)

团队博客: 10/20 日前写出你的项目的NABC并明确写出在哪里发布软件,发布后一周的用户量 (精确到千)。

原文地址:https://www.cnblogs.com/jiel/p/4874184.html