个人作业-Week1(新增详细说明)
- 快速看完整部教材,列出你仍然不懂的5到10个问题,发布在你的个人博客上。
如何提出有价值的问题? 请看这个文章:http://www.cnblogs.com/rocedu/p/5167941.html,以及在互联网时代如何提问题。 还有这些要点:
① 在每个问题后面,请说明哪一章节的什么内容引起了你的提问,提供一些上下文。
② 列出一些事例或资料,支持你的提问 。
③ 说说你提问题的原因,你说因为自己的假设和书中的不同而提问,还是不懂书中的术语,还是对推理过程有疑问,还是书中的描述和你的经验(直接经验或间接经验)矛盾?
一个模板可以是这样:
我看了这一段文字(引用文字),有这个问题(提出问题)。我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验)。 但是我还是不太懂,我的困惑是(说明困惑)。
【或者】我反对作者的观点(提出作者的观点,自己的观点,以及理由)。
大学生应该能写出自己的思考, 而不是摘抄书本内容。
提示:编程经验不多的同学,建议看16章 “创新”, 提出自己的问题。
-
请问 “软件” 和 “软件工程” 这些词汇是如何出现的 - 何时、何地、何人?
[1] http://en.wikipedia.org/wiki/John_Tukey
[2] http://linux.cn/article-4778-weibo.html
[3] http://buzzorange.com/techorange/2015/01/26/margaret-hamilton/
[4] http://en.wikipedia.org/wiki/Margaret_Hamilton_(scientist) -
【附加题】:大家知道了软件和软件工程的起源,请问软件工程发展的过程中有什么你觉得有趣的冷知识和故事?(+2')
冷知识和故事的例子:
在 Dijkstra 决定成为一个程序员后,他尽快完成了学业,因为以他的话说,他在大学里不再受欢迎了:物理学家们觉得他是逃兵,而数学家们也看不起他和他做的事,因为在当时的数学文化里,你的课题必须和 ∞ 有关才会受尊重。那个时候程序设计没有成为一个职业,没有人能说出这个行业的基础知识体系是什么,而这些都会被 Dijkstra 改变。1957 年,他结婚的时候在申请的职业一栏写上了「程序员」,结果被政府拒绝,因为当时荷兰没有这个职业。
http://www.techug.com/post/edsger-wybe-dijkstra.html
- 上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点? (提示:搜索一下Microsoft TFS、Git、Mercurial、GitHub、Bitbucket、Trac、Bugzilla、Rational,Apple XCode)?
请按照最近一两年使用人数的多少, 从多到少排序并说明各自有多少用户(估计),工具的优缺点(可以引用相关资料并注明来源)。
使用Git的项目:
[1] https://git.kernel.org/
[2] https://git.gnome.org//browse/
[3] https://cgit.freedesktop.org/
使用Mercurial的项目:
[1] http://hg.mozilla.org/
[2] http://hg.netbeans.org/
[3] https://hg.python.org/
使用Trac的项目:
[1] https://svn.boost.org/trac10/wiki
[2] https://code.djangoproject.com/
[3] http://trac.webkit.org/
使用Bugzilla的项目:
[1] https://bugzilla.kernel.org/
[2] https://bugzilla.mozilla.org/
[3] https://gcc.gnu.org/bugzilla/