要求 | 内容 |
---|---|
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/homework/4518 |
我在这个课程的目标是 | 1.希望通过这个课程使我编程能力提高 2.了解软件工程是什么 3.学会使用电脑编辑软件 |
这个作业在哪个具体方面帮助我实现目标 | 这个作业可以使我学会如何编辑博客,以后可以在博客园中发布博客向其他人请教,探讨问题 |
1、个人介绍
我是一个地理信息科学大三的学生,比较喜欢运动,主要有篮球、羽毛球和乒乓球,平时还喜欢玩玩游戏,看看小说。我自己比较缺乏自制力,其实说白了就是比较懒,一些事情容易拖延,性子不急不缓。我对于编程有一些兴趣,希望通过这门课程的实践让我提高对于编程的兴趣。
2、阅读与思考
2-1回想一下你初入大学时对你所在专业的畅想
- 1.当初你是如何做出选择你所在专业的决定的?
我当初其实并不知道该选择什么样的专业,因为学校的专业太多了,通过百度也只能了解一个大概,而且有些百度的资料还不是最新的。后面就与同学探讨然后就选择了一些材料与机械控制之类的专业,可以说和现在的地理信息科学没有多大的关系。当然我没有被其他的专业选中,是被调配到这个专业的,但是对于我来说也没有什么影响的,毕竟之前选择时也没有对那些专业有什么特别的喜欢。 - 2.你认为过去两年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
这个课程其实开始学的时候感觉有点不符合我的期待的,因为全是一些纸上的东西和我想象的关于科学没有一点关系,而且学习那些基本的专业介绍我是觉得相当的乏味和枯燥的。但是后面学了关于编程和计算机的一些内容徒然发现还是有意思的,因为以前对于计算机接触的比较少,有一些新奇,后面了解通过编程可以自己编写软件,又开始产生更大的兴趣,现在有开始学习软件工程,感觉是比较符合我的期待的。 - 3.你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
我们专业我是不太讨厌的,因为他的课程都是关于计算机的,我对于计算机还是比较喜欢的。它所在的领域是地理信息工作的收集,处理和加工,以及应用,我对于这些东西其实是没有太大的兴趣的,因为太枯燥了,但是我虽然不太喜欢这个领域,但是我却觉得我是比较擅长的,对于一些枯燥事物的坚持我觉得我做的还不错,我可以比别人坚持的更久。 - 4.将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
将来的话可能先选择从事与本专业相关的工作,有了实践过后,判断自己喜不喜欢自己的现在的工作,然后再选择是否从事其他的工作。想去的城市就先在成都吧,毕竟又没有工作经验,又不熟悉其他的城市,想去地震局或者国土资源局等国家公职类岗位工作。
2-2对照前人们走过的路和描述未来发展,现在的你
- 1.自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
A.我感觉我现在具备了一些关于我们专业的一些基本的了解,专业知识谈不上,还没有进入过深入的学习,现在所掌握的专业知识只是为了帮助我们更好的学习这门课程,而不能运用于实际问题。
B.我所掌握的技能和能力,可能有关于arcgis的使用,以及编程软件的基本的操作,进行简单的编程,还有CAD软件的基本使用,数据库的使用,以及文献检索的能力。
C.我现在次而过的代码量不大,只有平时老师发布的作业才会写代码,可能才只有一两千行代码的量。
D.最复杂的实验就是遥感的实验,根据老师的实验报告要求,实验做了很多天的时间,然后最后总结的PPT也做了几十页的Word。 - 2.离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
A.我认为一个合格的本科毕业生,应该对于我们的专业十分的了解,对于任何的关于本专业的知识内容都有相关的了解。我现在是对于本专业的知识只是一知半解,还需要读的专业知识的书还需要很多。
B.在专业的技能上就欠缺的更多了,现在的我对于编程只是会写一些简单的代码,还不具备专业编程软件的能力,就连c#也只是一知半解,在大学应该熟练的掌握一门编程的语言。而在我们专业软件arcgis的使用也是,只是会一些基础的操作,而一些复杂一些的内容就完全不会了,更加不用说灵活的运用软件的能力了。在数据库的运用上也是匮乏,连书上的操作都不是完全的会。总之在技能和能力上我的差距还有很大离毕业本科生。
2-3目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
- 对照以上你阅读的前人们的经历,你的选择是什么?
我应该会选择考研吧,前人们有工作的,但是我觉得大学四年的学习知识的内容并没有那么的丰富,在专业能力上并不够突出,在公司上的工作能力也是需要学习,然后慢慢的提高,所以为什么就不能先考研,然后跟着老师做项目,在项目里提高自己的能力,然后去公司找工作也会比较容易,而且可以更快的适应工作,有更好的能力,不会像本科生那样的慌张。 - 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
在这种选择下,我的优势是可以跟着老师进一步的学习,有不懂的可以向老师提问,在与老师的合作中稳步的提升自己。而我的劣势是,毕竟要比其他同学往出去几年,可能就是晚着几年就错过了一些基于,也缺少了几年的社会经验。两种选择都各有优缺点。 - 针对你的选择,你给自己的大三设定的规划安排是什么?
我的大三再也不能像大一大二那样以为了期末考试而学习,我必须是为了自己而学习。在大三中必须加强我的能力与技能。我应该先在完成学期的内容的前提下,再提高自己的编程能力,以及一些专业的软件的使用。其次我的把一些等级考试如四六级,计算机二、三、四级尽量的考过。了解自己要考什么专业的研究生,然后进行合理的学习,合理的分配时间,进入图书馆学习。总之,不浪费时间就是前提,然后按计划学习。 - 你对于实现自己的梦想已经做了或者计划做什么样的准备?
我正在进行英语四六级的准备以及计算机三级的考试的准备。正在努力的学习有关计算机的知识,已经英语水平的提高。并且我还在积极的锻炼,每周的跑步以及一些课程的锻炼,在高强度的学习之下,一个好的身体是必不可少的。
3、提有质量的问题
- 1.【第16章1.3迷思之三:好的想法会赢】为什么在现实中好的主意不一定赢?
我认为现实中为什么好的想法不一定赢,是因为我们在现实中的想法的影响不一定大。比如为什么键盘的键位一直是这样,就是因为就算改变了过后也对我们大多数人都没有影响。而且改变之后反而会使打字的人不会打字了。因此好的想法不一定赢只是因为它的影响不够大。 - 2.【第12章里12.1中】用户需要帮助,但是用户并没有那么笨。里面说设计者应该考虑目标的英文水平。
但是我的理解是,你并不能确定用户的英文水平,那么你就应该把最低的用户的需求考虑到,并不能认为用户进入你的网站就一定会某些单词,那只是你自以为。所以我们应该从最低的要求出发,进行开发。 - 3.【第16章1.5迷思之五:要成为领域专家,才能创新】为什么大多的创新是领域之外的人?
我觉得成为领域专家才能创新这个是没问题的,虽然大多数的创新都是领域之外的人,但是他们一定是具备某些专业领域的知识的,专业的知识很多都是相通的,他们只有具备大量的知识才能创新成功。 - 4.【迷思之八:创新者就是冒险家】里面说创新者不喜欢冒险。
我认为创新的同时就必然有冒险,如果是小成本的创新者,那么他们面对的是资金的问题,如果创新成功,当然就有投资进来,但是如果创新失败,那么之前投入的资金就全没有了。而大公司创新成功则意味着他们失去了竞争力,那么他们将面临着失去市场。创新伴随着市场。 - 5.【第四章4.3 goto】goto函数。
之前在学习C语言的时候接触过,但是在这里使用的方式却和C语言的似乎不同。之前的goto函数是直接跳转到某个语句处,这里是使函数有一个单一的入口。
4、了解和调查源程序版本管理工具
GitHub
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。
优点:
1、GitHub 只支持 Git 格式的版本库托管,而不像其他开源项目托管平台还对CVS、SVN、Hg 等格式的版本库进行托管。因此没有支持其他版本控制系统的历史负担,是 GitHub 成功的要素之一。
2、GitHub 对 Git 版本库提供了完整的协议支持,支持 HTTP 智能协议、Git-daemon、SSH 协议。
3、GitHub 提供在线编辑文件的功能,不熟悉 Git 的用户也可以直接通过浏览器修改版本库里的文件。
4、将社交网络引入项目托管平台是 GitHub 的创举。用户可以关注项目、关注其他用户进而了解项目和开发者动态。
缺点:
1.Github使用新手,需要不断实践和时间。
2.Github非常适用代码跟踪,但是却不是最好的设计跟踪工具。将图片内容转化为代码,或者将设计用于产品设置,不是那样顺利。
3.wiki功能太弱,直接导致文档(对于开源项目很重要)经常被分离到一个独立站点
Git
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
优点:
1.适合分布式开发,强调个体。
2.公共服务器压力和数据量都不会太大。
3.速度快、灵活。
4.任意两个开发者之间可以很容易的解决冲突。
5.离线工作。
缺点:
1.资料少(起码中文资料很少)。
2.学习周期相对而言比较长。
3.不符合常规思维。
4.代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
Mercurial
Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。其是基于 GNU General Public License (GPL) 授权的开源项目。
优点:
1.更轻松的管理。传统的版本控制系统使用集中式的 repository,一些和 repository相关的管理就只能由管理员一个人进行。由于采用了分布式的模型,Mercurial 中就没有这样的困扰,每个用户管理自己的 repository,管理员只需协调同步这些repository。
2.更健壮的系统。分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。
3.对网络的依赖性更低。由于同步可以放在任意时刻进行,Mercurial 甚至可以离线进行管理,只需在有网络连接时同步。
缺点:
1.它的分支管理不灵活,相对于Git来说差很多,其中branch出来就删除不了。
2.支持社区差,比不上Git。