此作业的要求参见:https://edu.cnblogs.com/campus/nenu/2020Fall/homework/11183
一.建博客
在 cnblogs.com (博客园)建账号
博客地址:https://www.cnblogs.com/withmama/
二.博客作业第二部分
阅读相关材料和评论,并回答下面提出的问题:
(1)回想一下你曾经对计算机专业的畅想
*当初你是如何做出选择计算机专业的决定的?
一部分原因是兴趣,大概中学的时候接触美剧以后,也不仅仅是美剧很多电视剧电影甚至动漫都有那种很厉害的黑客的角色,他们总是会在最关键的时候用电脑去解决问题,我觉得很厉害也觉得计算机是一个很帅气的学科。但是当时并不知道需要学习代码或者真正开始接触计算机需要知道什么知识和技能啊,就是单纯的觉得可以用计算机去解决问题这样的方式很酷。我觉得计算机做到的那些事情让我感觉神奇和向往,永远最吸引我的也一定是在电脑前面对着键盘敲敲敲然后解决问题的角色,所以在高考选择志愿的时候就决定要报考计算机的相关专业了。
另一部分原因是高考的分数和预期的相差较大,当时父母想让我去的学校没有希望,极大的心理落差让我的想法变得有些很极端,那个时候计算机的专业真的很热门,大家好像都一门心思的想学计算机觉得计算机好找工作挣的钱也多,我也觉得既然这样我就去学学看这个专业和我期待的到底有什么不一样吧。
*你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?
说实话刚上学开始学习计算机的课以后,我觉得和我的想象中的是完完全全不一样的,我本科的录取专业是软件工程,在接触这些课程以前我以为是教我每天在手机上电脑上在使用的这些软件是怎么做出来的,结果根本自己连皮毛都算不上,不要说这个软件怎么做出来怎么实现,连接受第一门学习的编程语言和这个专业的联系就花了很久,还记得C语言的课上最开始连小学的加减法都不知道怎么写出来,不知道那些语句该怎么用该怎么放在一起,我的想法和我的手根本不在一个次元的那种感觉。和我期待的有不一样也有一样的,就是计算机真的很神奇啊,代码真的可以解决问题,虽然自己会的真的很少很少,但是厉害的人真的可以用计算机解决更厉害的问题。也明白了要学的不仅仅是编程,数学也很重要,英语也特别特别重要。
*你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?
这个领域的发展越来越迅速,在了解的过程中也慢慢发现其中包含的好多不同的研究方向,现在的互联网世界空间很广,而且比起其他的领域计算机的创新更可以带来惊喜,不能说每个方向都会感兴趣,但可以肯定的说我是喜欢计算机的。并不是擅长的领域,因为我懂得真的太少了能做出的也几乎没有,真的不擅长但是只要多学多看也会慢慢累积一些东西吧。
(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?
离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
本科学过的一些基础的专业课知识以及在考研期间初始和复试复习过的专业课知识掌握的还是勉强及格的,在英语的水平上阅读论文也不算特别的困难,可以较为流畅的阅读简单文献。在编程上的欠缺是非常大的,我也深知编程能力的重要,本科也只是做过一些比较简单的类似acm的c语言程序,像是c++、java这样的语言也只是稍作了解,并没有深入的掌握,这样的能力非常微不足道甚至可以说根本算不上编程,近期找到了学习网站准备尽快了解学习python争取后期不拖后腿和进度能够尽到一份力。
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
对照以上你阅读的前人们的经历,你的选择是什么?在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?针对你的选择,你给自己的本学期的规划是什么?
我目前的想法和计划是先做好学术上的研究,因为我的导师的研究方向是偏向于学术性的优化路径的算法,我现在也在开始接触阅读一些相关的论文,一方面是自己还没有去接触工程项目的能力和编程水平,另一方面我很喜欢导师这边的氛围,先保持住热情就是积极的。针对我的选择,在英语上会再进一步提升自己的阅读能力加快阅读的速度并保持阅读的质量,完成导师的任务的同时,私下多练习自身的编程能力,先学好Python继续努力。
(4)你对这门课的期待是什么?
你打算平均每周拿出多少个小时用在这门课上?
现在还只上过一节杨老师的课,觉得老师的工作态度非常的严谨,很有自己做事的原则,对学生和作业的要求也都提前规定好,也觉得老师上课的内容很有趣能够吸引上课的注意力。我想通过这门课的学习可以能加了解老师口中说的“工程”到底是什么样的工程,什么才是工程,一个项目该怎样运行,会经历怎么样的过程和讨论。团队的配合是怎么实现的,不光是博客和作业,我希望自己在完成老师所留的作业的同时能有所提升,希望在未来的小组也可以学到更多。平均每周拿出多少时间具体数字还真说不上,计划至少要保证一周14个小时,一是刚接触这门课还不知道以后的任务,二是自己的基础真的很差大概需要更多的时间来弥补不足的地方,我会每天都会花时间在这门课上尽可能高效,最好让自己每天都能有学习到的东西。
三.博客作业第三部分
通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。要有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。
我的提问:
1.在阅读本书的第四章内容的时候,看到了课上杨老师提到的关于“结对编程”的内容,书中提到对结对编程的叙述是两个人的合作,而且对两个人的编程问题真的讲了很多,p83有这样的一段描述“两个人在一起合作自然会出现不同意见,每个人都有自己的想法,再练个人平等合作的情况下,不存在领导与被领导的问题,如何能说服对方?”;“一个成熟的工程师要琢磨对方的话语和观察对方的肢体语言,了解它们所表达的潜台词,试着从对方的角度看待问题”,p87页“如果软件工程师连一对一的合作都做不好。不能有效地去影响伙伴,让双方都能从合作中受益,提高水平,那么大家就别扯什么团队合作这些事了”。我的疑问是要是真的无法排除不能去说服对方的情况呢,如果一方能够成熟的去对待和观察但另一方无法做到那这个的合作还有继续下去的可行性吗?在无法做好一对一的合作的情况下是不是就说明他不是一个好的工程师了呢,即使这个人的编程能力非常的强?
2.第五章中5.3.4的内容,在102页中介绍了RUP将软件开发分为了四个阶段:初始阶段、细化阶段、构造阶段和交付阶段。我的理解是,这四个阶段的过程和内容上和软件生命周期所对应的内容很相似,比如需求分析的部分就像是初始阶段和细化阶段的结合,也有类似于设计和测试的内容,只是少了最后的运行和维护,那么可以作为相同的内容理解吗?如果不同,那这四个阶段和软件的生命周期的关系或是区别是什么呢?
3.关于第六章的“敏捷”,可否将这个迭代的过程理解为:我去饭店吃饭点了很多的菜,但是如果等所有的菜都做完了一起上就会花费很久,而做完了一道就直接上一道这样客户的体验会更好?那么相比将所有的需求分析都做好大量的文档再进行开发,“敏捷”在每一个小阶段都交付一些功能的话会不会出现与后续功能融合不到一个整体的问题?
4.在本书第九章p197页最后有一句结论是这样说的“没有风险,就是最大的风险”,这句话应该如何理解呢?没有风险所指的是我解决了所有的风险,真正不存在风险了,还是说是我无法预测到风险呢?
5.关于第十六章提到的“创新”,创新的想法很好但是实现起来很困难,创新让人望而却步但是科技又离不开创新,我们对创新不能够进行天方夜谭的幻想,创新的时机和招数很重要,那么我们对于创新的这个度量是什么样的呢?或者说对于软件工程这个领域来说创新到底是什么样的?
四.博客作业第四部分
(1)很多人有不为大家所知的本事,而这个能力可以超过周围90%的人。比如课堂中教师提到,如果表现得不像高度近视,如何伪装得不像脸盲,能做40个俯卧撑。当然,也可能是篮球、足球、钢琴、ACM、演讲。
请给出你超出朋侪的特殊技能,并告诉我们,你如何通过何种努力、花了多久获得这样的成就。
超过周围百分之九十的人的能力真的很难,比起他人学习或是特长爱好这样的技能,我觉得我的能力是在生活中的小细节处会特别的留心。从初中开始我就会特殊留意朋友的喜好和不经意的习惯,不经意说出的期待的话和讲过的经历,可以记得她们的饮食偏好、口头语或是对喜欢事物的选择,可以认出字迹和语气的习惯。到现在仍然是这样,对于身边人的细节习惯我都会下意识的观察和记住,这样会让我自己对朋友的了解更深相处也更融洽,至少在选择礼物上不会出错。
(2)请给出你当前的技能树与技术偏好,列举目前你已经具备了哪些专业知识和能力。请参照邹欣老师给出的工程师水平要求列表
1.本科期间学习过的编程语言有C、C++、java,掌握C语言的更多一些,但不足以支撑项目的开发,只是练习过简单的acm题。代码量几乎为零。
2.可以读懂别人的代码,但是没进行过功能上的改进。
3.本科掌握的理论知识学科有:离散数学、数据库、软件工程、计算机组成原理、数据结构和操作系统等。
五.博客作业第五部分:采访
采访本课程往届同学(含外校和毕业生,以《构建之法》作为教材的。不含刚好你熟悉的一位软件工程专家)。 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下:
*当时的项目有多少用户,给用户多少价值? 现在还有人用吗?
学长:当时的项目有三十多个用户,用户对象主要针对同学,现在这个项目已经不再使用了,项目的名字叫“弹球学成语”。
*这个项目能否给我们团队继续开发,源代码/文档还有么?
学长:由于源码已经找不到了,所以无法在继续开发。
对于源码“为何不用源码管理工具保存”的深入提问得到的回复
学长:确实当时是上传在了GitHub上,但是我忘记了账号和密码,所以无法提供源码。
代码的链接:https://coding.net/u/wuyy694/p/pinball
对于同组人的继续询问,得到了博客上是有链接的 但是代码的网址打不开了。以上附上了对话的截图。
*项目开发有什么经验和教训
学长:每周的计划和安排都要按时的记录下来,任务要尽可能提前完成完成,小组内要多讨论认真的交流,有想法要多提出来讨论这样才会有更好地改进思路。
*对学好软件工程有什么建议
学长:要认真听从老师的安排和要求,多动手实践,一定要锻炼自己的代码能力。不仅要看理论更要结合实践一定要多动手。动手会让你对工程的认识更深刻。
六.博客作业第六部分
以下统计精确到一百行。你目前的代码量是多少?你认为优秀的和一般的计算机专业学生,(根据你的理想选择以下两问中的一个)为了有资格入职软件公司/互联网公司,需要多少代码量?从事高校教学科研工作呢?你计划在本课程结束时,完成多少代码量?这些代码量分布在整个学期中,每周应完成多少代码量?
我目前的代码量为200或者为0,本科甚至到现在并没有接触过什么项目,没有任何的开发或是实践做出成果的经验。从打代码的角度,甚至不能称之为编程,仅仅接触过的除了期末考试就是课上的实验报告需求,解决问题也就是一些基础的acm的题目而且也是因为课程安排才做改过的题目,代码的质量很差编程的能力也不行,我明白这样对于以后的项目是远远不行的,也是我需要重点提升的地方。
对于为了有资格入职软件公司/互联网公司,由于我本身没有这个概念所以询问了目前已经工作的学姐,参考得出的代码量数值大概是一个功能3000+,整个项目就要几万行了。询问了导师得出的参考关于从事高校教学科研工作的数据在一万以上,如果看代码也算入的话要更多。
我的计划在本课程结束的时候完成3000的代码量,分布整个学期的话前几周肯定会非常的困难由于我的基础很差,还无法给出确切数据的计划。但是希望自己至少可以到达2000代码量左右的水平,每周200行左右。
七.博客作业第七部分:阅读材料,写心得
以下两篇博客必读,并务必写一些心得:
(1)你为何要来上课并且认真参与 [http://www.scalerstalk.com/816-attention]
首先我觉得这篇的作者在提出自己的角度和观点的时候,是站在我们学生这一方面的视角来叙述的,这样给人的代入感就要更强一些。当然只要是学生,不管是不是大学生认真听课都是必须做到的一种责任和义务。认真的回忆了本科上课的态度,确实会有喜欢的老师和不喜欢的老师,对于喜欢的老师自然会更愿意听他的课,甚至笔记写的也会更加的工整。而不爱听的课最后就需要在期末的时候集中花费时间突击的集中整理,这样确实是不可取的低效方式,值得反省。水课玩手机的这一点,在我自身,比起真正的在课上去肆无忌惮的打游戏是绝对不会发生的,但是会有一种心态,一种我无法觉得对上课的尊重比回复一条消息更重要的心态,这种态度真的不可取。
我很赞同这篇文章的两个观点:一个是课程讲的不好不能成为不听讲的理由;一个是跟上老师的节奏,梳理你的思路,这是最快的进步。如果学生觉得课程讲的不好可以提出疑问进行讨论,但是永远不要觉得这门课的老师在学术上一无是处,一位老师会成为老师是有理由的,我也真的不觉得这个老师讲的方式或者水平达不到学生所向的预期就不如学生,至少绝大部分的老师的知识储备是比学生要多很多的,在老师身上学到东西比去质疑一门课重不重要老师讲的好不好更重要。而跟上老师的节奏,至少在我的经历看来真的非常的重要。数学课是最明显的体现了,这节课第一个公式跟不上,第二个定理溜号了那整个课就失去了连贯性,就像是低头捡起了一支笔抬头再看就完全跟不上节奏了,考研的时候看网课也是这样,很多老师的语速很快逻辑跳跃也很快,不去高度集中跟上节奏,那效率可想而知。
不喜欢,不感兴趣,觉得没用,其实都是在为不想听课找的借口,学生要是不学习那还上学干嘛呢,跟上老师少走弯路,提高效率积累经验才是该做的。
(2)你在大学中体验到了哪种师生关系 [http://www.cnblogs.com/xinz/archive/2011/05/16/2048044.html]
看完“现代软件工程讲义 0 教学方法”我花了有将近一个小时的时间,我觉得以前的本科阶段体验到的师生关系可能更偏向于路人甲/路人乙,有的甚至是犯人/狱警的关系吧,不会和老师有除了课堂上之外的过深交流,课下相遇也是打声招呼的关系并不会更多地进行交谈,为了学分为了成绩又不得不来坚持完成某门课程,这里指的是讲课的老师,而像是其他接触的更偏向管理你生活的老师们,则像是“兄弟”那样的关系,在尊重老师的前提下,关系更平等一些。
而这篇文章中提到的理想的师生关系:健身教练、健身学员的关系,我觉得很赞同,一方面是学生自己是要积极上进有想法肯实践的,另一方面老师给出帮助和提示,就像是不正确的健身方法需要及时被改正过来不然就会造成肌肉的损伤一样,相互的反馈才能促进进步。文章中提及到的一个演讲视频也让我有些感触,关于压力是否会影响我们的健康,演讲者的数据和例子很形象的展示了压力和压力的荷尔蒙对我们的心脏以及健康的好处和影响,对于压力会对健康带来好处这个观点是我从来没接触过的,印象也很深刻。![]