团队项目要求
同学们的小组要在下次课上 (10月16日) 决定做哪一个项目 (按黄金点游戏排出的次序挑选),确定之后写团队博客描述他们要做的究竟是什么系统 (不懂的地方可以在博客上提问)。
这次课程有8个学生团队,我们有11个备选项目。
第一组项目:在上个学期的Xuebai项目的基础上继续完善改进3个模块(3 Teams)。以下为上个学期Xuebai项目的要求,转自邹欣老师博客。
Building Online Education Q&A ecosystem
创建网上教学问答系统
在网上有许多关于某门学科 (例如计算机科学) 的许多知识和问答,这些问答散落在网上课件,维基百科,论坛,校园BBS,技术文档,教学视频… 中。许多网上大学也有很多相关内容。一个新手 (例如大学生) 往往要花许多时间搜索这些问题的答案。事实上,无数的师兄师姐们已经问过,答过这样的问题了。 这个系统的目的是要把高质量的内容都聚合起来 (在遵守相关知识产权规定的前提下),让用户能系统地浏览、搜索、编辑、评论; 同时也支持用户继续通过提问/回答完善这些内容。
主要针对计算机科学、软件工程两个学科。
1. Crawler & classification module (1 team)
从网上搜索相关内容, 并归类。
- can crawl related content,
- Can classify web data,
- Can crawl/re-crawl based on hints
- Have UI to show progress
例如: 告诉 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), 并支持标签, 翻译等功能。
- Define a schema of "online education Q&A", find out entities and their relationships.
- Input new content into pipeline, then merge it into existing content, under schema
- Have a UI system to track the progress and report data
- Support tagging
- Support translation
从第一步收集到的网页中, 抽取关键词, 作中英翻译等, 把数据和元数据存入数据库中 (暂定用SQL 数据库存储)
3. Online System (1 team)
在线系统, 完成下列功能。
- User management system
- Management of UGC (user generated content)
- Upload/Download content
- UI presentation of rich content we gather from step 1 and 2.
- search of this site
- User contribution module, handles user correction; user ranking; user tagging
- user credit module (用户积分)
- Anti-spam and anti-abuse module
- Web security and scalability
把第二步整理好的内容展现出来,同时实现其它功能。
第二组项目:在去年的基础上增加一个全新的功能(1 teams)。例如课件和教学视频的共享,打分(rating)等。
第三组项目:(2 teams) 两个团队在老师指导下做客户端软件 ( 例如:为学霸系统写手机客户端、北航的BBS 等校内系统写手机客户端、学生英语单词助手、学生时间管理助手、改进去年的手机游戏等),这些项目已经有团队做过类似的工作 (可以拿到源代码),要求学生在前人的基础上开发新的功能,修改原来功能的bug等等。
第四组项目: (2 team) 自由选题。 这个团队可以自己选择真实软件项目,必须在规定时间内公开发布并达到事先计划的一系列指标 (用户数目, 用户评价等)。
所有团队时间:
Alpha Release: 4 weeks (1 week plan/design, 2 week implementation (sprint), 1 week stabilization & Release).
10/23: 所有的任务都创建在 TFS 中,并应用各种估计方法 (1) (2), 去估计各个任务的时间。 把各个任务交给个人。每个任务必须有估计的时间,并且时间不能多于 8 小时。 把所有TFS 的任务更新之后,截屏、统计你们项目到底需要多少时间做完。
在两周的implementation阶段,每个人每天应完成的工作量为 2 小时。只有区区两小时哦,亲!
写成一个博客。(各个团队的PM 负责此事)
10/23: 必须写出第一个 scrum meeting 报告. (例子)
Review/Learn/Re-organization: 1 week (复审,对比实践学习软工知识,团队重组)
Beta Release: 4 weeks (same as Alpha)
团队博客: 在 10/23 日前写出你的项目的NABC。并明确写出在哪里发布软件,发布后一周的用户量 (精确到千)