大学生都是读书人, 要多读书,多向前人学习, 多思考。下面的读书和调查作业必须在截止日期前发表在个人博客上 (也可以转发到团队博客)。
同学们的博客都在这里: http://www.cnblogs.com/xinz/archive/2012/11/05/2754729.html
博客1: 阅读下列博客/文章/教材, 全部读完之后, 写一篇博客。列举你对这些材料中观点的疑问(指出不懂的地方, 指出有错的地方).
作业期限: 10/31 (周三) 中午之前
博客2: 阅读下列关于软件开发本质和开发方法的博客/文章,结合自己在个人项目/结对编程/团队项目的经历, 谈谈自己的理解或心得 (经历了几周的开发, 你总会有一些心得吧)。
作业期限: 11/14 (周三) 中午之前
博客3: 这个作业以团队为单位写。 分工合作, 阅读关于软件工程教学的文章, 采访一下高年级的同学, 发表你们团队对于计算机软件工程师教育的看法。
作业期限: 12/12 (周三) 中午之前
博客4: 回顾整个课程, 软件开发的过程, 以及你自己以前读书的疑问和困惑, 谈谈自己在这方面的的理解或心得 (经历了十几周的课程, 你总会有一些心得吧), 统计自己在这门课写了多少代码, 多少博客, 看了多少文章, 开了多少会... 作业期限: 1/10/2013 (周四) 中午之前。
阅读材料 (博客1) | 网页地址 |
教材 (三本任选一本) | <none> |
现代软件工程课件(所有相关博客) |
现代软件工程讲义 目录
|
阅读材料 (博客2)软件工程的瀑布, 大泥球, 教堂,集市,和银弹 | 网页地址 |
No Silver Bullet - Essence and Accidents of Software Engineering - Brooks | http://www.cs.umd.edu/class/spring2003/cmsc838p/General/NoSilverBullet.html |
There Is a Silver Bullet – Brad J Cox | http://www.drdobbs.com/there-is-a-silver-bullet/184407534/ |
big ball of mud 你的项目有一个大泥球么? 有什么解决办法?
| http://www.laputan.org/mud/ |
CatB – Cathedral and the Bazaar
你的团队是用什么方式建造软件?
| http://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar |
Lost in CatB. 这些情况在你的团队中出现过么? | http://queue.acm.org/detail.cfm?id=2349257 中文版: http://www.ituring.com.cn/article/9363
|
Worse is Better – Richard Gabriel | The Rise of Worse is Better Is Worse Really Better |
Managing the development of large software systems: concepts and techniques 这是后来大家说的 “瀑布模型”,它有什么特点?
| http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/waterfall.pdf
对此模型的误解: http://www.youtube.com/watch?v=X1c2--sP3o0 |
Agile Method – by Martin Fowler 你的团队在开发中用了那些敏捷的思想和做法?
| http://martinfowler.com/articles/newMethodology.html
|
软件工程的方法论到底有多少用处? 同时好好读一下两个文章的评论。 | http://agile.dzone.com/articles/jez-humble-why-software http://continuousdelivery.com/2012/08/why-software-development-methodologies-suck/
|
阅读材料 (博客3) 教好, 学好软件工程 | 网页地址 |
Software Engineering vs. CS, how to teach SE? 软件工程和计算机科学的有区别么? 怎样才能教好软件工程? 在博客中阐述: 你觉得你在本校受到的计算机教育怎么样? 有什么可以改进的部分? | http://blog.sina.com.cn/s/blog_553f355101017g6l.html http://blog.sina.com.cn/s/blog_553f355101017j8q.html
为什么计算机系的老师教不好软件工程水平的编程? http://programmers.stackexchange.com/questions/11721
世界级的机构如何在工作中把计算机科学的研究, 工程, 数学, 实验方法结合起来: Google’s Hybrid Approach to Research http://norvig.com/hybrid-research.pdf
|
采访本校上过传统的 <软件工程> 课的学生。
| 寻找本校计算机系, 软件学院或其他院系中上过这门课的同学一或几名, 进行采访 (要做调查表, 列出具体事例, 具体要求, 具体的代码行数, 等等)。 例子: 中国学生到国外大学 (UCSD) 上软件工程的体会。在 NUS 的软件工程课 |
我是CS 的, 我就要做计算机科学家! | 那么看看这个CS PhD 的故事 PhD Grind
|
习而学的软件工程教育 | http://www.cnblogs.com/xinz/archive/2012/01/08/2316717.html |
总结 (博客4) 个人博客作业 | 网页地址 |
经历了一学期的软件工程学习, 你能回答你在博客1,2 中提到的问题么? 要求: 回顾读过的教材,课件,博客,和自己以前提的问题, 回答自己以前的疑惑。 例如: 团队在M1 阶段软件质量相当于a big ball of mud, 那么在M2 阶段具体有什么改进?
| 重复博客1, 博客2 的地址. |
读完技术论文后, 你怎么总结呢?建议用下面的格式 (来源):
1. 作者写这篇文章的动机是什么?
2. 作者提出了什么解决方案?
3. 作者用了什么衡量标准来度量方案的优劣?
4. 作者在文章中的具体贡献是什么?
5. 下一步的研究方向, 行动方向, 或改进方向是什么?
觉得阅读量大么? 请与国际上排名前 20 名左右的学校比较一下:
例如: http://www.cs.umd.edu/class/spring2003/cmsc838p/topics.htm 他们 (研究生) 一个学期读40多篇论文, 并写报告。
本科生是否有能力看论文? 怎么培养科研能力? 请看:
http://www.cs.sjtu.edu.cn/~liwujun/paper/ugresearch_cccf.pdf