这是现代软件工程课的作业列表 (每周更新), 作业分为:

  1. 个人项目 Individual Project: 一个人独立完成
  2. 结对项目 Pair Project: 一对同学用结对编程的方法完成
  3. 团队项目 Team Project: 一组同学 (5-7人) 用软件工程的方法完成
  4. 团队作业 Team Homework:  适合团队完成的作业
  5. 个人作业 Individual Homework:  个人完成的作业 (读书报告等)

Individual Project

we had played the “number game” once, now what if you can design an AI algorithm to play with other AI programs?

write a program to play the “number game” in a group setting.

requirement: a game server program, it manages “players”, and keep the score of a “number game tournament”. (we need a volunteer to write such server).

a tournament has many rounds of matches, during one match, each player submits one number, and the server calculates the g-number, decides the winner/loser, and send back the result.

for example,  our formal Tournament of Golden Number game will consists of 100 rounds.

a player program: each USTC student will write one. it can do the following:

  1. register itself to the server, get game info (how many rounds per tournament)
  2. submit the “number” upon request from server
  3. get the result of last round

My requirement for server is that it should be able to run at least 10 rounds of matches/minute, and for the client, it needs to send data (your number) to server with no more than 1 sec delay.

the player program can be implemented in any language as long as it can communicate with the server via pre-defined protocols.

rules:

number:  a rational number between (100, 0),  not equal to 100, or 0.

in each match, the winner (or winners) is the player whose number is closest to the G-number,  winner will get 10 points.

the loser (or losers) is the player whose number is furthest away from G-number.  loser will get –3 points.

due date: after alpha release, around Oct. 20th. more details will follow.

Pair Project

http://academic.research.microsoft.com/academicmap

tasks for each pair:

learn the current architecture and feature

review new feature suggestions, and come up with your own features and improvements

pick 1-2 new features, and implement them in 2 weeks, using pair-programming collaboration model

break your feature into sub-tasks (see work breakdown structure, WBS), write down your estimation of the cost (how many hours). after the code is completed, write down the actual cost of time.

take a photo of 2 of the pair actually working, write a blog (including the photo) to share what you’ve learned in pair-project.

the developer of map view - John - will talk about the following:

a) The brief intro of SL programming

b) Architecture of map view code

c) Feature list of map view

deadline: 8/25, Thursday Noon. code checked in. be able to build from the project and run the demo.

8/25 afternoon (1-2pm), each pair present their work in real time demo and/or PPT.

8/31 noon. blog about your pair project should be posted online.

an acceptable pair project summary blog looks like this:

a) your project title

b) team members

c) the goal of the project, and WBS (break the goal into manageable pieces)

d) your estimate of each piece of work, and the actual cost of each pieces of work

e) your result (show some screenshots of your working feature)

f) the photo of both of you working in pair-programming style

g) the benefits and costs of pair-programming, from your own perspective. how did pair-programming help your pair overcome difficulties? what’s the cost of doing so?

h) how do you evaluate your partner? show us the strength and weak areas of your partner, give him/her constructive feedback in "sandwich style”.

Team Homework #1:  interview past projects

¡  For each team, pick a past Software Engineer Course project (either done by USTC team, or by Tsinghua students),  Interview students of that team, read their blogs, and report on your learning, then publish to your team blog.

§  Did they reach their goals in project?  how many users do they have?

§  lessons learned from them,

§  and what would you do differently if you were in that team,  or if you could re-do the same project from scatch.

§  You can interview by face to face talk, email, phone, or interview their users.

Please post your homework to your homepage.

Deadline: Noon, Monday, 8/22/2011

Team homework #2:  innovation in new application domains.

Please read books about innovation,  and blogs about innovation,  e.g.  I have several:

http://www.cnblogs.com/xinz/archive/2011/07/09/2102052.html

http://www.cnblogs.com/xinz/archive/2011/07/10/2102310.html

http://www.cnblogs.com/xinz/archive/2011/07/11/2102667.html

I had an old assignment for PKU students:  http://www.cnblogs.com/xinz/archive/2011/06/26/2090631.html.

Now I’d like to see you do the same thing with 微博,  or 团购.   (就是把作业中所有提到 博客 的地方都换成 微博,  or 团购),  since we have 4 teams,  I’d like to see team 1 and 2 pick 微博,   team 3 and 4 pick 团购.

Deadline:  Noon, Monday, 10/10/2011

you need to apply accounts, and use these accounts for a period of time in order to have meaningful investigation.  So I suggest you start early.

Team homework #3: how does your team evaluate member’s performance?

Please have a team meeting and decide how your team plan to evaluate each member’s performance.

see this blog for details.

Deadline: Noon, Monday, 10/10/2011

Team homework #4: Test Plan and Test Matrix

Write a blog to describe in detail how you’re going to test your software based on scenario and persona

1. your test plan

2. the personas (典型人物) of your software

3. How do you expect different personas (some teams have 3 personas) to use your software? What’s their need and their goals, how your features work together to solve their needs?

4.Your test matrix (测试矩阵)

On what platform, what language, what type of machines, what type of browser, etc. to test your software?

5.What is “exit criteria” (good enough) for your software for beta release?

Hint: focus on the first 5-15 minutes.

Deadline: Noon, Monday, 10/31/2011

Team homework #5: bug bash

Each team has released beta 1 version.  now USTC students can test each others’s release.

to do: write test report, list all the bugs.

due date: right after beta 1 release.

Individual Homework #1

report the reference book (not the text book) you’re about to read.  see reference book list:

http://book.douban.com/doulist/1204928/

http://book.douban.com/doulist/1253169/

in the later part of this course, each student needs to write a blog and present his learning in the class.

deadline: week of 10/31/2011. (depends on TA arrangement)

Individual Homework #2

a good question is 50% of a good solution,  now let’s share your questions about the text book(s), and post them online.

todo:

  1. pick a text book (we have 3 of them),  start reading, take notes about things you don’t understand.
  2. search the web to see if there exist answers
  3. if not, refine your questions, make sure readers can understand what you’re talking about.
  4. post them on your team blog (you can mark your name in the blog post).
  5. you only need to share about 5 questions.

deadline: Noon, Monday 10/10/2011.

USTC 2011 homework list [现代软件工程 作业]相关推荐

  1. 现代软件工程 作业 4 个人作业

    这是现代软件工程课的作业 个人作业 Individual Homework: 个人完成的作业 (读书报告等), 着不同于 "个人项目 Individual Project". In ...

  2. 现代软件工程 作业 原型设计

    [ 现代软件工程 作业系列] [ 这个作业来自福州大学 ] 软件工程课不是大家埋头写程序的课, 而是教给大家在软件需求 - 设计 - 实现 - 测试 - 维护 过程中的原理,方法和工具.下面我们就看如 ...

  3. 现代软件工程 作业汇总

    现代软件工程课程 各个学校的编程/软工作业列表 ------- 软件工程的作业 ------- 很多老师反映软件工程的作业题不好出,学生做的"大作业"也是了无新意.怎么办?师生们身 ...

  4. 现代软件工程 作业 3 团队作业

    这是现代软件工程课的作业列表, 老师可以根据情况选用, 建议要保证每周都有作业. 团队作业 Team Homework: 适合团队完成的作业 这些作业都要团队的成员互相配合才能完成,  团队可以选出一 ...

  5. 现代软件工程 作业 第一周博客作业

    第一周作业 1. 介绍自己,建博客 我是一名大三的学生,平时爱好看看书,感觉没啥特长. 要说有什么优势技能,就是文笔还可以吧. 从初三开始写日记,基本上上学的日子每天都写,一直到大一结束. 2. 现状 ...

  6. 现代软件工程 作业 最后一周总结

    (软件工程作业汇总) 1) 回顾你的课程计划 (第一周的计划), 你完成的程度如何?请列出具体数据和实际例子 2) 你在课程开始快速浏览了<构建之法>,提了 5 个问题, 请回顾那些问题, ...

  7. 现代软件工程 作业 2 结对项目

    这是现代软件工程课的作业 结对项目 Pair Project: 一对同学用结对编程的方法完成 结对编程课件: 现代软件工程讲义 3 结对编程和两人合作 软件工程讲义 3 两人合作(2) 要会做汉堡包 ...

  8. 现代软件工程 作业 1 个人项目

    这是现代软件工程课的个人项目作业 个人项目 Individual Project: 一个人独立完成. 时间: 可以考虑在第一周就给同学们这个项目; 也可以考虑在团队项目Alpha 阶段之后进行, 作为 ...

  9. 现代软件工程 作业 文本文件中英语单词的频率

    这是<构建之法>现代软件工程课的个人项目作业 个人项目 Individual Project: 一个人独立完成. 时间: 可以考虑在第一周就给同学们这个项目;  也可以考虑分为两部分, 个 ...

最新文章

  1. CSS3——对齐 组合选择符 伪类 伪元素 导航栏 下拉菜单
  2. Go 定时器和断续器
  3. 树莓派4视频输出接口_树莓派第四代来啦!4G内存、支持双屏4K输出和H265硬解
  4. eclipse中多个工程编译到同一个目录下
  5. linux type命令(用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令,如果给出的指令为外部指令,则显示其绝对路径)
  6. triplet loss 在深度学习中主要应用在什么地方?有什么明显的优势?
  7. unslider调用配置选项
  8. Activiti6.0教程 Eclipse安装Activiti Diagram插件(一)
  9. find command基本使用
  10. 神经网络与深度学习——TensorFlow2.0实战(笔记)(三)(python常量、变量和表达式)
  11. 用Java语言编写的特殊算法
  12. iOS黑魔法 - Method Swizzling
  13. 设置 cmd 窗口默认为快速编辑(quickedit)
  14. 【信息系统项目管理师】重点整理:高项知识地图
  15. mysql红黑联盟_MySQL - mysql数据库栏目 - 红黑联盟
  16. HDU 5964 平行四边形/Pland 【平面几何】
  17. win7系统换主板后无法进系统,卡logo,无法进安全模式的解决方案
  18. 压缩、减员、并购、自动汽车市场凛冬将至!
  19. 复旦大学计算机应用复试线,2019年复旦大学考研复试分数线已出现
  20. 项目管理:确定目标有哪些作用?

热门文章

  1. js `` 手机不支持
  2. Oracle中输出一个变量
  3. 员工辞职的十大原因!
  4. 计算机网络(二十六)-IP数据报分片
  5. antimalware可以关闭吗_iPhone最好关闭这4个设置,手机流畅还省电
  6. android app 适应不同大小屏幕_移动APP测试:Android屏幕适配问题二
  7. kind富文本编辑器_在VueJs中集成UEditor 富文本编辑器
  8. ivx中字体显示_iVX云服务费用优化 · 上篇
  9. 什么是java的元数据_学习大数据,为什么要先学习Java?
  10. 生产环境可以用吗_柑橘可以生产果醋吗?柑橘果醋的生产工艺是什么?