回顾1 分值40
回顾本学期第一次作业[https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/876]。
参见 [http://www.cnblogs.com/easteast/p/7403491.html ],阅读其中给出的材料,并回答下面几个问题:
(1)回想一下你曾经对计算机专业的畅想
当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么?
你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学期,你的看法改变了么,为什么?
你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?经过一个学期,你的看法改变了么,为什么?
(注:不可以回答 "不是","是"。请把这当成以后工作时面试题,需要回答足够长度,提供足够信息,让对方了解你。比如,给出为什么。)
- 回想高考结束的那个夏天,整个人的兴趣爱好很明显,对于大学本科志愿的专业选择,仅仅保留在金融学以及计算机科学,这两个选择之中任意一个专业都符合我的兴趣方向,由于填报专业顺序的问题,最终选择是计算机专业。
这个事情无论经过多久都是不会改变的,这都源于我对于本专业的热爱。
- 关于大学本科四年所学课程,既有自己期待的方向,也有遗憾没有设置课程的部分。对于计算机专业基础技能的学习,本科各种课程已经可以很好的满足所需,但所有课程教学不说停留在课程表层,至少可以说是没有深度,想要将一门专业技术学好还是需要自己课外的努力的。例如,本科第一门计算机编程语言的学习就是最基础的C语言了,但是书本上的东西看的再多仅仅是停留在表面,对于本科的我们来说,缺少实践绝对是阻碍未来发展的主要问题,一学期课程下来大部分同学可能连编程软件都没有打开过;相比来说的遗憾部分就是没有设置网络安全类似专业,毕竟当时年轻气盛还是比较喜欢黑客(手动滑稽),权当做一个小遗憾吧。
看法也没有改变,但是接触了更多的专业课程,相对于本科课程来说变得更加深入,也让我感觉更加热爱这个专业。
- 既然我选择了计算机专业,那一定代表着我很喜欢这个领域,并且希望能在本领域中继续发展下去,不论是做科研还是做其他类型工作,难道会有比兴趣爱好恰好正是自己从事的工作更幸福的事情么?但是喜欢并不是擅长,也许再过十年二十年也不敢说自己擅长计算机领域,计算机技术更新迭代速度是难以想象的,选择这个领域必然是一个不断学习的过程,我会抱着谦虚的态度不断学习,向着所谓的“擅长”努力靠近。
计算机仍然是我喜欢但并不擅长的领域,学习的速度永远赶不上新知识更新的速度,所以可能在未来也并不能做到“擅长”。
(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?
离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
经过一个学期,你的看法改变了么,为什么?
- 由于本科四年一直在ACM集训队中,主攻方向也是各类算法以及数据结构,偏向ACM比赛方向,收获的是比同级人更多的代码量以及算法等相关知识的掌握;四年的学习以及两年的比赛经验,让我拥有快速学习并实践的能力,以及团队合作的能力。
从事ACM相关的工作的弊端是,并没有将精力投入到项目开发等方面,并且对现阶段火热的Python语言、Swift语言没有进行学习,研究生三年会将主要精力投入到项目开发方向,并且强化独立解决问题的能力。
看法并为改变,但是已经在努力掌握新的知识,逐渐缩短自己和一个“合格的计算机学生”的差距。
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
对照以上你阅读的前人们的经历,你的选择是什么?经过一个学期,你的看法改变了么,为什么?
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?经过一个学期,你的看法改变了么,为什么?
针对你的选择,你给自己的本学期的规划是什么?经过一个学期,你的看法改变了么,为什么?
- 虽然某位老师说过算法是一个需要慢慢沉淀才能有所发展的方向,结合我自身对于算法方面的热爱,我希望可以深入进行算法方面的研究。相对于其他同学来说,优势在于我对于算法已经有了一种熟悉感,也掌握了属于自己的深入学习算法的方式;劣势在于短时间内可能并不能看出什么成效,需要时间的积累以及不停歇的“枯燥”研究。
- 本学期的规划是,重温线性代数以及概率统计课程;可以掌握并熟练运用Matlab;熟练运用遗传算法、差分进化算法、粒子群算法等七种算法进行实际问题的解决。
看法并为改变。学习的方向从Matlab解决算法问题转为Python解决算法问题,这就是唯一改变的地方吧,而且学期初的规划也在有条不紊的进行中。
(4)你对这门课的期待是什么?
你打算平均每周拿出多少个小时用在这门课上?经过一个学期,你的看法改变了么,为什么?
实测结果,每周平均用在本课程上多少小时?
- 对于软件工程这门课,我希望可以通过本门课程督促自己学习项目类相关知识,并在课程进行过程中完成属于自己的项目。
- 我打算平均每天拿出2小时及以上时间对待这门课程。
每天要忙的事情太多,大概每天只有一个小时的时间可以用在本课程上。实测结果,每周平均7.42小时用在本课程。
回顾2 分值50
1. 5个问题
作业要求 [https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/876] 中提到:
通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。要求有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。
请回顾这5个问题,自己回答一下。当初的困惑是否还在,你现在如何认为,是更深的困惑么?
1. 一个好的工程师需要具备什么条件?
(1) 学会看代码
(2) 复习
(3) 做个人项目
(4) 问答网站
引用自 知乎 2.1K赞同
我的疑问是个人需要熟练掌握的专业技能是哪些?我个人认为“动手做”比“看代码”更为重要,此回答的前提是工程师本人已经拥有丰富的开发经验进而更加完善自身么?
现在来看就是一个已经熟练掌握了相关专业技能的工程师才能按照上面所说的四项作为好的工程师的衡量条件,如果连基础代码能力都没有就谈不上是一个工程师,更不用说是一个好的工程师。
2. 结对编程首要遵循的条件就是代码规范性么?
结对编程可以看作是一个工程项目进行整合的过程,代码规范性固然很重要,但是每个人的编程习惯有所不同,一定要严格遵循某个固定的规则进行编程么?还是只要在整合的过程中,每个成员可以根据工程整体进度将相应模块整合在一起就可以呢?
在结对编程的过程中,我们首先就制定了代码规范,这确实是一个首要遵循的条件,可以减少很多工程模块整合之间的问题,也增加了代码的可读性。
3. MSF团队模型是网状结构,会不会产生一些弊端?
我理解的所谓网状结构是团队中每个成员各司其职,从而完成整个共同的目标,但这种结构中会不会存在缺乏约束性而导致某个部分的成员“浑水摸鱼”,从而耽误整个工程项目的进展呢?可否在网状结构的基础上,增加管理者或监督者对整个项目进程进行监控,从而达到更有效率完成项目的目标?
在团队项目开发中,我们项目组的每个成员各有分工各司其职,通过每日会议来进行工程进度的检验,如果有一环没有完成就会耽误整个工程进度,在我们项目组中并没有存在“浑水摸鱼”的弊端,这是对于MSF团队模型的检验,证明这是一个优秀的团队模型。
4. 需求分析的调研结果如何确定有效性?
工程项目的需求分析可以让工程开发者明确开发方向以及开发目标,可以有效减少开发所需要走的弯路,针对所开发的软件进行用户需求分析是个极为重要的步骤,但是调研出的结果如何确定是真实有效的?根据我以往的经验,身边的人大多数都是对调研之类的事抱有不屑一顾的态度,就算调研样本足够庞大,我认为也不能保证结果就是真实可信的。那么如何保证调研结果的有效性?
只要调研样本足够多,就可以减少垃圾样本的存在,用大量的需求分析调研来确保有效性。
5. 一个好的软件要经过多少种测试?
对于软件开发团队来说,测试无疑是一个重中之重的步骤,除了在开发过程中进行实时测试,做到问题早发现早解决,当整个项目进行整合之后,还要进行整体的测试,那么经过多少测试才能证明该项目没有问题可以进行下一步工作?或者说,有没有什么规范要求项目要经过若干个测试才能叫做一个没有bug的软件呢?
BUG永远是不可避免的,总会出现一些测试不到的BUG或是根据用户使用环境的不同而产生各种各样的BUG,现在我还是不知道该如何将一个软件称为没有BUG的软件。
2. 请根据本学期的学习、收获、困惑,再提出5个问题,可以是读后不理解的,或者读后反对的。有求有观点、有证据或分析。体验一下,这5个问题,是不是更有深度了 。
本课程进行了一学期,从个人作业到结对编程再到小组编程,我已经没有什么问题可以提出了。
3. 回忆整个学期,你有什么话想对后来的学弟学妹们说。
软件工程课是一门很有价值的课程,会让缺少工程项目经验的同学加强动手能力,尤其当学期末回看整个过程,会有一种成就感。
4. 如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变--基于希望得到什么样的更好结果,你才希望这样改变的;更重要的是,你根据什么估计这些改变会有预期的结果。
如果重新来过,我还是会专心于算法方向或理论方向学习,这是我兴趣所在。
5.终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的自由有任何干扰。除发布及成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。
杨老师是个认真负责的老师,您对于生活工作认真的态度很值得学习。建议也就只有一点吧,少吃快餐(KFC,金拱门),早点休息,对身体不好。
总结 分值50
-
代码总量,平均每周代码量。 代码总量2354行,平均每周196.17行。
-
博客字数总量,平均每周字数。 博客字数11040字,平均每周920字。
-
根据PSP,平均每周在本课程中所用时间(是的,请再回答一次)多少小时。 7.42小时。
-
进度条总结: 遍历每周知识点,以周为单位做如下表格。
5. 时间分配堆积柱状图。如图所示,给出每周的时间分配,数据来源是每周的PSP。