20200910-2 博客作业

此作业的要求参见https://edu.cnblogs.com/campus/nenu/2020Fall/homework/11183

1.建博客(1分)

在 cnblogs.com (博客园)建账号(1分)。

解答:我的博客地址:https://www.cnblogs.com/gravity9874/

2.博客作业(10分)

参见 [http://www.cnblogs.com/easteast/p/7403491.html ],阅读其中给出的材料及评论,并回答下面几个问题:

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

当初你是如何做出选择计算机专业的决定的?
你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?
你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?

解答:

  在高中时期,我曾认为计算机专业是一门非常前沿的科学,他涉及的方面非常广泛,而且发展的很快,当时对计算机的想象还没有涉及到如今这些火爆的人工智能AI等等领域,只是认为互联网会更加发达,会有更多更好的软件。

  在高中毕业之后,因为我本身在高中时期没有条件,也很少接触计算机,但是我又对计算机,网络,数码等方面非常的感兴趣,所以我就带着这些好奇和憧憬选择了计算机专业。

  在大学本科学习期间,我学习了很多专业课程,但是都跟我之前所期待的有些差距,没有想象中的那么简单,那么有趣,更多的是枯燥乏味的理论知识,比较难理解。

  我认为计算机是我喜欢的领域,因为很符合我的兴趣爱好,但是目前可能并不是我擅长的领域,因为本科的时候才疏学浅,编程能力不足,而且很多知识学习的不太完美,有待完善。

(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?

离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?

解答:

  在经历了考研的学习之后,我认为我已经具备了一些自主学习的能力,因为考研并不是一个强制性的学习过程,也没有人督促和指导,所有学习的安排都要靠自己来完成,在考研学习当中还需要自己收集整理资料,所以还具备了搜集资料的技能。但是专业知识还不够完善,我想,作为一个合格的计算机学生,我的上述技能和能力还需要加强,但在这个基础上,我的专业知识还远远不够,尤其是编程能力和基础知识方面,在这方面距离一个真正的计算机学生还有很大的差距。

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

解答:

  我的选择目前还没有准确的确定,还在纠结当中,以为初来乍到,对一些新的选择不太了解,可能会选择学术研究方向,也可能会选择企事业单位,每个选择都各有优缺点,我认为在学术研究这种选择之下,优势会在升学前景方面体现出来,比如在读博等其他领域有更好的发展,但是缺点也很多,比如学术研究可能与当前的软件开发方向不能够接轨,在找工作,做项目方向上会有很大的劣势,因为可能在软件开发能力上会表现不足。而选择企事业单位工作的话,优点是可以早些进入职场,而且工作稳定,缺点是前景不够广阔,上升空间也比较小。如果选择学术研究方向的话,本学期我会阅读大量的文献,同时也会努力学习深度学习方面的内容,并提高python语言的水平,而且要了解自己的研究领域,在这个学期也要学习论文撰写相关知识,跟着导师一步一步走,逐渐的适应科研生活。

(4)你对这门课的期待是什么?
你打算平均每周拿出多少个小时用在这门课上?

 解答:

  期待这门课可以让我学到更多东西,而且对《构建之法》这本书有更多的理解,对现代软件工程有进一步的了解,当然,最真实的期待还是能够达到杨老师对这节课学生的要求,从而顺利完成这门课程的学习。我打算平均每周拿出大概14个小时用在这门课上,因为目前才开始第一周的学习,对具体需要多长的时间没有直观的概念,随着学习的深入,才能更加准确的计算出具体平均每周拿出多长的时间用来这门课程的学习。

3.博客作业(10分)

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

解答:

问题一:教材P26,原文:好的单元测试的标准:单元测试应该产生可重复,一致的结果。

我的疑问在于,为什么单元测试在检查软件模块质量的过程中可以产出重复一致的结果?因为在平常的编程当中,测试结果有时也会出现一会正常一会异常的结果,单元测试是如何保证在这种情况下也可以产生重复一的结果?

问题二:教材P79,原文:为什么要结对编程:在结对编程模式下,一对程序员肩并肩,平等地、互补地进行开发工作。

我的疑问在于,如何保证结对编程的稳定合作?在一个人工作时,自己对进度和内容的把握了如指掌,如果进行结对编程,两个人要怎么分配任务?合作需要无时无刻的沟通,互相汇报进度一起处理问题,这样会不会导致效率降低?

问题三:教材P115,原文:程序员写完功能之后,我们感觉好像项目完成了80%,殊不知后面的20%往往要花费80%的时间....

我的疑问在于,在写完一个项目的主要功能之后,为什么后续的工作反而需要花费大量的时间?是最后的测试,还是什么对项目处理需要花费如此多的时间?

问题四:教材P353,原文:成功的公司重视用户:公司成功之后,公司领导发现成功的原因是我们认真听取了用户的需求...

我的疑问在于,用户的需求有很多种,公司怎么对这些需求进行处理?一味的接受这些需求是不是也会导致项目的失败?

问题五:教材P345,原文:创新者都是一马当先:其实大部分成功的创新者都不是先行者。
我的疑问在于,创新者为什么不是先行者,我认为创新者不是纯粹的技术性创新,他所使用的技术可能已经流行,但是他的理念和应用却十分新颖,比如共享单车的兴起,再次之前并没有人尝试过这种模式,而是纯粹的新模式,这种成功的创新者可以称之为先行者吗。

4.博客作业(10分)

(1)很多人有不为大家所知的本事,而这个能力可以超过周围90%的人。比如课堂中教师提到,如果表现得不像高度近视,如何伪装得不像脸盲,能做40个俯卧撑。当然,也可能是篮球、足球、钢琴、ACM、演讲。

请给出你超出朋侪的特殊技能,并告诉我们,你如何通过何种努力、花了多久获得这样的成就。

与你的特殊技术类似的,你还有一棵计算机专业以外的同学不具备的技术树。如果跨专业,请不要借口自己原本是某某专业的,因此基础不好,你是计算机系的研究生。

(2)请给出你当前的技能树与技术偏好,列举目前你已经具备了哪些专业知识和能力。请参照邹欣老师给出的工程师水平要求列表https://www.cnblogs.com/xinz/p/3852177.html,包括不限于这些,逐点给出自己具备的能力,这些能力将帮助你在接下来课程中的小组项目里做出贡献(并得到分数)。请提供具体的数据来辅助证明掌握的技能, 例如“学了 C语言”是不够的,还应提供“交过8次实验作业,最长的代码达到200多行,最难的是多线程那个实验……”。确保技能是具体的且可衡量的,请搜索 SMART - Specific Measurable Achievable Realistic Timely

解答:

  我认为我的特殊技能是在室内设计装修方面,这个技能就是在自己家装修的时候,因为父母都不太了解这方面,所以就“被迫”学习了相关知识,通过找资料,看社区,论坛,花费了大概一个月才略有了解,然后又通过两个月的设计,包括颜色,选材,选料,建材材质,甚至全屋家居的内部格局之类的所有东西都是我一手操办的,在这期间学习了很多这方面的知识,在很短之间内直接上手,最后效果也是非常的好,各方面做得都很完美。

  在专业技能这方面,我在本科期间学习的语言主要是C语言,C语言只了解到数组,指针,栈和其他的一些基础知识,做过10道左右的简单oj题目,例如一些小应用问题,平常应用较少,代码量总计不到100行,在本科期间还学习过python,也同样是只了解一些基础的语法知识,没有在软件测试或者是效能分析方面做过。在理论课方面本科学习过web,html语言,python,操作系统,数据结构,编译原理,数据库,等计算机基础课程,每节课都是浅显的了解一些基础知识。

5.博客作业 (10分)

采访本课程往届同学(含外校和毕业生,以《构建之法》作为教材的。不含刚好你熟悉的一位软件工程专家)。 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下:

  • 当时的项目有多少用户,给用户多少价值? 现在还有人用吗?
  • 这个项目能否给我们团队继续开发,源代码/文档还有么?
  • 项目开发有什么经验和教训
  • 对学好软件工程有什么建议

解答:

当时的用户有130人左右,给当时学习构建之法这门课程的学生带来了一定的价值,但是现在用的人比较少了,不过随着新学期的到来用户会有所增加。

这个项目的源代码在github上,可以供我们继续开发。

经验教训方面要注意在项目开发过程中要分工明确,不能拖拉。

学好软件工程的建议就是做好定期总结,紧跟老师步伐。

 6.博客作业 (5分)

以下统计精确到一百行。

你目前的代码量是多少?

你认为优秀的和一般的计算机专业学生,(根据你的理想选择以下两问中的一个)为了有资格入职软件公司/互联网公司,需要多少代码量?从事高校教学科研工作呢?

你计划在本课程结束时,完成多少代码量?这些代码量分布在整个学期中,每周应完成多少代码量?

解答:

  我目前代码量非常少,不到200行,我认为优秀的计算机专业学生从事软件公司方面的工作可能需要接近7000行的代码量,如果从事高校教学科研工作大概需要10000行的代码量,我计划在课程结束时完成800行的代码量,分布在整个学期大概每周完成50行代码,由于基础实在太差,相信随着学习的深入,每周代码均量一定会得到提升。

7.阅读材料,写心得(10分)

以下两篇博客必读,并务必写一些心得:

(1)你为何要来上课并且认真参与 [http://www.scalerstalk.com/816-attention]

(2)你在大学中体验到了哪种师生关系 [http://www.cnblogs.com/xinz/archive/2011/05/16/2048044.html]

解答:

《你为何要来上课并且认真参与》心得:

  在阅读完这篇文章之后,我十分赞同这篇博客的说法,学生参加上课并且认真参与是学生最基本的义务,也是一名学生最基本的行为准则,我认为这与课堂质量,教师质量都没有太大的关联,就像文中说的一样,课程讲的怎么样不能成为学生去不去上课的理由,惭愧地说,我本科阶段也曾经有过这样的想法,但是后来才明白,老师讲课没有听懂可能是自己的问题,而且,一门课程有没有用作为学生的我们最多也就私下发发牢骚,不能把这种当作不认真对待课程的理由,学习是学生的本分职责,既然来到了教室,我们就应当认认真真聚精会神的听讲,而不是坐在那里浪费时间,这不仅是对老师的不尊重,也是对自己,甚至对家人的不尊重,认真听讲不仅能让我们获得更多的知识,也能让我们学会对待一件事的态度,踏实肯干,有付出就有回报。

《教学的基础-师生关系》心得:

  文中介绍了几种师生关系,我觉得在我之前的学习生活当中,我遇到的更多的是Stranger / Stranger (路人甲 / 路人乙)这种师生关系,因为在本科教学当中,专业人数较多,课程经常是一百人以上,有的时候甚至到最后结课阶段也没有和任课老师有过沟通,但是在我心中的理想师生关系确实是 Coach / Trainee (健身教练 / 健身学员)的关系,正如文中所说这种关系最基本的就是互相及时反馈,对话式的,师生之间需要有这样的沟通。最后,我认为无论什么样的关系,都需要师生之间的共同努力。

原文地址:https://www.cnblogs.com/gravity9874/p/13669710.html