阅读与理解

这个作业属于哪个课程 课程链接
这个作业要求在哪里 作业链接
我在这个课程的目标是 加深对软件工程的了解,熟悉团队合作开发的过程
这个作业在哪个具体方面帮助我实现目标 反思了以前进行的学习,也更加明确了今后的学习规划
参考内容 [1][2][3]均来源于百度百科

一.建立博客并介绍自己

1.我的博客

地址:https://www.cnblogs.com/szy211/

2.自我介绍

 我叫双泽媛,来自山西太原,我的优点大概可以说是敢想敢做,并不怕困难也不怕失败,记忆力还不错,学习与背诵都比较快,英语四六级也一次通过。
我算是一个很狂热的追星女孩,天南海北的追过很多次现场,自己学习了ps、pr,做应援设计也组织粉丝活动,胆子变大了很多。可能是追星带给我的所有成长,让我在大学里的多次面试全部成功,汇报和答辩都不再怯场。

二.阅读与思考

1.回想一下初入大学时对所在专业的畅想

(1)当初是如何做出选择计算机科学与技术专业的决定的?

 作为一名转专业的学生,在高考报志愿时计算机科学与技术就是我的第一志愿,可惜因为分数不够而遗憾去了通信工程。我很喜欢注重实践,能够看到明显学习成果的课程,比如在代码成功运行出结果的时候就会很开心,计算机就是这样,而且同其他行业相比,计算机虽然辛苦但同样有着较高的收入。
 我在与几位原专业优秀的学长学姐交流后发现他们考研全部选择了计算机方向,而我本身相较于通信工程也对计算机有更浓厚的兴趣,所以在转专业时果断报名。

(2)过去一年中接触到的课程是否符合对自己所在专业的期待,为什么?

 过去的一年里,所接触到的专业课有c语言,数据结构,以及程序设计实践,我可以通过程序解决一点小问题,写一个小游戏,很符合我理想中对于计算机专业的学习。同时我还自己学习了MATLAB相关知识,并且在数学建模的过程中遇到了很多编程能力非常优秀的同学,通过他们我受益良多。

(3)觉得所在的专业是自己喜欢的领域吗,它是自己擅长的领域吗?

 我喜欢编程也喜欢数学,它们让我很有成就感,但并不敢称自己擅长,因为我真的有很多次写不出代码和被bug逼到揪头发的痛苦经历...大概以后会成为一个秃顶程序媛。

(4)将来会选择从事和专业相关的工作吗?

 当然会,因为这本身就是我的兴趣所在,而且我也有从事计算机行业的家人。我的理想工作地点是北京,它有很多机会而且发展非常快,离我的家乡也很近,更重要的是我从小就非常喜欢这座城市。我目前还并没有对公司和岗位有明确的目标,因为还不算太了解,之前去参观过一次招聘会,程序员也有很多岗位,并且都列出了多项明确的要求,所以我想我要更了解这个行业以后才能确定。

2.对照前人们走过的路和描述未来发展,现在的我

(1)感觉已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述做过的最复杂的项目/作业。

 对于专业知识来说,目前只初步学习了c语言以及数据结构,真正有价值的代码量应该在一千行左右。我所做过的项目基本上只有一个非常基础的俄罗斯方块..就代码来说,实际上更多的运用是使用MATLAB,完成了三次数学建模问题的代码求解。

(2)离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?

 我现在离成为一名合格的本科生还差很远,写代码效率低,代码也不够漂亮,甚至只会使用c语言。而且我几乎从未有过与人合作写程序的经验,不曾加入团队,希望在未来能够有机会得到更多锻炼。

3.目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。

(1)对照以上阅读的前人们的经历,我的选择

 我会选择考研,因为在我的成长环境中,家人同学一直以来都认为读硕士研究生与考大学是同样重要的,硕士研究生是一定要完成的教育。并且作为非985、211高校毕业的本科生,在未来就业形势下并不占优势。

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

 我认为我的优势在于我从来没有在毕业后是找工作还是考研中有过摇摆,在进入大学前我就定好了考研的目标,所以我有更多的时间做规划以及确定明确的时间安排。但我想为了准备考研,我可能会比其他同学少一些参加各种实践的机会,毕竟考研科目还是有与计算机无关的内容。

(3)针对你的选择,你给自己的大三设定的规划安排是什么?

 首先保证绩点,在课外要学习其他计算机语言,最好可以参加到一些项目中去。同时认真准备考研,也许会报名校外的考研班。

(4)你对于实现自己的梦想已经做了或者计划做什么样的准备?

 我正在了解一些计算机方面的竞赛并为此准备,同时寻找理想的考研目标院校,与本科就在该校就读计算机相关专业的同学交流。同时更加努力学习,寻找未来的深造方向。我也在认真学习英语以及准备六级刷分与英语口试,因为我来自高考英语听力不算成绩的地区,听说方面是一块短板。

三.提有质量的问题

问题1.什么时候才是软件优化的合适时机?

 我读到第三章“软件工程师的成长”中提到,无视一个模块对全局的重要性,花大量时间对一个局部问题优化。作者写到过早优化是一切罪恶的根源,我很疑惑什么时候才是该进行优化的正确时候?如果一个模块出现问题而过晚优化,后续同样会影响整个程序,这个优化的“合适”的时机该如何判断呢?

问题2.代码复审中什么样的问题才是合适的?

 在第四章“两人合作”中,作者提到“复审者有权提出很多看似吹毛求疵的问题”,但也提到“复审者要把眼光放长远”,所以作为一个合格的复审者该怎样判断自己所提出的问题究竟是合适的还是吹毛求疵?

问题3.怎么设计出一份让用户乐于回答的问卷?

 第八章“需求分析”中我读到问卷调查大有门道,书中也讲了一份合适的问卷该怎样设置问题,但我们都知道填问卷是一项让人很心烦的事情,所以该在什么合适的时间用什么样的方法让用户看到问卷并乐于填写呢?比如说采用给用户福利的方式,但设置怎样的用户福利才是合理的呢?

问题4.一份能增强用户使用体验的说明书该具备哪些方面的内容?

 第十章“典型用户和场景”中介绍了多种说明书,但很多时候我们都会觉得一份说明书要么过于复杂,要么过于简洁。比如说我曾经购买的一款进口电子产品,它的说明书要么是密密麻麻的大量文字,要么是一些图片介绍了基础功能,却完全没有提到许多实用的小功能使用方法,这给我的使用添了不少麻烦。所以该如何判断一份说明书的内容怎样才能让用户满意?

问题5.如何维持创新的思维与创新的热情?

 课本第十六章“IT行业的创新”中讲述了一个成功的公司要不断地创新,我是我们都知道创新并不是一个容易的过程,甚至很多时候找不到创新的方向,也要面对多次创新的失败。这种时候面对自我怀疑与来自领导者的压力,该如何快速调整状态并且重新投入到创新的研发过程中去呢?

四.了解和调查源程序版本管理工具

1.Github

GitHub是一个面向开源及私有软件项目的托管平台,只支持git 作为唯一的版本库格式进行托管。[1]
优点:Github是一个非常理想的代码备份以及多人协作完成项目的工具,它的操作简单而直接,并且开源项目很多。
缺点:代码保密性差,且不支持中文。

2.BitBucket

BitBucket是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户。 [2]
优点:有无限制的私有仓库个数、无限制的磁盘空间与灵活的权限控制,且支持中文。
缺点:不支持git,而且比Github冷门很多。

3.Mercurial

Mercurial是一种轻量级分布式版本控制系统,采用 Python 语言实现。[3]
优点:拥有强大的比对合并功能。
缺点:安装不够方便,分支管理不灵活。