个人第1次作业:阅读与准备作业

阅读与准备作业

格式描述:
这个作业属于哪个课程 课程的链接
这个作业要求在哪里 作业要求的链接
我在这个课程的目标是 1、基本掌握软件编程的一般方法,提高个人编程能力;2、学习团队协作,了解并运用软件团队模式;3、能够独立完成一些小项目,开发简单的小程序。
这个作业在哪个具体方面帮助我实现目标 1、通过博文阅读和问题引导,帮助我明确学习目标;2、通过自我提问的方式,能够帮助我在以后的学习过成中抓住重点;3、通过了解和查阅源程序版本管理工具,有助于了解各种版本管理软件的优缺点。

1、建立博客并介绍自己

(1)个人博客地址:https://www.cnblogs.com/SY980808/

(2)个人介绍:我是一名来自地科院地理信息科学1702班的老腊肉,一个北方妹子,没有什么特长,喜欢听歌、追剧,偏爱数学, 不喜欢一切有关编程的东西,但是吧...缘分就是这么神奇的东西,高考志愿服从调剂,这样,我成为了一名地信人,各种软件与我不期而遇,哈哈!不过,我是一个适应能力较强的人,既然别无选择就竭尽全力。

2、阅读与思考

阅读材料,并回答下面几个问题:

(1)回想一下你初入大学时对你所在专业的畅想
  ●当初你是如何做出选择你所在专业的决定的?

   本来是想学经济学或建筑学的, 高考志愿服从调剂而成为了一名地信人,当时既彷徨又无助,当从学长们那儿得知本专业药学好多软件时更是不知所措,但经过两年时间已经慢慢习惯了。
  ●你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
  一般吧,但希望能够安排更多的上机实践课,因为自己的动手实践能力很差,尤其是软件方面,希望通过更多的上机实践课来提高自己的软件操作能力。
   ●你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
   不是自己喜欢和擅长的领域,因为我是一个有点惧怕软件编程的人。
   ●将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
   不会选择从事和本专业相关的工作,因为并不是很喜欢现在的状态(更不喜欢以后无休止编程的日子),有跨专业考研金融学的打算,以后就业地址最好在津京冀一带(离家近呀,嘿嘿嘿)
(2)对照前人们走过的路和描述未来发展,现在的你
  ●自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。

  会最基础的C和C#语言相关知识,学习了数据结构,但基本已经忘得差不多了,会使用Arcgis的一些基础功能,但具体项目需要按照老师给的实验步骤操作(总的来说技能几乎为零)。写过的代码量不多,大部分是做C语言和C#实验报告和课后作业练习写的代码,不过2000行吧。做过的复杂的作业是上学期C#最后一个实验报告(写一个学生信息管理系统连接数据库进行查询等,如下图),尝试了好多遍,最后还是在室友的指导下完成的。
  个人第1次作业:阅读与准备作业
  ●离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
  离成为一名合格的本科毕业生,我还有很长的路需要走:在专业知识方面,理论基础还不够扎实,需要进一步巩固;在技能方面,对SuperMap、Arcgis等软件还不够了解,不能独立操作,需要加强练习;在能力方面,缺乏管理和团队协作能力,需要进一步培养提升。
(3)目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
  ●对照以上你阅读的前人们的经历,你的选择是什么?

  选择了跨专业考研的道路,不同的道路需要不同的付出,既然选择了就为之努力,各位小伙伴们一同加油吧!
  ●在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
  在这种选择下,相比同样跨专业考研的同学来说,我的自学能力还是不错的,而且有一定的自制能力;相比本科同专业考研的同学来说,我的基础知识和经验要差得多。
  ●针对你的选择,你给自己的大三设定的规划安排是什么?
  (在能够将本科专业课程合格完成的情况下,有以下安排:)
  10月--12月(3个月):英语单词积累、扎扎实实过一遍数学课本
  1月--3月(3个月):英语单词复习巩固、刷真题,数学真题刷题,专业课知识学习
  6月--9月(3个月):继续巩固
  9月--12月(3个月):冲刺
  ●你对于实现自己的梦想已经做了或者计划做什么样的准备?
  查阅目标学校的招生计划,购买相关资料等

3、提有质量的问题

●问题1:教材第3章《软件工程师的成长 》P47中有“软件工程的莫基人之一瓦茨 •汉弗雷总结说软件领域可以分为两个方面:方面是技艺创新的大爆发;而另方面是坚持不懈的工程工作包括软件的改善、维护和测试等,这一方面占了90% ---95%的比例。”既然坚持不懈的工程工作占了90%---95%的比例,那么技艺创新又应该如何长久立于不败之地?企业管理人员应实施怎样的措施规避软件工程师“一劳永逸”的思想而不断创新?
●问题2:教材第9章《项目经理 》P198中有“PM 的分析能力和韧性:能把市场、我方的优势和劣势、创新的机会讲得头头是道,也是一种能力。”在第8章《需求分析》中讲过NABCD方法,乔布斯在NeXT也做过很有说服力的分析并能在失败中不气馁而投入另一个公司的运作,在日常学习过程中,我们应从哪些方面努力来提高自己的分析能力、增强韧性,为以后成为优秀的PM做准备?
●问题3:教材第9章《项目经理 》P199中有“我们说过,大部分优秀的团队可以做到目标三元组(多,快,省)中的两个,类似的三元组还可以用来说明各种商品或活动的不同特性。”做事情就要做到最好,既然大部分优秀的团队可以做到目标三元组(多,快,省)中的两个,那么如何成为优中之优,做到三个并进?
●问题4:教材第12章《用户体验 》P260中有““不让用户犯简单的错误”( Fool Proof)的原则当然是大多数人都同意的,高明的设计能让操作者不需要花费额外注意力,也不需要经验与专业知识即可凭直觉完成正确的操作。”这固然是好,但是如何在满足“软件的开发过程有三个主要的特性:“好”、“快”、“便宜” 。通俗的理解是“软件在功能、成本、时间三方面满足利益相关者的需求”的同时又遵循“不让用户犯简单的错误”( Fool Proof)的原则?
●问题5:教材第16章《IT行业的创新 》P372中有“只做某种行业,不太改行,商业技巧比较缺乏”,我想问这是否与“专注”、“坚持”相悖呢?一味转型商业技巧就能得到提升吗?

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

Git Git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件,是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
优点 1、适合分布式开发,强调个体;2、公共服务器压力和数据量都不会太大;3、速度快、灵活。;4、任意两个开发者之间可以很容易的解决冲突;5、离线工作。
缺点 1、资料少(起码中文资料很少);2、学习周期相对而言比较长;3、不符合常规思维;4、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
GitHub GitHub是一个代码托管平台和开发者社区,开发者可以在GitHub上创建自己的开源项目并与其他开发者协作编码。创业公司可以用它来托管软件项目,开源项目可以免费托管,私有项目需付费。GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。
优点 1、完整的支持Markdown语言,而且支持Emoji表情;2、支持直接复制图片到页面,会自动上传图片(非常好的功能,知乎也支持); 3、比较好的支持Mobile。虽然GitHub没有手机客户端,但是一般开发者,写好的blog都会通过微博进行分享,所以点击过来之后,就可以在手机浏览器里面访问;4、使用GitHub原生的功能,就可以进行类似评论的功能;5、支持@用户功能; 6、支持标签,当然是你repository里面;7、强调个人,符合hacker更看重名誉/成就感的天性;8、功能设计简洁实用上手很快,可用性好,已有很多相当质量的各类项目和优秀开发者在上面。
缺点 (对个人而言)1、GitHub 使用 Git 分布式版本控制系统,而 Git 最初是 Linus Torvalds 为帮助Linux开发而创造的,它针对的是 Linux 平台,Git 和 Windows 从来不是最好的朋友,因为它一点也不像 Windows。GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端;2、国内访问速度太慢,经常出现connect time-out;3、不能很好的解决GB2312/GBK,对中文不够友好;4、wiki功能太弱,直接导致文档(对于开源项目很重要)经常被分离到一个独立站点 (对企业而言)5、免费套餐不支持私有项目,无非解决企业内部的需求,GitHub:fi价格过高(最便宜要$5,000/年);6、基于Git,学习曲线陡峭,企业大规模用Git根本不现实。尤其国内大家都刚学会svn;7、GitHub有时可能被墙,或者不稳定;8、没有集成社交分享功能。
Bitbucket Bitbucket 是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户。
优点 1、对于小团队免费,这意味着最多5名成员的团队将获得无限数量的免费存储库;2、一个集成的查询管理系统;3、通过社交媒体和GitHub认证;4、集成Jira工具。BitBucket和Jira在整个开发阶段都做了整合,通过集成的错误跟踪组件,JIRA自动更新有关检测到的问题的信息;5、导入现有Git项目;6、支持Git,CodePlex,Google Code,HG,SourceForge,SVN导入——GitHub、GitLab与BitBucket应该怎么选?
缺点 不开源,系统不稳定。