Ⅰ 想自学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分钟内就部署一个能抓取大量数据的爬虫应用。
Ⅱ 想自学it,该怎么学
只要找到合适自己的学习方式成功转行IT是不难的。
一、首先确定目标,清楚了解IT行业,确定自己今后的发展方向。可以在网上查资料,或者找一家专业的培训机构的咨询老师帮你做一个职业规划。
二、确定适合自己的学习方式,常见学习方式就两种:自学和培训。
自学这条路对于大多零基础转行的人是不合适的。自我评估一下学习能力如何。自控力强吗。遇到问题时的解决能力够吗。并且自学缺乏项目实战经验,这点也是很重要的。
如果做不到这几点,又想提升技能顺利转行的话。建议找个靠谱的培训机构,跟着老师系统性的学习。零基础也不用担心。在蜗牛学苑历届线下学员中,有大部分都是零基础或者非本专业转行过来的。所以我们的课程安排从基础理论知识、实战练习、进阶项目、综合项目分阶段循序渐进,科学完善,系统全面。最重要的是,蜗牛学院有自己一套完整的就业流程,保证你在学好的基础上,有更好更快的就业去向。
好的机构能带你快速入行,给你技术开智,加上你的努力,那最后找到一份高薪的工作就是水到渠成的事啦。
Ⅲ 如何可以学好it技术
首先,IT技术目前已经形成了一个庞大的技术体系,涉及到计算机硬件研发、软件编程、网络通信、大数据、嵌入式、人工智能等诸多领域,而且IT技术自身的迭代速度也比较快,所以对于初学者来说,要想学习IT技术应该有一个系统的规划。
初学者要学习IT技术,应该首先考虑自身的知识结构、能力特点和兴趣爱好,在条件允许的情况下,选择一个计算机方面的职业教育是不错的选择,而对于基础知识比较扎实的本科毕业生来说,未来要想从事IT行业,选择读研也是一个不错的学习路线。
对于一部分想通过自学的方式来学习IT技术的人来说,可以从编程语言开始学起。学习编程语言有三方面好处,其一是编程语言相对比较好学习,入门比较容易;其二是编程语言的实验环境简单,有一台电脑就可以了;其三是编程技术是打开IT技术的大门,不论未来要往大数据方向、物联网方向还是人工智能方向发展,编程语言都是重要的基础。
学习编程语言的初期尽量选择一门全场景编程语言,比如Java、Python和C#就是比较流行的全场景编程语言。从学习难度和未来发展前景两方面来看,当前选择学习Python是不错的选择,一方面Python比较简单易学,大部分人完全可以通过自学来掌握,另一方面Python未来在大数据和人工智能领域有广阔的应用空间。
Ⅳ 想学it技术从哪里开始呢 零基础怎么学IT
从当前IT行业的技术体系结构和发展趋势来看,Python语言的发展潜力还是比较大的,而且Python语言简单易学,即使没有任何计算机知识基础的人,也能够通过自学来掌握。学习Python语言可以从三方面入手,学习基本的Python语法、学习云计算知识和实践应用。语言都是工具,选工具前你要明确自己做什么东西,然后找什么语言适合做。例如后端编程学Java、Python,做前端应用学HTML5、UI。选好语言不要纠结版本问题。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,是一家性价比极高的教育机构。
其实it的行业非常广泛,并不是只有计算机编程,只有c语言,大数据,java,PHP等编程语言还有很多和计算机编程代码关系不大的,如果你是理科生,如果大学专业是计算机就更好了,建议可以学习计算机编程,如果你是文科生,很有创意,你可以学习web前端/UI设计等,设计师也是不错的出路。千锋教育是一家拥有核心教研能力,以坚持面授的泛IT职业教育培训为根基,截止目前已在北京、深圳、上海、广州、郑州、大连等20余个核心城市建立直营校区,培育了众多IT行业的人才。
Ⅳ 从零开始学IT,怎么学
只要找到合适自己的学习方式成功转行IT是不难的。
一、首先确定目标,清楚了解IT行业,确定自己今后的发展方向。可以在网上查资料,或者找一家专业的培训机构的咨询老师帮你做一个职业规划。
二、确定适合自己的学习方式,常见学习方式就两种:自学和培训。
自学这条路对于大多零基础转行的人是不合适的。自我评估一下学习能力如何。自控力强吗。遇到问题时的解决能力够吗。并且自学缺乏项目实战经验,这点也是很重要的。
如果做不到这几点,又想提升技能顺利转行的话。建议找个靠谱的培训机构,跟着老师系统性的学习。零基础也不用担心。在蜗牛学苑历届线下学员中,有大部分都是零基础或者非本专业转行过来的。所以我们的课程安排从基础理论知识、实战练习、进阶项目、综合项目分阶段循序渐进,科学完善,系统全面。最重要的是,蜗牛学院有自己一套完整的就业流程,保证你在学好的基础上,有更好更快的就业去向。
好的机构能带你快速入行,给你技术开智,加上你的努力,那最后找到一份高薪的工作就是水到渠成的事啦。
Ⅵ 如何零基础自学计算机
自学计算机的话首先需要你了解怎么开机关机存储文件这些最基本的计算机操作。打好基础,学计算机为了就业需求的话有两个发展方向:计算机服务岗、计算机研发岗。
研发岗,如果你的目标是学成后高薪就业,那么就一定要打好基础,把专业知识学扎实,想去应聘互联网公司或者传统软件公司的高薪软件工程师的岗位,那么这条模拟科班的路线要走好。
1,通读《大学计算机》教材,简单了解即可;
2,先接触一门计算机编程语言;
3,系统学习编程开发课程;
4,学好一门面对对象的语言;
5,确定学习的方向了,比如
Java+OS+计算机网络→Android方向
C→obj-c+OS+计算机网络→iOS开发
Java→JavaEE方向
OS+计算机网络+C/Python→运维方向
JavaScript+HTML/CSS+计算机网络→前端开发
数据结构与算法+C/C++→初级算法工程师
编程方向的课程学起来还是有难度的,建议还是找专业的计算机培训机构系统学。其实即使是其它专业方向,自学的方式都是有一定难度的,对于所需学习课程的类别顺序及深度都难以把握。
想要系统学习,你可以考察对比一下开设有IT专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,建议实地考察对比一下。
祝你学有所成,望采纳。
Ⅶ 如何自学编程
自学编程对很多萌新来说是一件很难的事,但我们应该要克服这个困难。毕竟学习从来都不是一马平川的坦途,等着别人来教,那就意味着自己会永远被限制在一个小圈子里。
关于如何自学编程,我们首先要有一个明确的目标。很多萌新在初学编程的时候都喜欢想东想西,看到黑客很酷就想学渗透搞信息安全,看到别人做的 游戏 很炫,就想去学 游戏 开发。殊不知,学习一道,最忌三心二意。在初学之时,我们一定要明确自己的目标,然后朝着它前进。东搞一下,西搞一下,到头注定是竹篮打水一场空。
明确好自己的目标后,就要对自己所选择的方向做一个大概了解。如常用开发语言、主流技术这些。再对自己的学习路线进行合理的规划,为什么要制定一个学习路线规划了?一是能让你对未来的学习有一个明确的大概认知,脑袋里面想的始终不如落实到的纸面上;二是能在学习之初给你带来一定的信心提升,而且每实现一个目标都能给自己带来一定成就感和更多的信心,以此来提高继续学习的动力,避免学着学着就不想学了的情况;三是起到一个督促作用,计划既然已经做出来了,那就要去落实,没落实的话一般人心理或多或少都会想着这个事,心里空落落的以此逼迫自己去学习。
讲完了做计划的用处,再来讲讲做计划时常入的误区。很多萌新总是计划的很好,排的满满的,想的很多很好,却忽略了实际情况,以至于执行总是不能到位,挫败感不断积多导致放弃学习。所以我们一定要注意,在制定学习计划的时候一定要考虑自身因素,如自己的学习能力、自己的管控能力等。其次是对于做计划这件事,我们最好是自己来做,别人的计划顶多只能用来参考,直接生搬硬套很容易导致不符合自身的情况出现。每个人都有每个人的学习方法与方式,可借鉴可参考,一味死磕注定路会越走越窄。从自身出发,去寻找最根本的解决。
在制定计划的时候我们可以搭配一些脑图工具来让计划更快的制定好且条理清晰,如笔者想要学习Web前端,就先了解Web前端的基础知识是哪些,进行记录并安排好学习顺序。后期的进阶知识,项目实践都可以用上面的方法实现。
这个部分是让大家对自己的学习路线进行梳理并简单了解自己所要学习的知识,破除对学习的恐惧和迷茫。
制作脑图的工具大家可以自行选择,常用的如XMind、幕布、网络脑图、ZhiMap等(排名不分先后顺序,选择自己用的顺手的即可。网络脑图、ZhiMap为在线脑图工具)。
定完了计划,做好了脑图,就到了执行的时候了,我们在这一步可以使用番茄钟类的工具来进行提高己身执行力,如番茄ToDo、番茄薯仔等。在这里我们需要注意的是,工具终究只是外物,是外力是靠不住的,过分依赖外力的后果就是被外力所束缚;工具所起的作用只是辅助和提醒,关键还是要靠我们自己去执行。学习一事是自己的事,是于自己有益的事,我们如果有拖延症、懒癌那我们一定要克服它们,在心里在脑海中反复提醒自己不要被拖延和懒惰吞噬,不要被一时的欢娱而引诱,自律很痛苦,但没有自律的人生会更痛苦。
学习过程中,切忌好高骛远,学着眼前的,想着后面的,更不可一口气吃成个胖子,学习一道还是要一步一个脚印为好,当前所学最好是要融会贯通,不济也得要明白学的是个什么东西,一味追求效率岂不落了下乘?万丈高楼平地起,基石是重中之重。
遇到问题,我们不要直接去问别人。一定要自己先思考而后实践,阅资料翻看文档,寻求自己的解决方法,万般未果之后再去寻求他人的帮助。在获取到他人帮助时,我们也不要一味接受,可以将他人的方法与自己先前思考实践所得来的成果进行互相印证,寻找自己错在哪,还有哪些不足。吃了一堑,那就要长一智,不要为了解决问题而去解决问题。
我们生在了一个很好的时代,这个时代有互联网,使得我们获取知识相对再简单了很多。在互联网上获取各种资源我们必不可少的要用到搜索引擎,最常见的是网络搜索,但做为学计算机的我们还应该知道"传说"中的Google搜索,小众的必应搜索和秘迹搜索。为什么要知道这些了?首先我们要明白,网络搜索虽然本土化做的相对较好,但有时候并不是那么靠的住,这个时候就需要其它搜索引擎上场了,如果你在网络搜索上没有找到自己想要的答案和资源,何不试试其它搜索引擎了?
了解完搜索引擎我们再来了解一些比较常用的学习资源获取网站和平台。首先我们要提到CSDN(Chinese Software Developer Network)中国专业IT社区,也是中国最大的IT社区,有着非常多(混杂)的学习资源,是萌新学习时必会接触到的一个社区网站。
其后是博客园,作为开发者的知识分享社区和纯净技术交流社区,博客园相比CSDN"简陋"了许多,但相应的也简洁不少,也有着不少的开发者进行经验和资源分享。
上面提到的都是社区类型的网站,但我们的学习光靠社区还是不够的。社区虽然资源多,但大多不够系统和优质,萌新学习起来很容易懵圈,而且萌新阶段学习过程中必不可少要接触一些文字教程和视频教程,这时候就要轮到那些专门做相关方面的网站显身手了。
文字教程,可以去菜鸟教程上面寻找,菜鸟教程上的文字教程相对来说全面。萌新前期学习的知识基本都能找到。如果菜鸟教程上的资源不够满意,还可以去自己想学习的技术社区寻找,基本上一门技术和编程语言都有自己相应的社区。再以Web前端为例,学习Web前端,就可以去W3School教程(全球最大的中文 Web 技术教程)上寻找学习资源。当然,除了上述的寻找方法我们还可以依靠搜索引擎和自己上电商网站购买书籍来获取文字教程和资料。
视频教程资源的获取就要比文字教程资源的获取要多很多了。国内的诸如中国大学慕课、慕课网、优达学城、网易云课堂、网易公开课、腾讯课堂等一些列视频教程网站(中间有些是付费课程,个人按需选择并分辨即可)。
拥有了学习资源,我们在自学过程中难免会遇到一些自己甚至身边的同学朋友及老师也解决不了的问题,这个时候我们除了可以去社区发帖提问还可以去专门的问答平台提问,国外有个叫StackOverFlow的网站就是一个IT技术问答网站,不过它要转比较久的圈圈才能打开,而且使用体验对萌新来说可能并不是很好。我们可以去SegmentFault(思否,以StackOverFlow为原型的技术问答网站)看看,说不定就会有令我们满意的答案。
对于一些学习能力比较强的同学来说,除了在学习之余做些小项目之外难免想要自己动 手参与到真正的项目中去,那可以去Github上找一找有没有适合自己的项目。作为世界最大的开源中心及有软件项目托管平台,上面一定会有你的"真爱"。
文末,附上一些未介绍的网站,有兴趣的同学可以自己去发掘一下。
V2EX、掘金——社区类
InfoQ——知识拓展
程序员的工具箱——在线工具箱
Office-converter——在线文件转换器
FirefoxSend——在线临时网盘
Bigjpg——AI人工智能图片无损放大
宜配屋——国内外公开课下载
IT eBooks——电子书下载
牛客网——刷题
codingground——在线使用的免费 IDE 和终端工具
Speedtest测速网——在线网速测试
道阻且长,仍需努力。纵有疾风起,人生不言弃。
Ⅷ 如何自学IT
1、系统性地学
碎片化信息时代,知识往往以细碎的形式呈现,而这种边角料无法帮你构建起知识体系。就像建房子,你东一块西一块地捡一堆砖,是根本搭不起房子来的。学Java也是如此,一开始就得搞清楚整个技术体系,明确具体的学习目标,然后才开始分阶段一步步学。
毕竟人的精力有限,知识却是无穷尽的。如果脱离体系“散学”,费时费力不说,还可能啥都学不好。
2、实践性地学
很多同学还是保持在学校时的习惯,拼命看书看理论,就是不愿意动手,妄想把理论学透之后就能后顾无忧。其实当你真正学的时候就会发现,实操比逻辑能力更重要。成为大牛的必经之路是夜以继日地敲代码,而不是只停留在理论和逻辑思维上。
代码多敲几遍,其义自见。
3、自觉性地学
学习是场持久战,重在行动贵在坚持,短时间的突击是没有多大效果的。能否自学成功,很大程度上取决你能否坚持学下来。自学前,扪心自问下:我能在接下来的至少半年时间里,每天坚持学习6个小时以上吗?
如果不能,并且很确定自己没有这个自控力,那就果断打消自学的念头。<自学半个月,从入门到放弃> or <自学小半年,从入门到大牛>,选择权在你手上。