回顾0 分值 40

所属团队(alpha后换组的,两个团队都 写)及链接:杨老师粉丝群,http://www.cnblogs.com/ylsfsq/

团队项目及链接:弹球学成语,https://coding.net/u/wuyy694/p/pinball

在本课程(不包括本学期其他课程)中学习和使用的新软件新工具(全称、版本)及链接:

  • Geany
  • ptime.exe: https://coding.net/u/younggift/p/word_count_demo/git/blob/master/ptime.exe
  • tortoisgit 2.7.0.0-64bit.msi: https://tortoisegit.org/download/

在本课程(不包括本学期其他课程)中学习、提高的语言、开发平台(全称、版本)及平台链接:

  • python,https://www.python.org/
  • coding.net: https://coding.net/

回顾1 分值40

(1)回想一下你曾经对计算机专业的畅想

当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么?
你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学期,你的看法改变了么,为什么?
你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?经过一个学期,你的看法改变了么,为什么?
(注:不可以回答 "不是","是"。请把这当成以后工作时面试题,需要回答足够长度,提供足够信息,让对方了解你。比如,给出为什么。

这个学期的学习,并没有改变我对计算机的初衷,我还是喜欢计算机。我觉得这个学期的学习满足我对计算机专业的期待,所研究的方向正是我喜欢的方向。计算机是我喜欢的领域,经过这个学期,我更加了解了所学的内容在之后的应用,很激动也很满意。

(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?
离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
经过一个学期,你的看法改变了么,为什么?

我这个学期掌握了很多研究方向相关的知识与技能,但是我觉得离一名合格的计算机学生还有很大的差距,差距在我的编程能力还很差,读算法的代码时进度很慢。

(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
对照以上你阅读的前人们的经历,你的选择是什么?经过一个学期,你的看法改变了么,为什么?
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?经过一个学期,你的看法改变了么,为什么?
针对你的选择,你给自己的本学期的规划是什么?经过一个学期,你的看法改变了么,为什么?

我的选择还是学术研究,我并没有改变,通过学习,我更加深了信念与目标。相比于其他的同学,我的优点是接收知识比较快,但是缺点是我的编程能力太弱了。规划是边学习方向知识边练习写程序,看法依旧没有改变,我还会这么坚持下去。

(4)你对这门课的期待是什么?
你打算平均每周拿出多少个小时用在这门课上?经过一个学期,你的看法改变了么,为什么?
实测结果,每周平均用在本课程上多少小时?

开始预估时间比较长,评估根据是第一周的工作时间,后来团队合作之后时间缩小了很多。实际共计7166分钟,共上课13周,每周大约551分,合9.18个小时。

回顾2 分值50

(1)5个问题

作业要求 [https://edu.cnblogs.com/campus/nenu/2018fall/homework/2101] 题目3 中提到:

通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。要求有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。

请回顾这5个问题,自己回答一下。当初的困惑是否还在,你现在如何认为,是更深的困惑么?

开学初提出过的问题,现在觉得困惑还在,自己仍然不能给出很好的答案。

(2)请根据本学期的学习、收获、困惑,再提出5个问题,可以是读后不理解的,或者读后反对的。有求有观点、有证据或分析。体验一下,这5个问题,是不是更有深度了 。

1.当我读到第六章敏捷流程时,6.3敏捷的团队里面有一段对敏捷团队的要求,自主管理(Self-managing)、自我组织(Self-organizing)、多功能型(Cross-functional),自助管理讲述说我们自己不仅要实现领导布置的内容,还要自己挑选任务,自己提出改进,然后自己实施改进。自我组织说每个人不仅要联合起来对项目负责,还要帮助工作落后的人改进,缺少某类资源还要自己顶上去。多功能型讲述测试由测试人员来写,但是需要每个人都全面负责,自己搞定规格说明书,和别人沟通,同时自己搞定测试。通过这章的内容,我知道现在流行的敏捷流程是工程项目比较流行的流程,但是我还产生了疑问。我的疑问是既然我们是一个团队,有领导带领,那我们为什么要和领导承担同样的压力和责任,如果说我们是创业团队,大家用敏捷流程无疑会是不错的选择,但是既然是在公司,既然有领导,他领的工资还比我多,那我们又应该从哪儿去寻求动力与激情去承担这些责任呢?

 2. 当我读到第四章两人合作时,4.5结对编程中4.5.2为什么要结对编程里面有一个优点是在结对编程中,因为有随时的复审和交流,程序各方面的质量取决于一对程序员中各方面水平较高的那一位。这样,程序中的错误就很少得多,程序的初始质量会高很多,这样会省下很多以后修改、测试的时间。我提出的问题是这些优点都是在两个人确实是实力相当并且思维一致的前提下产生的,但是如果说两个人实力相差悬殊,高水平的人员还需要时刻帮助水平较低的同伴,这样不仅不会提高效率还会降低效率不是吗?而且每个人的编程习惯还不同,当两人产生意见分歧时,应该怎么处理呢,及时俩人在经过商量讨论过后决定采取其中一个人的方案,但是时间不也是浪费了吗?

 3.当我读到第十六章,16.1.1中讲到我们熟悉的计算机和IT领域,所有我们看到的“酷”的东西,都是几代人、许多团队前赴后继持续创新的结果。就像拼图一样,很多聪明人都模糊地看出了最终图像,都在一块一块地拼接,往往拼好最后一块的人得到了最大的荣誉。但是没有前人的积累,没有自身扎实的功力、就没有“最后一块”等着大家去拼。我从创新这章中理解到,所有创新都是踩着前人肩膀进行的,需要知识的积累。那我们研究生到底应该是广泛涉猎,多掌握各方面知识,找到创新突破口,还是应该专攻一个方面,对其他无关方面置之不理呢?精力是有限的,想要创新,到底应该怎么样呢?

4.当我读到第十六章,16.1.7中第5条成功的团队有老大的心理中讲到当你已经是本领域最大、最好的公司时,你还要搞段颠覆性的创新么?你是不是想做一些渐进式、维持性的创新就够了?为什么要再搞颠覆性的创新?我能从中得到什么?颠覆式的创新最大的特点,就是它失败的几率非常大,一个员工身处一个成功的大公司,他可以从事颠覆式的创新而失败,也可以坐而论道。这时候我想到,如果我们身处这样的领域顶端的公司,我们是否有勇气去尝试颠覆式创新呢,如果自己的leader想要带领我进行颠覆式创新,但是结果可能是离开自己的岗位,那我有没有勇气、应不应该去跟随他的脚步,冒风险去尝试呢?

5. 当我读到第十七章,在17.3绩效管理中有一部分划分等级和公开刺激的做法的内容,讲述的是有些人把团队成员分为A、B、C这样的等级,并且认为A类员工最优秀,B类员工一般,而且B类员工会把更差的C类员工招入团队,急剧降低团队质量,因此要尽量只保留A类员工。我不明白的是既然团队是为利益在工作,为了绩效在工作,越是多的A类员工,越是能提升效率,甚至提升创新力,为什么要加入C类员工去刺激他们呢,这样的话对A类员工是不是不太公平,我们出了大多数的工作,最后却要别人分去我们的绩效。这点我是有点迷惑的。

(3)回忆整个学期,你有什么话想对后来的学弟学妹们说。

杨老师的这门课对于学工程的学生来说,是必不可少的极高财富的一节课,一定要好好学习,认真完成作业。对于学术研究的同学来说,也同样是不可或缺的一种能力的提升,不仅涵盖课堂该学的知识,还有丰富的工程工作思想。一定要把握,好好利用。

(4)如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变--基于希望得到什么样的更好结果,你才希望这样改变的;更重要的是,你根据什么估计这些改变会有预期的结果。

如果重来一次,我打算做主要编程人员,当时我因为自己编程能力太差没有勇气承担这部分工作,现在想如果机会,自己边学边做的话会提高很多能力。

(5)终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的自由有任何干扰。除发布及成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。

希望老师坚持自己的原则,很喜欢老师的授课风格,虽然开始的时候太过于严肃,但是后来感受到老师是一位十分好的老师,希望杨老师坚持自己,继续保持这种授课风格,让学弟学妹好好进步~~!

总结 分值50

(1)代码总量,平均每周代码量。

代码总量为累计1472行,历时13周,平均每周代码量约为113行

(2)博客字数总量,平均每周字数。

截至上次作业,博客总字数为22108字,历时13周,平均每周1700字

(3)根据PSP,平均每周在本课程中所用时间(是的,请再回答一次)多少小时。

截至上一次作业,累计PSP时间共7166分钟,历时13周,每周平均约为551分钟,即9.18小时

(4)进度条总结: 遍历每周知识点,以周为单位做如下表格。

起止时间

提交PSP例行报告时总结的知识点

现在回顾该周收获的知识点

9.11-9.17

软件开发的生命周期;PSP;需求分析;软件测试与维护

这周阅读《构建之法》,对软件工程课程中所设计到的知识点有了大致的了解。

9.18-9.24

代码复用,软件测试,PSP,版本控制,命令行,控制台,重定向

这周完成词频统计作业,使用了版本控制

9.25-10.7

代码复用,单元测试,PSP,版本控制,规格说明,结对编程,代码优化

本周主要是结对编程完成了四则运算的作业及其单元测试;效能分析词频统计作业。

10.8-10.14

PSP,站立会议,燃尽图,NABCD

本周开始小组项目选题,确定选题优势

10.15-10.22

PSP,团队开发,燃尽图,站立会议

本周为小组项目α阶段第一周

10.23-10.30

PSP、版本控制、站立会议

本周为小组项目α阶段第二周

10.31-11.5

PSP,事后诸葛亮会议,NABCD测评

α阶段互评

11.13-11.19

PSP、版本控制、站立会议

本周为小组项目β阶段第一周

11.20-11.27

PSP、版本控制、站立会议

本周为小组项目β阶段第二周

11.28-12.4

PSP、事后诸葛亮会议

β阶段互评

12.5-12.11

PSP、站立会议

Final阶段,完善功能

(5)时间分配堆积柱状图。如图所示,给出每周的时间分配,数据来源是每周的PSP。