第一次阅读与准备做业 Anthonyzk

第一次阅读和准备做业

这个做业属于哪一个课程 | <课程的连接>

这个做业的要求在哪里 | <做业要求的连接>

我在这个课程的目标是 | <从这门课程中了解到软工与计科专业的不一样、对本身将来的发展方向有更加清楚的了解以及借鉴前辈经验,找到更加适合本身的计算机学习方法>

这个做业在哪一个具体方面帮助我实现目标 | <对IT行业更好的认知、多浏览前辈发表的博客造成本身对计算机行业的了解体系>

一丶 My Blog Introduce
--My blog address
--Self introductionhtml

我是来自计算机科学与技术2018级的姚志昆,在完成此次软件工程基础第一次做业的时候,发现是十分吃力的。不只仅在于代码量上,更在于对基础编程软件的陌生,好比正在使用的Visual Studio Code,当初高考填报志愿时,6个志愿中5个计科方面的,但却去了土木工程,仅仅靠在大一下期转专业过来以后学习的知识来完成此次做业也是十分困难的,其中缘由有种种,我将会在以后一一讲述。都是晃眼就从高考完到了现在的大二了,小一年的对编程知识的学习也让我对编程从最开始的些许畏惧,到了如今的有些感兴趣。上大学前,惟一的兴趣就是篮球和打打游戏了。高二才开始打球的我,渐渐迷上了欧文,虽然高中压力逐渐增大,可是依旧挤着时间去打球,好比二晚下课的15分钟,提高本身的控球技术。等上了大学以后,想要在大学中接触新鲜事物的我,也逐渐对羽毛球、网球等运动感兴趣了,正所谓“身体是革命的本钱”,这会对咱们之后的工做也打下必定的基础。
二丶 Reading & Thinking
前端

  1.当初是如何作出选择如今专业的决定的?

高考填报志愿的时候,6个志愿中有5个是计科院的,可是我却去了第六个志愿——土木工程。虽然对土木工程也有必定的兴趣,可是在大一下惟一的转专业机会下,我毅然而然的来到了一心向往的计科院,触摸我之前所向往且彷佛“高深莫测”的编程。

打游戏也能够算是我对计算机开始感兴趣的开始,由于之前家里电脑不怎么样,运行很卡,动画显示效果也差,打游戏卡成PPT,就本身网上百度怎么在在显卡配置没法改变的基础上,提高电脑的动画显示效果。有个游戏叫作“Minecraft”——个人世界的沙盒游戏,里面须要配置的东西就是Java,而这款游戏也是由它编写的。
为了更好的了解其原理,我终究仍是来到了如今的专业,努力成为一个优秀的IT构架师。java

  2.过去一年是否符合专业期待,为何?

从转专业到如今,时间只有小半年,计算机科学与技术让我感觉到了编程的快感,虽然都是些小程序的或者小游戏,可是每当本身的程序"no error,no warning"成功跑起来的时候,成就感与喜悦感都覆盖了我。即便编译的时候出现了错误,而检查错误的时候内心有点堵,可是往往当问题成功解决的时候,喜悦感也是油然而生的。
所以再过去的小半年里,我以为是符合个人专业期待的,虽然最开始转专业时填报的一志愿是软件工程,可是来到计科专业,也依旧让我渐渐愿意主动去学习专业知识,爱上了这个专业。
  3.你以为你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?

由上题可知,我对这个专业算是我喜欢的领域。可是也仅仅是喜欢,离擅长这个领域要走的路还很长很长,我如今的编程水平与知识水平也不过是在芸芸IT人中目前最基础的那一层。想要达到擅长这个水平,我依旧须要本身主动学习培养计划以外的东西,培养独属于本身的程序库。
  4.未来你会选择从事和你专业相关的工做吗?是的话给出你想去的城市、公司和岗位,否的话给出缘由。

既然是转专业选择了一个更加难以掌握的专业,那我未来确定会从事与我专业相匹配的工做。虽然不是地地道道的成都人,可是三岁就开始在成都生活的我,最想去的城市依旧是这个城市——成都。而现在成都也是新一流城市之首,我以为留在这个从小长到大的城市是很是不错的一个选择。而我之后的发展方向却不是很肯定,感受本身依旧对IT行业的细分不太了解,姑且发展方向为java工程师或者web前端工程师吧,公司的话我更偏向于游戏公司,虽然据了解游戏公司熬夜作项目是屡见不鲜,可是兴趣在此,目前国内比较大的就是腾讯和网易了,腾讯旗下的游戏天然不用多说,而网易的《大话西游》等网游也风靡一时。若是只是本科毕业,大学还有三年,先学好这三年,一步一步的想这几大游戏公司靠近吧。

  5.自我感受你已经具有的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你作的最复杂的项目/做业。

我自我感受虽然培养计划里面该有的都有,可是本身掌握的倒是一些皮毛,好比数据结构与算法,虽然已经教学过,可是本身对他的吸取却只有百分之二三十,而达到熟练运用于掌握还有很长的路要走。根据咱们的培养方案,咱们要学习:数据结构、编译原理、操做系统、汇编语言、计算机原理、计算机系统结构、离散数学、几率论、计算机网络、数据库、单片机、算法设计、数理统计、高级语言程序设计、面向对象程序设计。本身自学了Python的基础语法,可是也只是基础。所以本身的专业知识固然是不够的,写过不超过五千行代码,写过最多的代码也仅仅只是贪吃蛇,当时刚刚转专业过来,什么都还不会,C语言和C语言实践课一块儿上,真的难度太大了,结构体、单链表又在书的后面,能够说当时为了写出这个贪吃蛇作了很大很大的努力。
  6.离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?

在专业知识方面,就按照计算机科学与技术这一系来讲,和培养方案上的基础课程相对比,本身能够说什么都不会,依旧须要自我主动学习。在技能方面,相比于一个合格的本科毕业生,我要在"人为交往,年龄,阅历"等方面继续提升,而在大学中,我想培养出"稳重的性格出来,褪去之前的浮躁",这才算一名合格的毕业生。

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

最让我感触最深的一篇文章是《对程序员职业的一些建议》,单单看名字固然是没有办法知道他到底讲的是什么,可是在其中,却让我更深入的认识到了三热情、能力和选择三者间的关系。
一是兴趣能让你开始让你执着,但只有喜好才会投入热情,只有投入热情才可能会出成绩。个人兴趣就是从电脑游戏中迸发出来的,为了搞清楚其中的原理,我来到了计算机科学与技术这个专业。喜好都是渐渐培养的,做为一个数学不是很好,理综却相对有优点的学生来讲,我对计算机知识最开始是虽然感兴趣,倒是有些畏惧的,由于以为它十分深奥,而我认为,接下来三年时间里,我就要将其化为对计算机编程能力提高的执着,进而转化为喜好,投入热情,由于喜好而投入热情,终究会转为成绩,带来成就感。

二是兴趣和热情只能让你很执着,但并不必定能让你走好这条路,只有你的能力和你的强项才能让你走好这条路。有了兴趣和热情以后,只是作到了基础条件,想要在这条路上越走越远,那么你就要注意本身的学习方法进而提升本身的学习效率依旧编程效率。IT做为一个快速更替的行业,知识体系都是突飞猛进的,不能中止对新知识的学习,并选择一个方向作到深刻掌握,作到一个公司没有人作到,只有你一我的才能作到,让其成为你的强项,才能让你更被重视,才能作到不被淘汰。python

三是你的职位,薪水,只不过是你能力和经历的附属品。当你的能力、阅历十分突出的时候,公司须要你的能力,那么你提出的薪资要求、福利要求都将不会成为问题。所以提高本身的能力才是最关键的,在学习的过程当中,不要一味的为了薪水二区作事,而是为了提高自我而去作去学。程序员

  8.在这种选择下,你认为你相比其余同窗来讲有何优点,有何劣势?

对我而言,我认为个人优点是若是我想要作一件事,那我就会必定用尽全力将其作好。劣势方面的话,我认为最影响个人就是懒惰,相比于大一上册,若是有假期就是和室友出去开黑,出去玩,而不是主动学习。虽然转专业事后和之前相比已经有了改观,可是懒惰不是一朝一夕能够改变的,但愿在大学三年改掉这个习惯,主动去找事情作,而不是让事情找上门。
  9.针对你的选择,你给本身的大三设定的规划安排是什么?

转专业后,由于学计算机的人数太多太多了,我对考研的愿望愈来愈强烈,我局的对于大三设定的规划能够提早一些,好比从如今开始天天就开始背诵考研词汇,好好准备考研。每当学校有招聘单位或公司来校招聘时,虽然不是招聘咱们年级,可是依旧能够去看看想去的岗位须要些什么,提早准备好,不会使本身到时候那么迷茫。
  10.你对于实现本身的梦想已经作了或者计划作什么样的准备?

由于大一错过了加入团队的机会,如今个人计划就是加入一个团队,在其中努力学习,争取在比赛中获得名次,为考研增长本身的筹码。其次,提早为英语考研作准备,先把词汇量提上来,虽然四六级都过了,可是分数却不是很拔尖,也把四六级分数刷一刷。
三丶Questions raised after reading
Q1 若是进入一个团队,如何好好定位本身,和谐融入其中,并在其学到本身想学的东西?
Q1 来自于本身的思考
A1 当你刚刚进入一个团队,你的身份是一个新人,自我介绍,让团队队员都熟悉你是必然的,不管这个团队的核心项目是否是你想学习的,只要你加入了团队,都要以谦虚的态度请教他人,既然是一个团队,那么这个团队必定有属于它的学习氛围,做为一个新人,必定要积极调整本身,去适应环境,而不是让环境去适应本身。团队中,要使本身有发言权,那就必须本身有能力,没有能力的人,提出的意见也是没有说服力的。对于团队,也须要投入热情,对团队目标作了承诺,就必定要作到。

Q2 领导力究竟是什么?
Q2 来自于《现代软件工程-构建之法》P379 领导力
A2领导力分为不少种,有“单一项目中的领导”—— Leadership in a project、也有“思想上的领导”——Thought leadership、还有“技术上的领先和指导”——Technical leadership。不一样的领域(思想或行为)有不一样的领导力的标准,而领导力有四大要素——设定目标——知人善任——带领团队成长——绩效管理.
web

Q3 结对编程有什么用?
Q3 来自于《现代软件工程-构建之法》P79 两人合做
在结对编程模式下,一对程序员肩并肩、平等地、互补的进行开发工做。他们并排坐在一台电脑前,面对一个显示器,使用同一个键盘、同一个鼠标一块儿工做。一块儿分析,一块儿设计,一块儿写测试用例,一块儿编码,一块儿作单元测试,一块儿作集成测试,一块儿写文档。使得他们在高速度中完成任务,可是任务有较高的技术要求,任务失败的代价也很高。单独一我的设计、实现软件的过程当中难免要饭这样那样的错误。在结对编程中,由于有随时的复审和交流,程序各方面的质量取决于一对程序员中各方面水平较高的哪一位。这样,程序中的错误就会少得多,程序的初始质量也会高不少,这样会省下不少之后的修改、测试的时间。使得两人合做解决问题的能力更强,相互激励,互相讲解从而受到激励,努力提升本身的水平,提出更多的创意。
算法

Q4 如何避免软件工程师的思惟误区?
Q4 来自于《现代软件工程-构建之法》P48 软件工程师的思惟误区
思惟误区主要由三个方面,一是分析麻痹,一种极端状况是想弄清楚全部细节、全部依赖关系以后再动手,心理上过于悲观,不想修复问题,出了问题都赖在相关问题上。分析太多,却不想动手,所以,我认为要适当分析问题以后,努力迈出第一步,而后再将一步一步编写代码,不要急于求成。其次是过早优化,软件的软字就在于它的可塑性,一个复杂的软件彷佛不少模块均可以变得更好,一个工程师在写程序的时候,常常容易在某个局部问题上陷进去,花大量时间对其优化。无视这个模块对全局的重要性。所以过早的优化是不可取的,要在大框架无错误正常运行的条件下才开始优化。再者是过早扩大化和泛化,在写一个程序的时候,须要某个函数能够处理整数类型和字符串类型的信息,所以有的程序员就会提早将其类型抽象出来,可是太好高骛远了。
数据库

Q5 如何正确的计划和估计?
Q5 来自于《现代软件工程-构建之法》P169 计划和估计
想要作到合理的计划和估计,那就必定要在目标、估计和决心三者间作到一个平衡。软件项目的延迟在行业中比比皆是,在估计以前,咱们能够考虑前任的经验,另一个方法是快速原型法——用一两个先锋去探路。其次,也要对产品的因素,平台的因素,人员的因素,项目的因素四者都考虑到。而在计划中,咱们能够分而治之,提升人员能力的利用效率,所以咱们能够把大型项目化整为零,作到团队中每一个人均可以同时工做,将其化为一个个子节点,最后再归为根节点。
编程

四丶Source program version management tools小程序

1.GitHub
参考百度文库
优点主要有如下七点:
一、GitHub 只支持 Git 格式的版本库托管,而不像其余开源项目托管平台还对CVS、SVN、Hg 等格式的版本库进行托管。GitHub 的哲学很简单,既然 Git 是最好的版本控制系统之一(对于不少喜欢 Git 和 GitHub 的人没有之一),没有必要为兼顾其余版本控制系统而牺牲 Git 某些独有特性。所以没有支持其余版本控制系统的历史负担,是 GitHub 成功的要素之一。
二、GitHub 对 Git 版本库提供了完整的协议支持,支持 HTTP 智能协议、Git-daemon、SSH 协议。
三、GitHub 提供在线编辑文件的功能,不熟悉 Git 的用户也能够直接经过浏览器修改版本库里的文件。
四、将社交网络引入项目托管平台是 GitHub 的创举。用户能够关注项目、关注其余用户进而了解项目和开发者动态。
五、项目的 Fork 和 Pull Request 构成 GitHub 最独具一格的工做模式。对提交代码的逐行评注及 Pull Request 构成 GitHub 特点的代码审核。
六、GitHub 经过私有版本库托管、面向企业的版本库托管和项目管理平台、人员招聘等付费服务得到了商业上的成功,这种成功使得 GitHub 没必要以页面中嵌入广告的方式维持运营,最大的受益者仍是用户。
七、GitHub 网站采用 Ruby on Rails 架构,在 Web 设计中运用了大量的JavaScript、AJAX、HTML5 等技术,支持对使用 Markdown 等标记语言的内容进行渲染和显示等。关注细节使得 GitHub 成为了项目托管领域的后起之秀。

劣势
1.使用Jekyll模板系统,至关于静态页发布,适合博客,文档介绍等。动态程序的部分至关局限,好比没有评论,不过还好咱们有解决方案。
2.基于Git,不少东西须要动手,不像Wordpress有强大的后台。

2.Microsoft TFS

优势
1.由数据库存储源码——性能高
2.与开发工具无缝集成——简便
3.源码管理无存储限制——可靠
4.代码分支结构可视化管理
5.有误删除恢复保护
6.内置BUG管理工具、提升开发效率
7.管理项目生命周期测试用例
8.根据项目完成状况自动编译测试源码

缺点
1.搭建、维护tfs比较复杂。
2.硬件要求比较高。

3.Apple XCode
参考百度文库
优势
一、苹果公司向开发人员提供的集成开发环境(非开源),用于开发Mac OS X,iOS的应用程序。
二、无论是使用C、C++、Objective-C或Java编写程序,在Apple Script里编写脚本,仍是试图从另外一个奇妙的工具中转移编码, Xcode 编译速度极快。每次操做都很快速和轻松。
三、苹果公司为用户提供了全套免费的Cocos程序开发工具(Xcode),和Mac OS X一块儿发行,在苹果公司官方的网站下载。

缺点 1.报错难以辨别出错地方。

相关文章
相关标签/搜索