学计算机容易么?

有很多非计算机专业的小伙伴,或许出于兴趣,或许出于计算机的钱景,都想学习并且从事计算机相关工作,但是因为专业限制,不清楚走计算机都有哪些方向,需要学什么语言等等,今天我们来好好聊聊这个问题。

今天的分享因为重点比较多,加上一些在计算机方向成长的建议,内容会比较干,我会尽量做到清晰直白,减少晦涩术语,希望大家不要因为有些枯燥就被劝退。

在正式讲方向和学习建议之前,我们先简单聊聊跨专业学计算机最常见的一个顾虑。

跨专业学习计算机,最大的顾虑可能就是我行不行?我该学什么,学好了能找到工作吗?我和科班差距到底有多大?

这里需要说一下,其实科班真的没什么好特别的,本科四年迷迷糊糊划水过来的不在少数,听不懂老师讲课念PPT需要自学,或者一开始就没打算跟着学校节奏走的更是屡见不鲜。

既然都是自学,科班无非有更好的交流氛围和多了一些学习资源而已,能不能学好始终还是看自己。

很多公司,包括大厂的开发人员也是来自各个专业,除了计算机,还有通信、机械、数学甚至土木等。

所以既然找到了自己真正的兴趣和方向,我们要做的无非是确定一个明确的方向,规划好路线,踏实的去提升自己,在计算机这个以能力为主的领域,一定没有问题的。

那么跨专业学计算机,在时间节奏上主要有两种选择,一种是本科期间时间充裕的话,一些方向是可以自学然后直接找工作的,第二种是本科期间时间不够,或是要走的方向要求,也是可以通过考研续命提升平台,并且增加学习时间的。

那如何找到适合自己的具体方向和提升方式呢?

好,我们先简单科普下关于计算机未来大的方向划分,然后再聊具体的细化岗位选择和提升建议。

这里我们由上而下的对计算机方向进行梳理,可以简单粗暴的分为三类,一类是研发,一类是开发, 还有一类是在交叉学科里对计算机技术的应用,我们一一讲解

偏研发方向常见的有:人工智能、系统研发、数据方向、算法设计、人机交互等。

常见的开发方向有:后端开发、前端开发、游戏开发、嵌入式开发、移动开发等

常见的交叉方向有:生物信息,医学信息,计算化学,教育技术等。

那这三个大方向的前景和要求都是怎样的呢?

我们先聊聊研发,要走研发方向的话,读研基本是必然的,学历和学校平台是第一要求,除了学历的提升非常重要,另外就是非常着重数学和计算机基础理论知识的学习,开发能力反而是其次。

那研发方向的前景怎么样呢? 从实现个人价值来说,走研发可以避开中低层的开发岗位竞争,学历就已经筛选掉太多人了,同时研发级人才无论是国家层科研还是各大自研公司,都是不可多得的。只要能拿到offer,钱自然是少不了的,起步五十万一百万也不算很稀奇了。

但是这里有个情况要注意,尤其是未来打算读研跨考的小伙伴,目前研发方向主流的人工智能领域发展还没有形成非常好的商业运作模式和人才供给链,国内计算机就业的大环境还是以互联网大厂为主导,而互联网大厂又是以商业模式为导向。

所以这个方向的最终出路基本还是以大厂算法和开发为主,真正能留在研究所或是去到一些研究院的始终还是少数,加上近些年大厂算法岗的竞争越来越大,所以无论未来是打算走研发还是开发,深入掌握一门编程语言和过关的编程能力对我们来说都是必要的。

就像前几天和群里一个正在读研的小伙伴聊到的,卷不过算法最起码还能搞开发嘛,一年二三十万,一样很香。

那如果未来有兴趣考研走研发方向的话,前期编程语言部分深入C++即可,同时打牢数学和计算机四大件基础,四大件包括数据结构与算法、操作系统、计算机网络、计算机组成原理。

这里要稍微注意下,因为考研还需要预留不少时间备考,所以以上这些内容尽量在大三上学期结束,甚至大二结束之前搞定。提前学完的越早,到时候对于院校选择等调整的空间也就越大。

具体的跨考攻略和学习路线,因为文章展现形式的问题不好放上来,有兴趣的可以加群交流,群号:

然后是大家最关注的开发方向,想走开发方向的几大基本要求,第一个是编程语言熟练程度和项目经验,其次是学校平台,最后是算法能力和计算机基础掌握情况

可以看到,在这里面并没有提到专业的因素,就像文章开始提到的,其实很多公司,包括大厂的开发人员也是来自各个专业,除了计算机,还有通信、机械、数学甚至土木等。

所以从专业限制上来说,非计算机专业可能面试机会会少一些, 然后是学校平台的好坏,例如985还是二本会影响我们能去面试的公司规模。

但是开发方向最重要的还是技能和计算机理论的掌握情况,所以转专业失败,或者没有考研打算的小伙伴也不用过于担心。

那对于跨专业学开发, 应该怎么规划学习呢?

从普遍情况来说,要找到一份好的开发工作,我们所需的专业知识有这么几点,一个是深入一门编程语言,然后有拿的出手的项目,其次是过关的算法能力和计算机基础理论,尤其是想去大厂的小伙伴,更要着重算法能力和计算机基础的掌握。

所以从学习顺序上来说,更建议先从一门高级语言入手,再逐步训练算法能力和巩固计算机基础。

主要考虑两个因素,一个是时间,如果是打算毕业直接入行找工作的话,时间方面可能并不是很充裕,先掌握一门语言起码能保证毕业时有一份像样的开发工作,然后在工作中去继续深入底层。

另外一个因素就是整个计算机的发展,包括为什么从汇编到C语言再到这么多高级语言,整个编程语言的发展顺序其实是越来越迎合人的思维方式的, 就是为了降低从业者的学习成本,所以先从高级语言入手,也能让我们更好地建立对编程的认知,以及帮助我们学习计算机基础能够实践,而不是单纯背概念。

那如果是已经确定要跨考计算机的话,按照我们建议的跨考攻略来准备就好了,这个不是今天的重点就不多浪费时间聊。

那到底应该怎么选具体的语言和方向呢?这里再科普下,我们可以笼统的将开发划分为前端开发和后端开发以及底层开发。

前端方向的开发从基础的网页到安卓、IOS,再到游戏开发都可统称为前端,前端的要求是最少深入掌握一门前端技术,比如JavaScript等脚本语言、比如Cocos2d、unity等游戏引擎,都属于前端的范畴,除了语言,其次就是数据结构与算法、基础的网络相关的内容,和一些设计方面的内容。

走后端的话,首先需要深入掌握一门后端语言,例如使用最多的C++和Java,然后是数据库和刚才提到的四大件部分,四大件的话重点也是放在数据结构与算法部分,尤其是大厂,对这方面极为看重,其次是计算机网络、操作系统等,像计算机组成的话,一般稍微了解即可。

因为走后端开发前期对于语言的选择比较容易造成初学者选择困惑,这里多讲几句。

初学者前期对于语言可以广泛接触,但是深入的话,还是建议深入一门后端语言,因为除去游戏开发等更注重图形学等前端体验的方向,绝大部分程序的业务和数据核心始终还是后端,当然这里并不是说前端不好,而是作为初学者没有明确方向的情况下,选择后端更容易让我们建立起对计算机学科的系统认知。

后端语言选择建议C++或者Java二选一,这两门是后端部分目前使用最多也是最具代表性的语言,

Java作为业务开发方向的代表,特点是跨平台特性带来的各种开发便利,同时生态成熟,有很多框架可以直接使用,使用Java较多的大厂有阿里。

那走Java方向的话,因为使用技术较多,而非开发技术本身,所以相对C++,更强调业务分析能力,对技术要求反而没有这么高。如果是担心学习时间不够,或是未来有创业想法等,Java是个不错的选择。

那C++作为技术开发方向的代表,特点是效率高,能够应对绝大多数需要效率的服务器开发、算法等,使用较多的公司有腾讯。同时也正是因为应用领域更要求效率,想走C++方向的话,对计算机基础的掌握要求就要高一些了,四大件几乎都要掌握扎实才行。所以如果是对技术本身有极大兴趣,想要深入底层做技术专家,C++是非常好的选择。

至于其他的例如C#、GO等,并不是很建议初学者作为第一就业语言,尤其是跨专业学习。

这里再多说几句,语言的选择从来不是非黑即白的选择题,只是根据自己兴趣和当前情况的学习顺序而已,而且我们学的并不是编程语言,而是编程,是整个计算机学科。同时当我们真正掌握一门语言之后,再学习其他语言会非常容易上手。

最后是底层开发,因为底层开发是相对比较依赖计算机基础的学科,除了自动化等相关专业,不是很推荐跨专业作为入行的方向,这里就不多说了。

以上就是关于开发方向的介绍和一些学习建议。

接下来再简单聊聊一些交叉学科。

很多跨专业学习计算机的小伙伴可能都会有这样的想法, 我当前所学的专业内容,能不能和计算机有很好的结合,在现有专业的基础上学习一些计算机相关的知识,然后同样能够拿到高薪。

这个想法是可行的,现在很多交叉学科同样是人才紧缺,例如开头我们提到的教育技术、生物信息等。

要走交叉学科的话,读研几乎也是必要的,掌握的技能从计算机为主转换到了本专业的知识,例如生物。

但交叉学科和人工智能方向类似,很多交叉学科都还处于研发和探索阶段,还并没有形成成熟的商业模式和人才供给链,从个人角度来说,如果立志要推动所在的行业发展,甚至是给国家层面的竞争贡献力量当然是可以并且值得敬佩的,那如果从发展的角度来说,仅从薪资待遇来讲,可能还是没有互联网开发那么丰厚。

因为任何一个行业的高薪,代表的都是行业背后的政策和时代趋势,如果只是把计算机作为更好解决问题的工具,而非发展这个行业本身的话,那么薪资较以前基本不会有太大变化。

所以这块可能更多还是要看个人主观上的选择,毕竟我们都不是神仙,还是要吃饭的嘛

了解了方向和学习建议,接下来再聊聊同样是跨专业学习小伙伴们关心的一些问题,

第一个就是关于未来发展的问题,一提到未来发展,大家听得比较多的可能就是做管理或者继续搞技术,那这两个方向到底应该怎么去成长呢?

在技术领域想提高个人价值,比较着重的有两个方向,一个是计算机技术能力,一个是工程能力,可以说这两项几乎是囊括了整个计算机体系内容。

我们现在所接触到的所有计算机相关概念,例如C++、Java、Python这样的编程语言,例如Spring boot这样的框架,还有内存、网络协议等概念,基本都是建立在计算机基础四大件以及数学之上,这里再讲一下,四大件分别是《计算机组成原理》《数据结构与算法》《操作系统》《计算机网络》,同时加上一些必要的数学,基本就是计算机底层的大概内容了。

如果是要想深入技术,做技术专家甚至是技术的创造者,往底层去深入即可,有基础之后,黑皮书系列真的是非常经典的参考资料。

想往这个方向发展,最重要的是一定要有打破砂锅问到底的好奇心,恨不得把这个知识点的祖坟给它刨出来。

其次就是所谓的工程能力,什么是工程能力呢?

可以说,所有计算机技术的存在,都是为了解决问题和更好地解决问题,不管再复杂繁琐的技术,最终价值都是为了形成具体的解决方案。

从拆解需求,到成本评估,到技术选型,再到顶层设计,最后组织统筹合适的人员实现的这个过程就是工程能力,在这里面需要对技术的覆盖面足够广,项目经验足够丰富,明白技术的特点和缺陷,同时具有长远目光,能够进行合理的设计和统筹。

想往这个方向成长,就一定要多思考技术的价值和意义,我学的这个技术为什么是这样,还可以怎么样?还有没有别的方式? 同时去做一些程序设计方面的尝试,而不是完成基础的开发任务即可。

所以说到底,计算机从业人员未来的成长其实是一个“T”字型的结构,要足够广,广到能够做工程设计和工程统筹,能够真正将技术作为解决问题的工具,设计出最适合的解决方案。同时要深,深要深到懂计算机结构,具备优化和创造技术的能力。

当然,人的精力有限,我们的世界也不全是工作,未来会有自己相爱的人,有其他想要追逐的爱好,所以能够同时掌握当时最好,如果不能,根据自己的兴趣能够具备一个方向的能力就已经是行业里非常非常了不起的人了,到时候不管我们学历高低,专业是什么,到哪里都是香饽饽,有的是人捧着钱邀请我们加入。

能把文章看到这的小伙伴,想问大家一句,觉得跨专业学计算机苦不苦逼啊?大家可以打在评论区。

作为跨专业学习计算机的学生其实真的蛮苦逼的,身边没有多少可以交流的人,时间不够充裕,很多东西又只能自己胡乱摸索,遇到选择总是很难抉择,加上计算机本身就不是轻松能掌握的学科,内外压力之下,很容易想放弃。

其实,我们很多时候其实就是在和自己斗争,很多事情就是一念之差,尤其在我们想要放弃的时候,可以想想,这里这么难,得倒下了多少人啊,只要自己再多坚持一下,不说超越多少人,起码又能离我们的目标和梦想更进一步,这是一件多么美妙的事。

遇到问题的时候,不妨多坚持坚持,虽然很难,但是当有一天我们回过头来看的时候,发现我们已经走了很长的路,长到自己都想给自己竖个大拇指,说一句我真了不起。

好了,因为展示形式限制,具体的学习路线没有放上来,如果真正感觉学习孤单没有可以交流的人的话,不妨来我们群里,和大家共同交流探讨:

最后祝大家都能找到自己喜欢的领域和真正适合自己的方向,无论走什么方向,真正能支撑我们走的很远的还是兴趣和热爱,谢谢大家,记得三连哦~

  • 建议你别考VB VB用途很小 这种编程语言也算古老了
    从历年来看VF和ACCESS是二级中较简单且过关率较高的。
    不过对于非计算机专业的同学来讲,报考那种语言都无关紧要,找工作的时候关键是看你有没有这张NCRE证书。 
     

计算机二级可以自学好过吗

计算机二级考试包含:程序设计/办公软件高级应用,考核内容包括计算机语言与基础程序设计能力,要求参试者掌握一门计算机语言,可选类别有高级语言程序设计类、数据库程序设计类等;以下小编为大家整理了计算机二级可以自学好过吗的详细内容,希望对大家有所帮助!

一、计算机二级可以自学好过吗

计算机二级可以自学,有一定计算机基础的人自学计算机二级也不难,只要多看多练就行了。当然了,学计算机二级也可以报班,而且培训费也不贵,如果对计算机完全不懂的话,报班也是一个好方法。

二、计算机二级怎么自学

计算机二级复习分为两个部分,就是理论和操作部分。

理论部分就需要看书做题了,对于有基础的同学来说书不必细看,大致地浏览一下内容就可以,还是着重模拟题的练习。

没有基础的同学付出的时间就要相对多一点,至少要先把教材过一遍,把最基本的知识都弄清楚再去做题,在此期间不懂的一定要查,直到弄懂为止。

而无论你有没有基础,都要对内容有个清楚地认识再去做题,只想着靠背答案来通过考试是很不明智的,毕竟题海茫茫,恰好抽到你背过的题目的概率还是很小的。

操作部分就需要在网上下载一个操作题模拟软件了。在练习操作题的时候,一般还是要先看教材上的内容,会详细地分步骤写明每一步该怎么操作。在自己独立操作的时候,不要害怕犯错误,更不要急着去对照教材上看该怎么做。坚持独立练习一整套题,看看系统给你打多少分,再看看自己具体错在哪,之后慢慢改正就好。

三、考计算机二级有什么用处

1、大学生加分评优的依据,现在很多的大学都会有奖学金、助学金、三好学生等一些评比,而评比的过程往往有一部分会通过学生的考证来决定,考取相应的'证件加多少分,再加上其他的加分条件,最后按总分排名的高低来决定奖学金等等。

2、就业时,多一个证书就多一个就业砝码,现在很多正规企业招聘应届毕业生的三大条件,其中之一就是计算机水平达到二级及以上,缺少这个可能连面试的机会都没有。

3、报考公务员、事业单位等一些国家单位,部分地区、部分职位的要求的门槛之一就是计算机水平等级。总的来说,计算机二级证还是很有用,不管是在学校里还是在职场上,都是需要用到的。

【计算机二级可以自学好过吗】相关文章:

我要回帖

更多关于 学计算机需要什么基础 的文章

 

随机推荐