此作业的要求参见:https://edu.cnblogs.com/campus/nenu/2020Fall/homework/11183
1.建博客(1分)
在 cnblogs.com (博客园)建账号(1分)。
关注 杨贵福(0分)。
2.博客作业(10分)
(1)回想一下你曾经对计算机专业的畅想
说句实话,我高考填志愿时选择计算机主要是有两个原因,第一是因为我当时感觉计算机正逐渐在慢慢应用到我们的生活中,我当时认为将来计算机专业一定会变得非常火,非常热门,将来找工作一定会非常吃香;第二是因为我家里亲人的建议(ps:我哥也是计算机专业的)。在上大学前我以为我将来会在计算机的行业能够占得一席之地,可是在进入大学后,我逐渐感觉到自己越来越不懂它了,我感觉自己真的不擅长计算机,甚至感觉学习计算机对我来说非常困难;在经过三年的学习后,我发现我身边的同学都在计算机的 某个方面都取得很大的进步,而我还在原地踏步,我非常羡慕他们,羡慕他们都能够从计算机中学习到知识的同时还能够获得乐趣,这是我非常向往的,所以我目前正在朝着这个方向努力前进。
(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?
离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
在经过本科四年后,我掌握了基础的C语言、JAVA编程知识,以及数据结构、计算机网络等基础的计算机专业知识(曾获得蓝桥杯c语言组省级三等奖),对编程有了初步的认识和了解。但距离成为一名合格的计算机学生我还远远不够。众所周知,计算机这门专业很多技术都是靠自学的,由于我前期对计算机非常不理解,浪费了很多时间,缺乏了很多计算机相关技术,所以造成我团队协作开发项目的经验很少。接下来我的计划是全力填补我缺乏计算机相关技术的大坑,并且积极的寻找团队开发项目学习。
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
对照以上你阅读的前人们的经历,你的选择是什么?
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
针对你的选择,你给自己的本学期的规划是什么?
我的选择是工程项目,因为我读研的目标就是为了掌握更多专业知识、充实自己,进而在毕业后找到一份计算机相关的工作,做一些工程项目对于以后找到心仪的工作大有助益。
我和其他同学相比的优势是适应性强、我比较执着,决定干的一件事我就会坚持干到底;我的劣势是我感觉自己做事情没有全盘计划,只知道不停地努力去做,而不知道怎么规划自己
我在本学期的规划是 ①积极完成各个课程的学习任务 ②自主学习并实现机器学习的算法 ③入门cv方向的相关技术 ④在leetcode上刷完100道题
(4)你对这门课的期待是什么?
你打算平均每周拿出多少个小时用在这门课上?
我希望通过本课程的学习,熟悉软件开发的具体流程,掌握软件开发中的一些知识,提高自己的团队协作编程能力。
为了真正学习到知识,并且保质保量地完成老师布置的任务,我打算平均每周拿出10个小时用在这门课上。
3.博客作业(10分)
通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。要有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。
问题1:在书中第三章有一句话“和团队的其他角色合作,在测试环境中测试实现方案,修复bug,如果此方案有严重问题,那么考虑其他方案”。我有个疑惑:如果该项目是在开发过程中,且前期已经花费了很大的代价,如果遇到了很严重的问题,比起接着修复bug来减少代价,重新考虑其他方案不是更会加大开发项目的成本代价了吗?我的观点是:决定是否重新考虑其他方案,我认为要对项目的各个方面进行评估,最后才能决定是接着继续修改bug,还是重新考虑其他方案。(比如12306app的开发过程)
问题2:在书中第三章 3.1 个人能力的衡量与发展中“在一个团队里每个人都有自己不同的分工,所以往往只能去做自己被分配到的部分,但被分配到的部分往往也许不是对于自己提升最优的部分”,我有个疑惑:对于这种状况,个人发展和团队任务之间如何进行平衡?
问题3:在书中的第八章介绍了需求分析,我的问题是在项目的需求阶段如果从客户那里得到了两个或多个完全相反或者矛盾的需求时,团队如何进行分析和取舍?可以从哪方面去解决这个问题呢?
问题4:在读到书中第十三章软件测试的时候我有个疑问,功能化测试对测试工程师的要求并不高,但是自动化测试好像又对测试人员的素质有一定的要求,在实际工作中测试工程师的编码水平是不是逊于开发工程师呢?
问题5:在书中第十六章提到了”高校与企业合作开始后,别谈颠覆性,就连渐进式的创新都做不了。一个有着悠久历史的稳定单位(例如大学)中,它固有的流程、价值观、文化都在自觉或不自觉地反对改变,反对创新”。“ 我对这个观点持反对的态度,我认为现在的高校都在积极鼓励学生进行创新,老师们都在引导学生们创新,老师们都希望看到学生能有自己独特的想法和灵感,即使思路是错误的,但是其想法非常的大胆和创新,也都会获得老师的赞赏和肯定。
4.博客作业(10分)
(1)很多人有不为大家所知的本事,而这个能力可以超过周围90%的人。比如课堂中教师提到,如果表现得不像高度近视,如何伪装得不像脸盲,能做40个俯卧撑。当然,也可能是篮球、足球、钢琴、ACM、演讲。
请给出你超出朋侪的特殊技能,并告诉我们,你如何通过何种努力、花了多久获得这样的成就。
说句实话,当我看到这个问题时,我前前后后把自己走过的人生都回忆了一遍,突然发现自己会的技能有一些(比如足球,乒乓球,羽毛球,游泳等),但是要说到特殊技能,我还真的没有;我感觉自己能够走到今天,靠的是执着+毅力+不达目的永不放弃的决心,当我孤独,痛苦和悲伤时,我就是凭着这些,咬牙挺胸走到了今天,以后我也会继续走下去。
(2)请给出你当前的技能树与技术偏好,列举目前你已经具备了哪些专业知识和能力。
技术树:C语言和数据结构 课本上的上机题目我都成功在编译器上运行过,尤其是数据结构中图相关求最小生成树,最短路径和迷宫的问题
JAVA,HTML,CSS,jsp 运用过在项目实战中(只有一次项目实战经验+毕业设计经验)、
5.博客作业 (10分)
采访本课程往届同学(含外校和毕业生,以《构建之法》作为教材的。不含刚好你熟悉的一位软件工程专家)。 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下:
- (1)当时的项目有多少用户,给用户多少价值? 现在还有人用吗?
- (2)这个项目能否给我们团队继续开发,源代码/文档还有么?
- (3)项目开发有什么经验和教训
- (4)对学好软件工程有什么建议
回答:
(1)采访的师兄当时的项目为词频统计,很好的一部作品,可以做到查找特定文件的特定单词,实现了基本的需求。
关于价值,它可以帮你在学习机器学习算法时,方便做垃圾邮件识别和垃圾短信分类等文本处理相关技术的项目,
当时的用户4个人,现在几乎没有人用。
(2)代码和文档还有,可以给我们团队继续开发,源代码出处:https://github.com/miaozhongfeng/my-repository/blob/master/test4_2.java
(3)工程开发前一定要先分工明确,在开发过程中一定要注重团队成员之间的沟通,这样可以少走很多弯路。
(4)上课认真听讲用心去理解,课后多多实践。多多从其他同学处借鉴经验和吸取教训。团队之间多沟通,多交流自己的想法。
6.博客作业 (5分)
以下统计精确到一百行。
你目前的代码量是多少?
你认为优秀的和一般的计算机专业学生,(根据你的理想选择以下两问中的一个)为了有资格入职软件公司/互联网公司,需要多少代码量?从事高校教学科研工作呢?
你计划在本课程结束时,完成多少代码量?这些代码量分布在整个学期中,每周应完成多少代码量?
我目前代码量估计4000行左右(大部分都是c和数据结构的练习),我认为有资格入职软件公司(我根据就业的同学所了解),至少起码3万行代码
我计划在本课程结束时,完成6000-8000行代码(主要刷leetcode+机器学习算法),每周平均450行代码量
7.阅读材料,写心得(10分)
以下两篇博客必读,并务必写一些心得:
(1)你为何要来上课并且认真参与
对于这个问题,首先,我个人认为作为一名学生,去教室上课并且认真参与是我们作为学生这个身份应该做的必要事情,这也是与那些已经进入社会的毕业生的区别之一;每天我们和同学一起上课并且互相交流,这种机会非常难得,毕竟我们已经是成年人了,以后能够在课堂上面对面听老师听课的机会只会越来越少。当我们步入社会后,我们都是独自一个人面对生活(除了工作时间),再也不会像校园那样温馨了,当我们遇到困难时,我们只能自己百度或者看视频,独自去寻找解决难题的方法,这也是我作为往届考研学生的亲身体验,同时也是众多步入社会的高校毕业生所羡慕的一件事情。
其次,学生去上课并认真听讲是对老师的一种尊重;可能有些学生认为某个课程对我们将来就业没多大作用或者某些老师讲的不好,很稀烂,所以我不想去上课,但是你要知道的是我们现在处于校园之中,还没接触社会,我们的格局还很小,根本无法去评价一个课程的价值,更别说去妄自菲薄的评价某个老师讲课的好坏,因为老师都是从我们哪个学生时代过来的,这些经历他们都经历过,所以他们讲课都是有一定的道理的。
最后,或许我们应该深思一下:作为一名研究生,我们能够在校园与同学们一起上课交流,面对面的请教老师的机会还有多少呢?反正,我认为用一次少一次。
(2)你在大学中体验到了哪种师生关系
我在大学中体会的师生关系有Buddies / Buddies (哥们 / 哥们) ,Stranger / Stranger (路人甲 / 路人乙),Prison Guard / Prisoner (狱警 / 犯人),当然我也体验过Coach / Trainee (健身教练 / 健身学员)这种关系 ;其实在在看到这篇文章之前,我没有去思考这些问题,也从来没对师生关系进行深思,但是读完这篇文章后,我才发现我以前的学习是多么的糊涂,细细想来我现在觉得Coach / Trainee的师生关系才适合研究生的学习生涯,因为我始终觉得自己的主动性,是做好一件事的前提,做事情一定要积极向有经验的老师去寻求帮助、探讨问题,根据老师制定的学习方法按部就班的去学习,通过老师的庞大资源积极与相关专业人士进行交流讨论。我想,如果能做到这些,把一件事情做成功应该不是很难的事情!