20200910-2 博客作业

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

1.建博客

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

关注 杨贵福(0分)。

加入本班  [https://edu.cnblogs.com/campus/nenu/2020Fall](0分)。

2.博客作业 (10分)

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

当初你是如何做出选择计算机专业的决定的?

你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?

你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?

  从小学到大学,我发现计算机在生活中的占比越来越重要,学习这方面的知识能使自己的生活变得更便捷。而且21世纪是一个网络时代,以后计算机的领域会越来越宽广,行业前景会越来越好。

  我认为不太符合我的期待。刚接触高级语言了解了一个算法是怎么实现的。后来接触到软件工程,脑海里有了框架模型的概念。但是大三进入工作室课程进行实训时,才发现课堂上传授的技术是不太够的,计算机行业的发展日新月异,必须靠自身大量查阅和实践来获取不断更迭的技术。

  计算机是我喜欢的领域但不是我擅长的领域。步入大学后,计算机给我打开了新世界的大门,经过长时间的学习后,发现自己的编码能力不是很高,而知识更新迭代的速度又非常快。在多彩的大学活动中,我发现美学是我比较擅长的领域,所以在研究生时期选择了可视化方向,将两个领域有机结合起来,希望能够做出成果。

   

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

  在本科学校中我学习了c语言、Java、数据库、数据结构、计算机组成原理、计算机网络和操作系统等课程,并均取得较好的成绩。并且在大三的时候进入工作室课程和同学完成了一个工程项目,但编写项目的能力还是有很大的不足。在我看来,一个合格的计算机学生还需要有很好的数学和英语能力。阅读大量的英文文献拓宽自己的视野,然后运用数学知识将算法优化。

  

(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 ,不同的选择有不同的努力方向。

对照以上你阅读的前人们的经历,你的选择是什么?

在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?

针对你的选择,你给自己的本学期的规划是什么?

  阅读了前人的经历,我选择做项目,因为实践比较容易有成就感,而科研对于我来说会比较枯燥。

  我认为我相比于其他同学来说优势并不大,但是对于要做的事情我一定会认真完成。我的劣势是比较腼腆,在与同学交流的过程中不够主动,路演会非常紧张,我努力在读研期间克服改正。

  本学期的规划首先是各个考试和课程都顺利通过,打好基础。然后每两个星期研究一篇论文,并制作ppt进行总结,在可视化的领域里寻找下个学期要研究的方向。

(4)你对这门课的期待是什么?

你打算平均每周拿出多少个小时用在这门课上?

  我希望通过这门课对软件开发有个更深刻的认识,学到真正有用的知识。比如怎么才能提高软件开发效率、减少与队友的磨合期,以及希望能够了解到公司里的项目开发流程与细节与我们的项目开发有什么异同。

  从第一周的学习来看大约每周拿出20个小时用在这门课上。 

 3.博客作业 (10分)

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

  1.第六章介绍了敏捷开发的流程。在经验教训中提到“敏捷宣言表示的是一些优先级,不必作圣旨或者教条来争论”。我认为敏捷注重市场快速反应能力,客户前期满意度高,但敏捷注重员工的沟通,忽略了文档的重要性,若项目人员流动过多,又给维护带来不少难度,特别项目存在新手比较多时,老员工比较累。所以应该怎么结合自己的不同习惯,选择合适自己团队的方法呢?

  2.第七章中讲的是MSF原则,其中提到“因为‘我觉得’和‘用户觉得’是两码事”,以我以往的项目经历,如果用户关于需求的描述较模糊或者对指定的技术不熟悉时,导致需求设计和项目进展变得困难。MSF的这项步骤在实际应用的时候应该如何进行注意?对于客户不断更新需求的这一情况,怎样交涉能减少不必要的工作量呢?

  3.第九章中提到如何成为一个合格的PM,其中提到“一个PM做第一个项目时可以拍脑袋定工期,拍胸脯打包票,最后拍屁股走人”,然而,在实际项目中,PM可能会出现一些错误的分析,并且不自知,作为下属,应该通过怎样的方式提醒并说服经理?

  4.在第十三章是关于“各种测试方法”,一款软件在发布前,软件总是会出现各种问题和缺陷的。在实际的商业项目中,新项目提审后测试的时间占比是非常大的,往往会为了赶项目进度压缩开发时间,应该怎么权衡开发时间和测试时间呢?

  5.第十八章中提到了绩效管理,“如何衡量个人在团队中的绩效呢?”然后下面给出了一系列案例,大致意思就是说通过团队贡献维度和完成任务维度进行区别对待。我认为这是一个理想状态,根据本科同学的工作经历采访,一个大项目一般是由项目经理分成一个个小部分,然后再由部门主管分配给每个人的,贡献维度的评判和任务完成度都是非常主观的因素,同时在工作的过程中经常会由于对接冲突和交流不畅等一些不可控因素导致任务延期,这又该怎么评判绩效呢?

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,每节上机课都完成了算法作业

       JAVA,HTML+CSS,SQL,运用于实训项目中

       R,研究复杂网络时运用过

  软件实现:查询注释、博客、官方文档等读懂他人的代码。

  软件测试:后端通过postman进行接口测试,前端通过弹窗检查代码的运行情况。 

5.博客作业 (10分)

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

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

  我这次采访的是一位学长,学长的团队当时做的团队项目的名称为   All For Eating,项目主要是以轮盘的形式,帮助用户做出选择,其中有热门场景和自定义场景,针对现实不同场景来进行选择。

  :当时的项目有多少用户,给用户多少价值? 现在还有人用吗?

  :当时项目注册的用户有136人,关于价值,确实能帮助一些选择困难者节省选择时间,也可以用在一些娱乐场景。项目现在偶尔有人再用。

  :这个项目能否给我们团队继续开发,源代码/文档还有么?

  :可以,代码都在coding中,可以下载下来继续开发。

  :项目开发有什么经验和教训?

  :大家一定要分配好各自的任务,多交流,有什么意见及时提出来。

  :对学好软件工程有什么建议?

  答:软件工程也需要多思考,多分析,多查看一些经典的软件工程的项目分析会有不少帮助。

 6.博客作业 (5分)

以下统计精确到一百行。

你目前的代码量是多少?

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

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

  我目前的代码量大概5600行,包括本科时期的课堂练习和实训项目,以及备考时期的算法练习。为了有资格入职软件公司,我认为计算机专业学生应该需要有五六万行代码量,以及一个全栈工程师的项目经验。我计划在本课程结束完成3000以上的代码量,平均每周应完成150行以上的代码量。

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

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

(1)你为何要来上课并且认真参与 

  首先,作为学生我觉得就应该好好上课。学生时期不好好上课,什么时候好好上课?学生时期,也是我们人生中最青春年华的时期,在这个大好年华里不好好学习,岂不是愧对自己的青春和人生?

  其次,在上课学习的过程中,也是意志力、注意力以及各方面能力的培养锻炼过程。文章中说的很对——“认真听讲是一种能力”,我也赞同这个观点。如果能在上课期间认真听课,不仅锻炼我们的注意力也能培养我们的良好习惯——做事情的持续性以及严整严密性。当然,在课堂上,我们会学到不同的知识,也会遇到不同的老师。每个老师都有自己的特点,如果我们多些积极的态度,我们多发现每个老师身上的不同优点特质,然后努力学习到这些优点并为我们自己所用,试想一下,这么多年的积累,我们将成为多么有能力的人!而且在上不同老师课的同时,我们也在适应当前的环境,如果我们能很好的跟上,那我们的适应能力是不是很厉害即使以后步入社会,我们也不会怕的。

  认真上课的好处很多,这也是我所追求的,希望自己多学习老师的优点,不断的提升我自己的自身能力,把自己培养成一个优秀的人才!

(2)你在大学中体验到了哪种师生关系

  我的大学学习生活中有遇到Baby-sitter / Babies、Stranger / Stranger、Coach / Trainee模式的师生关系。我很庆幸遇到了Coach / Trainee (健身教练 / 健身学员) 的师生关系,这帮助我很多。我遇到问题不会再向以前那样一味的问老师,学会了自己先思考,自己在思考的过程中,有的时候就把问题解决了,这也逐步培养了我动脑思考问题能力以及解决问题的能力,我相信这也将对我以后的学习生活有极大的影响和帮助。

  文章中提到的师生关系最理想的应该是Coach / Trainee关系,我觉得分析的很有道理。学生找出自己的需求和痛点,老师帮忙指点,在老师指点以后,学生要自己去按照方法去努力纠正改进自己的不足,更好更理想的状态就是学生可能想出更佳的方法。我觉得这个过程,才是最理想的师生关系的体现。学生在这个过程中,不仅满足了需求,抓住了痛点,而且当下次再出现的时候,自己也有了分析判断能力,或许自己一个人就能处理好了。我觉得这也是“授之以鱼不如授之以渔”的最好实践和体现。如果每次都是让老师帮助“打上鱼”,却不会“钓鱼”的方法,当没有老师的助力的时候,岂不是没有“鱼”吃?岂不是要饿死自己?话说的通俗但是却易懂,我们学生就是要学习解决问题的方法然后自己去动脑筋解决遇到各式各样的问题。因为问题不会是一直一样的,所以我们要学会举一反三甚至更多。

  希望自己在未来的学习生活中,做一个会“渔”者。

  以上是我读完后的感受,如果有不合适的地方望老师同学们多多指点。

原文地址:https://www.cnblogs.com/siahu/p/13656670.html