自学IT可行吗?
自学IT当然可行了,只要你有足够的毅力,还有对IT行业的热爱,就肯定可以自学成才,但IT行业的范围非常广泛,易懂难精入门容易学成难,所以想要自学肯定要付出很大的努力才可以,要有这样的心理准备。首先介绍一下IT行业大概的情况,这个行业里最初级的工作应该就算是组装电脑,还有电脑安装系统和维修了,这是非常基本的常识,如果连这些都不会,那不要再谈其它的知识,这是硬件方面的知识,在这个基础之上,就是软件方面的知识了,软件方面分布的范围更广泛了,比如说有编程,做这个工作的程序员通常都是与代码打交道,这些个工作通常就是开发软件方面的工作。当然还有一个工作是大家所熟悉的,就是我们常说的黑客,黑客其实就是做软件开发,懂得种类编程语言的精英,他们掌握的技术可以找到计算机系统或软件的漏洞,还有就是可以制作病毒,病毒也是通过编程语言代码写出来的程序,黑客通常会通过这些漏洞或病毒,入侵电脑或服务器进行破坏或盗取想要的资料。黑客通常被人们认为是水平最好的高手,但很多人可能不知道黑客并不一定就是最好的高手,黑客只不过是形容那些不以正当途径达到目的的非法人员,还有一种高手大家确并不太熟悉,那就是被称之为红客的一些高手,这些高手是为了维护正义而存在的,他们通常是以破解病毒,修补漏洞为目的的人员,所以只要肯学一定会成功的。
想学IT,有什么好的学校吗?
1、北京大学学院学科建设覆盖计算机科学与技术、电子科学与技术、信息与通信工程、软件工程4个一级学科,其中计算机科学与技术、电子科学与技术为国家重点一级学科,计算机软件与理论、计算机应用技术、物理电子学、微电子学与固体电子学、通信与信息系统为国家重点二级学科。按2013年度 US News的评价体系,北京大学“电子工程”学科排名第36位,“计算机科学”学科排名第35位;按ESI的评价体系,北京大学的“计算机科学”、“工程”学科均进入全球研究机构的1%。2015年QS全球大学学科排名,在计算机科学与信息系统学科中,北京大学名列第36位,为中国大陆高校之首。2、国防科技大学国防科技大学计算机学院起步于1958年,1966年成立全国第一个电子计算机系,1971年扩建成计算机系兼研究所,1999年成立计算机学院。学院下设计算机科学与技术系、网络工程系、计算机研究所、软件研究所、微电子与微处理器研究所、网络与信息安全研究所、并行与分布处理国家重点实验室和银河计算机工厂。3、清华大学清华大学计算机科学与技术系(以下简称计算机系)成立于1958年。经过60多年的不懈努力,已发展成为我国计算机学科领域内教学、科研综合实力强,影响力大的计算机系,在中国计算机事业的发展乃至国民经济建设中发挥着重要的作用。1996年,计算机系在由国务院学位办公室主持的全国计算机学科评估中排名第一,在国内首批获得按一级学科招收和培养研究生的资格;2002年在全国学位与研究生教育发展中心开展的一级学科整体水平评估中,计算机系在总共4个分项指标中,3项(学术队伍、人才培养、学术声誉)在全国排名第一。2006年、2012年在全国学位与研究生教育发展中心开展的一级学科整体水平评估中,以总分满分100分的成绩排名第一,2017年,计算机科学与技术学科在全国一级学科评估中,获得A+。4、浙江大学浙江大学计算机科学与技术学院成立于1978年,始终秉承“人为本,和为贵,变则通”的文化理念,坚持以培养求是创新、与时俱进的具有国际视野的顶尖计算机人才为使命。先后培养出了以中国科学院院士吴朝晖和中国工程院院士潘云鹤、陈左宁、陈纯为代表的一大批优秀人才。学院下设5个系、4个研究所、3个中心,拥有计算机辅助设计与图形学(CAD&CG)国家重点实验室、国家列车智能化工程技术研究中心2个国家重点实验室(工程技术研究中心),以及视觉感知教育部-微软重点实验室、计算机辅助产品创新设计教育部工程研究中心等10个省部级重点实验室、工程技术研究中心。学院学科建设覆盖计算机科学与技术、软件工程、网络空间安全、设计学4个国家一级学科以及与一级学科体量相当的人工智能交叉学科。其中,“计算机科学与技术”、“软件工程”双双获评国家“A+”学科并进入“双一流”学科建设。据《基本科学指标》数据库(ESI)2019年11月数据统计,计算机学科ESI学科排名世界前1‰,列全球第22位。USNEWS计算机学科排名全球第九。5、电子科技大学学院现有计算机科学与技术一级学科博士学位授予权和博士后流动站;具有计算机应用技术、计算机系统结构、计算机软件与理论和信息安全四个二级学科博士学位授予权;计算机科学与技术和信息安全两个本科专业。学院设有计算机科学与软件系、计算机工程与技术系、信息安全系三个系,现有国家级计算机实验教学示范中心、IBM主机系统教育中心(成都)和四川省软件测评中心等三个实验中心,信息产业部虚拟现实技术重点实验室、四川省新型计算机应用技术实验室等五个省部级重点实验室。以上内容参考:北京大学信息科学技术学院——学校简介以上内容参考:百度百科——国防科技大学计算机学院以上内容参考:清华大学计算机科学与技术系——学校简介以上内容参考:浙江大学计算机科学与技术学院——学院简介以上内容参考:百度百科——电子科技大学计算机科学与工程学院
想转行学it,能自学吗?还是去培训机构更好?
转行学IT,自学是有难度的,对于所需课程及掌握深度容易把握不到位;报班学习较为高效,一般4-6个月学习周期。计算机行业发展迅速,程序员年薪动辄几十万,上百万,而且人人都离不开电脑、手机,各种软件、APP开发,设计都需要大量人才。只要用心地学好技术,是可以实现更好的就业的,所以肯定是可以转行的。不过要转行的话,还是需要提前做好一些准备的:①心理准备一旦开始学习,那就是开弓没有回头箭,一定要坚持下去,所以一定要做好心理准备,确定好自己有能够坚持下去的动力,这样才可以学得更好。②了解方向IT行业目前的岗位还是非常多的,比如开发岗、设计岗、大数据岗位等等,你要先结合自己的兴趣爱好和市场的情况,来选定自己想要学习的方向,然后再好好的努力。③了解学习方式学习IT的方式,无非就是自学和机构学,各有优缺点。自学的话,要先规划好自己要学哪些知识,从哪里入手,有困难如何解决。机构学的话,就要选一个靠谱的机构。互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。祝你学有所成,望采纳。
零基础转行IT行业,自学好还是培训好
目前软件开发行业的工作很好找,就业前景很好,所以零基础转行学IT软件技术的人也比较多,那到底是培训好呢还是自学好呢?当然想自学,需要自身的毅力好,因为编程是自成体系的一个模块,学一点皮毛压根就没办法去工作,所以靠自学就能学通的人真的很厉害!对于小白来说花钱去上培训班的,有老师带领,会更好。而且培训机构是和就业挂钩的,老师会根据企业对于人才的需求筛选知识点,确保学员学到专业的技能。不过每个人有适合自己的学习方式,因人而异,自学和培训各有各的优劣势。考虑你想要学习IT技术的目的是什么,只是作为一个兴趣爱好,还是想进入IT行业发展。一、自学:①考虑下自己的学习理解能力如何?自律性高吗?优势是金钱成本较低,能够按照自己设定的学习计划进行学习,时间安排也比较自由;②不足的地方也很明显,自学消耗的时间较长,一般都是空闲之余利用碎片化的时间来进行学习;缺乏实践项目经验。③自学需要强大的自制力,遇到困难很容易导致半途而废。二、线下培训:①学习时间相对较短,整体学习比较全面,学习内容也比较集中。专业老师按照大纲进行系统授课,在学习中遇到技术问题能够快速得到解决,同时还有专项的练习。②相对于自学,学习气氛更加浓厚,跟同期学员对问题的探讨,对拓展思路有很大的帮助。并且像一些专业的培训机构,培训完后有相应的就业课程和就业指导,比起自学来说求职胜算更大。③劣势:培训是需要金钱成本,还要加上学习期间的生活费,学习成本比较高。对零基础转化IT行业的人,还是培训吧,零基础对于自学行业来说有点难,IT行业不像其他的专业只要你记只要你背就可以的,IT行业操作性很强,有些东西你看着很简单,但是做起来就不容易了,理论上你明白了,操作起来就是不行!有些东西不是只要你认真学习就可以的,还是需要有经验的老师指导的。
想自学it,该怎么学?
想要自学it,得明白以下几点
1. 应该选择什么编程语言
可能困扰编程新手最多的一个问题是【我应该学什么编程语言】或者【我需要学习哪些课程才能做出一个web、一个app】,很多人一直纠结这个问题,陷入了东学一点、西看一点的死循环,到头来啥也没学好,这会很浪费时间。
刚上大一的时候,我也很想知道应该选择什么编程语言。我问了很多人,网上各种查资料,但所能得到的答案都很片面,多数对这个问题答非所问,总是回答说“某某编程语言难”,“某某编程语言性能好”。其实作为初学者,我们对计算机体系都不了解,就不要过多地去纠结性能,或者难易等因素,原因我等下再说。
如果你有明确的方向,那么很好选择。如果你想做算法、机器学习方向,那么python是最好的选择。如果你想做web开发,java、php等都可以。如果想做一些更底层的工作,那么就可以选c。当然这是建立在你有明确方向的基础上。可是,很多人都没怎么接触过计算机行业,特别是和我一样刚入学就被调剂到计算机专业的人。对这些同学来说,各个编程语言就只是个名字,除了叫法不一样,你根本不知道它们有什么差别。所以索性不要纠结了,我替你选一个吧。
如果你是在校大学生,那么你有大把连续的时间,就先学习c,然后再学c++。我个人是学c入门的,也许很多人不理解我为什么推荐学c,因为c和c++都很难、很复杂,看起来并不适合入门。然而正是它们的难和复杂才能让你更好地理解计算机系统【计算机系统不是指操作系统】。学习编程不是学习编程语言,而是学习一个计算机生态,即一个庞大的知识体系。只会编程语言而不理解整个计算机的体系,就像只会写字而写不出好文章。了解c/c++和了解计算机系统是极为贴合的,向下可以帮助你更容易地理解操作系统、编译原理、计算机网络、计算机组成原理,为什么呢?因为较为底层的东西很多都是用c实现的,和系统的贴合度极高,很多教材源码甚至教程,在讲述这些知识的时候都是用c或c++作为媒介。而向上,c++面向对象的机制,也可以做出一些应用,譬如五子棋游戏等,也不会显得那么枯燥。花个小半年时间了解c和c++,之后你就会觉得看书、看资料可以轻松很多。
如果你是一个上班族,但是刚刚学习编程,可能学c和c++对你来说有些复杂和困难,因为学习它们确实是很需要时间。你们不像在校生那样有大把的连续时间,而零碎的时间去学习一个比较复杂的东西效果不见得有那么好,所以可以先学一些【更容易见效】的编程语言,从python入手吧,至少能快速做出一些小应用,不至于丢失了兴趣,但是真的要入门编程又还得看看与计算机系统相关的书籍,这样才能更深层次地去编程,譬如【深入理解计算机系统】这一本书可以读很多遍,这本书把整个计算机系统给串起来了。
2.学习编程,我需要学习哪些课程?
我要学哪些课程?我为什么要学习如高数、离散数学、线性代数、概率论等课程?
这个问题也是之前困扰了我很久的问题。不过我现在想通了,对于【高数、离散、线性代数、概率论】等课程,很好解释,做算法的同学肯定知道为啥要学习这些课程。机器学习中会大量用到上述提到的课程,所以会比较好理解。对在校生而言,学校开设的很多课程我们不知道为什么要学,我们很疑惑,不知道学它有什么用,这个时候我们就会很纠结,还会产生抵触情绪。这很正常,因为我们学习得不够深入,自然不能理解它们的用处。
在我看来,大学本科课程更多的是面向“面”的教学,即什么课程都教给你一些,但是又讲得不那么深入;而工作或者读研,更多的则是面向“点”的学习,用到的知识更专。本科时,学校也不知道你以后是去搞算法、还是搞架构、还是搞服务器开发,甚至去搞硬件,所以学校需要你学很多课程,至少有个了解。对学生来说,一方面可以从中选择自己感兴趣的点;一方面也可以对未来的就业方向有些启发。所以即使像数电、模电等课程,虽然之后可能用不着,但是你也要学,并且会花费大量的时间。虽然你最后不一定去搞硬件,但是这些课程也会让你更容易去理解一些知识,比如cpu中的逻辑器件。
如果你在大一的时候就有一个明确的定位,知道自己今后想从事哪方面的工作,课程与课程之间是可以调一下优先级的。不过像大学物理,这种课程确实是对编程没有帮助,但是像我前面所说的,大学教育更注重广度,大物等课程可能就是为了给你普及生活常识吧。
其实,大学教育的问题是普遍存在的,我认为我们学习一项技能的时候,应该采取的是项目驱动式学习,即需要用到什么东西时不会了再去学,而不是先填鸭式的都填进脑子,并且在学习的过程中我们还不知道它这是干嘛用的,等之后用到了,甚至不记得自己学过,反而查资料才会想起:哦,原来我之前学的xx科目是这个用处啊,可是我当时并没有好好学。很多时候学生时间的浪费可能还是要怪老师、怪学校,他们一开始没给我们做好充分的课程介绍。所以,在经过比较多的编程和项目实践后,我认为一个比较好的学习方式是,改良版的项目驱动学习法。即:
学习一段时间,做个小项目,将做项目遇到的问题记下来,针对性地学习相关知识,然后再实践,再学一段时间理论,让知识成网状发射状地变大。当然,项目驱动式学习有一个弊端,就是每次学习的知识都是项目所需要的,很零碎、不成体系,所以需要改良,即在采取项目驱动学习法的时候每天抽一段时间去完整地读一本书,或者一个相关问题的完整介绍,这样就很容易把一些知识成体系地串起来。这样一段时间下来,慢慢的,你就知道我们为什么要学那么多科目,学这些科目能干什么。
谈到数据获取,可能最容易想到的是爬虫,爬虫是一个在知乎上被说烂了的话题,所以我不想多说它是什么。很多时候有人觉得爬虫简单,为什么呢,因为有现成的框架,所以获取少量的数据就比较容易。但是当你需要爬取的数据很大的时候(比如我之前抓取了知乎500万用户的数据,在下班的时间、用自己家里普通的pc,计算机性能并不是那么好,比不上服务器,又要在不被封IP的情况下抓到这么大量的数据,然后对数据进行清洗,最后还要可视化展示),使用现成的爬虫框架就并不是那么容易实现了。况且,我需要抓很多数据源,并不是一锤子买卖。所以我选择去开发一个系统,即在现有的框架下进行二次开发,搭建一个属于自己的爬虫系统,并植入一些算法。我在系统中添加了很多中间件,直到现在,它还可以在10分钟内就部署一个能抓取大量数据的爬虫应用。