此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2101]
2.博客作业(10分)
参见 [http://www.cnblogs.com/easteast/p/7403491.html ],阅读其中给出的材料及评论,并回答下面几个问题:
(1)回想一下你曾经对计算机专业的畅想
当初你是如何做出选择计算机专业的决定的?
对大学想学什么专业没有明确的想法,没有特别的兴趣爱好,计算机专业就业能够选择范围比较大,分数也差不多合适,报考老师帮忙选择的这个专业,当时自己虽然没有接触过这个专业,但是还是很期待的。通过大学四年的学习,感觉自己在这个领域上学习尤其是实践的还不够,因此继续考取了计算机专业的研究生。
你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?
我觉得很符合我的期待,理论课的内容可以更好的了解计算机这本学科包含的内容,有了理论课的基础实践会更好操作,实验课的内容可以更好的实践,有时候感觉能编写出一个程序会很有成就感。
你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?
经过大学的学习觉得对这一门课还是有一定的兴趣,但是并不敢说很擅长,我自己还在不断努力的学习中,比如编写程序设计算法,感觉自己的思维还是不够缜密,我觉得还是需要不断地练习才可以达到更好的水平。
(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?
以后自己需要学习的地方还很多,感觉自己现在都是看别人做的多,理论知识多,确实缺少自己去实践或完成一些项目任务的经历。通过大学四年的学习,自己在专业理论知识、数学、英语等方面基础还可以,编程方面c语言、java也有一定的基础,其它专业方面的知识也有一定的了解。
离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
专业知识方面,自己还需要多实践、多学习,需要更多的自己去操作实践,确定自己感兴趣并且擅长的方向;
技能方面,还需要多锻炼,提高与人交流的能力,锻炼口才,希望可以锻炼自己英语的口语能力;
能力上,还需要培养编程的能力,培养学习的思维。
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
对照以上你阅读的前人们的经历,你的选择是什么?在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
通过阅读前人们的经历,我的选择还是进行学术研究,因为自己比较喜欢钻研东西,也对学术研究有一定的兴趣,因此目前还是希望现在能朝着学术研究的方向努力。优势方面,自己做事比较认真,学习兴趣比较高,劣势就是还缺少实践的经验,动手做过的东西少。
针对你的选择,你给自己的本学期的规划是什么?
本学期,首先对课堂的知识能够充分掌握并且课下能够做好延伸,掌握好基础,并且能够充分利用好课余的时间,然后希望能够多学习一些知识,参考一些论文,能明确自己的喜好和研究方向,多多实践,多参与。
(4)你对这门课的期待是什么?
希望能通过这门课程了解软件工程,能够了解并且学到东西,并能够利用课上所学的知识在课下多实践。
你打算平均每周拿出多少个小时用在这门课上?
根据老师在课堂上提出的,这门课课下大概需要十个小时左右,对于我来说,可能需要更多的时间,大概一周需要15个小时左右。
3.博客作业(10分)
通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。要有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。
问题一:单元测试和回归测试的区别和意义是什么?
书中第二章关于测试提出了单元测试与回归测试,提到了在单元测试的基础上建立回归测试,那么单元测试和回归测试有什么区别,进行两种测试的目的分别是什么,两种测试进行的必要性是什么,单元测试和回归测试具体要针对哪部分的代码,单元测试和回归测试在实际中应如何区分?
问题二:敏捷在什么情况下不适用?
第六章提到了敏捷流程,其中提到“敏捷宣言表示的是一些优先级,不必作圣旨或者教条来争论“,敏捷虽然很有效果,敏捷不是万能的,那么敏捷流程在什么条件下更适用呢,什么情况下不适合使用敏捷,使用敏捷的时候又要注意些什么?
问题三:当用户需求较模糊时工程师应如何定位需求?
第七章中提到MSF强调与顾客交流,满足用户所需,但是如果用户关于需求的描述较模糊或者自己也不确定某些功能时,如何与用户交流确定相应的方案,或者与用户交流时提供的有用信息及功能较少,该如何定位自己的产品及设计方案。MSF的这项步骤在实际应用的时候应该如何进行注意?
问题四:当用户体验和产品质量产生冲突时,应该如何解决?
在十二章中提到用户体验,产品不仅仅要注重用户体验,同时还要注意产品的质量,当两者出现冲突时应该如何进行取舍,或者哪者应该占更多的比重呢?是应该更注重用户的需求还是将产品质量要求到最高?
问题五:什么时候考虑产品的价值因素?
在第十六章中提到,团队在新产品或产品的新功能中,要考虑其是否带来了新价值,是否提供了独家的价值。我人为对于产品的独家价值并不适用于所有的产品,因此什么时候需要考虑产品的非差异性价值是一个值得思考的问题。
4.博客作业(10分)
很多人有不为大家所知的本事,而这个能力可以超过周围90%的人。比如课堂中教师提到,如果表现得不像高度近视,如何伪装得不像脸盲,能做40个俯卧撑。当然,也可能是篮球、足球、钢琴、ACM、演讲。请给出你超出朋友的特殊技能,并告诉我们,你如何通过何种努力、花了多久获得这样的成就。
对于大多数人可以做到过目不忘,因为我有一个习惯对于见第一面的人喜欢观察对方,从衣着、五官到身高以及比较明显的特点,可能对于名字没有特别的敏感,但是对于别人的脸部特征印象很深。就是一个不自觉的习惯养成。也能看出习惯的养成很重要。
5.博客作业 (10分)
采访本课程往届同学(含外校和毕业生,以《构建之法》作为教材的。不含刚好你熟悉的一位软件工程专家)。 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下:
- 当时的项目有多少用户,给用户多少价值? 现在还有人用吗?
- 用户有十几个左右,是一个简单的游戏项目,现在是应该没有人用了。
- 这个项目能否给我们团队继续开发,源代码/文档还有么?
- 重新开发意义不大,代码得找一找,不确定能不能找到。
- 项目开发有什么经验和教训
- 还是应该用自己擅长的语言开发,选错方向困难很大,项目开发需要市场调查,然后构建框架。
- 对学好软件工程有什么建议
- 认真学习这门课程,对于老师布置的作业要认真完成,还是会很有收获的。
6.博客作业 (5分)
以下统计精确到一百行。
你目前的代码量是多少?
目前代码量40行左右,自己真正动手写过的代码基本都是十几行左右
你认为优秀的和一般的计算机专业学生,(根据你的理想选择以下两问中的一个)为了有资格入职软件公司/互联网公司,需要多少代码量?从事高校教学科研工作呢?
我认为计算机专业的毕业生代码量至少需要达到1w,如果从事高校教学科研工作,根据我在网上的查询,应该在2w到齐3w左右
你计划在本课程结束时,完成多少代码量?这些代码量分布在整个学期中,每周应完成多少代码量?
我计划在本课程结束后,能够达到5000行的代码量,计划每周300行左右,在编程方面,我需要学习的地方还有很多,除了代码量还要锻炼编程的思维,写代码的思路,学习更多的算法
7.阅读材料,写心得(10分)
以下两篇博客必读,并务必写一些心得:
(1)你为何要来上课并且认真参与 [http://www.scalerstalk.com/816-attention]
看到博文的内容,我觉得讲的很有道理。经过从小的学习,应该养成一种学习的本领,这种本领不应该到大学就荒废了,学习是一种能力,有些成绩好的学生就是在做其他方面时也很优秀,我认为学习的这种能力不仅仅是应用在课堂及考试,更是在以后的工作生活中都十分有好处的。学习思维的养成可以在以后的生活中也十分有用,学习思维可以包括专注力、思考方式、学习习惯等。
培养学习能力是一方面,其次课堂学习到的内容也是很重要的。有了课上的内容,才有助于课下更好的学习。
(2)你在大学中体验到了哪种师生关系 [http://www.cnblogs.com/xinz/archive/2011/05/16/2048044.html]
感觉以前体验到的师生关系主要是Prison Guard / Prisoner (狱警 / 犯人)或者是Stranger / Stranger (路人甲 / 路人乙),一种是老师采取了一些传统性的上课措施,一种是觉得跟老师觉得并不熟,老师不认识自己,除了上课跟老师没有其它的接触。
我感觉在大学中,老师更多的是领路人的作用,大学的学习课程不像高中一样的东西学三年,而更多是一门课程上一学期,课堂的内容,肯定不足以将其学习透彻,因此还需要课下更多的自己去延伸拓展,更多的去动手实践,因此老师是一个领路人的形象。