想自学it,该怎么学?
发布网友
发布时间:2022-03-27 16:00
我来回答
共15个回答
热心网友
时间:2022-03-27 17:30
想要自学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分钟内就部署一个能抓取大量数据的爬虫应用。
热心网友
时间:2022-03-27 18:48
现在的社会是一个信息高度集中和发达的社会,我们日常生活已经和信息高度融合到一起了,但是如果去做一个懂点技术的IT就得下点功夫了。
首先你懂点IT技术可以使你在公司闪亮一把,可以让自己自信心实足,毕竟别人不会的东西你都会,也会让你的老板高看你一把,既然IT有这么多好处,那我们该如何自学呢?
其实这个要解决这个问题也很简单,第一步:你需要有一个能上网的电脑,当然笔记本电脑最好,安装好Windows系统,这里我们说自学IT已微软的系统为主,因为微软的系统垄断了目前90%的市场,当然还有苹果系统和Linux这些我就不做介绍了;第二步:你需要学会怎么上网,这个问题目前来说已经基本解决了吧,也不做深入探讨,既然会上网那就要学会用搜索引擎,百度是目前市场占有率最大的搜索引擎,“有事没事问百度”,所以要学会去百度搜索和IT相关的视频和文字,鄙人推荐先看视频,这个毕竟很直观。第三步:那就是边学边用自己的笔记本电脑练习,比如怎么安装打印机(前提找个打印机),怎么共享,怎么用办公软件Office等。
那就先开始自学吧,祝你们成功!
热心网友
时间:2022-03-27 20:22
先购买相关的书籍进行IT基础知识的学习,了解一定的知识,再然后在一些网站上在进行下阶段的学习,而这方面的学习在网上有很多,并且能提供较为系统的学习,还能观看一些小程序的制作视频。
热心网友
时间:2022-03-27 22:14
现在的社会是一个信息高度集中和发达的社会,我们日常生活已经和信息高度融合到一起了,但是如果去做一个懂点技术的IT就得下点功夫了。
热心网友
时间:2022-03-28 00:22
建议去买一套系统的网课,或者报个靠谱的培训班,看书学进度比较慢
热心网友
时间:2022-03-28 02:46
网上看视频呗,现在好多免费的视频可以找到,但是自学难度大哦。像我自律性就不行,找个学校比较靠谱
热心网友
时间:2022-03-28 05:28
互联网时代下肯定学习互联网技术啊。没学历不要紧,重点是要有学习的信心,现在这社会没有技术是很难立足的。
热心网友
时间:2022-03-28 08:26
如果是从兴趣出发,只是单纯的对IT这方面感兴趣学习的是可以自学的。
但是如果是为了找工作建议还是系统的学习一下~
热心网友
时间:2022-03-28 11:40
可以找一个靠谱的培训机构买一些网课自学,如果自学吃力可以找培训机构学习。
热心网友
时间:2022-03-28 15:12
学习IT技术要从以you下几个方面入手:jiu
1.多看书
看书不是一扫而过,
编程需要大ye量实践, 练习也得慢慢过, 别人看技术书快,是因为人家都是科班出身,或者从业很多年。你是从零学,
只能恶补基础,恶补基础的意思是, 你得像科班一样花费大量时间, 而不是跟看小说一样速战速决,那样没用的。人家给你推荐的CSAPP那些书,
对于科班的人当课外书看还得看个1个月, 你如果跟着学,每本书都至少半年。
2.多逛IT相关的论坛和社区
有些技术是靠经验堆积的,比如整个框架的设计,设计模式的运用。我倒觉得这个能力只要你平时留心,掌握它们只是个时间的问题。
而有些技术,是要去实打实钻研的,不看透几本英文原版书,不逛遍几个论坛,你永远不能明白。越是难的东西,越能拉开你跟别人的距离。
3.多看大V的文章
大V都是过来人,很多你没听说过的问题或者不能解决的难题,他们可能早就遇到过了。现在人人手机不离手,不过有的人是用来学习,有的人却是用来打游戏或者刷剧!
4.多上课或者多进社群:
现在网上的课有很多很多关于IT技术的,只要你想学,总是会找到相关的课程来学习的。关键就在于你是怎么想的,仅仅是为了业余爱好学习还是为了找一份工作。在社群中除了能学习一些知识以外,还可以跟一些志同道合的朋友相互交流。
以上这些经验足以让你入门,如果想系统的学习,是需要专门去学习的!
热心网友
时间:2022-03-28 19:00
建议选择合适的机构,系统的学习。
热心网友
时间:2022-03-28 23:04
自学肯定是可以的,但是还是要看你学习的初衷是什么吧,如果是个人兴趣,只想业余学习一下,自学是不错的选择,但是如果是想从事这一块的工作,之后往这一块发展的话,去机构学习还是很有帮助的,而且如果是零基础的话,不建议自学,因为自学需要很好的自制力,学习理解能力等等,很多自学的时间战线会拉很长,而且一些小问题都容易卡住,找不到解决方法,影响学习进度,从而很多最后半途而废放弃学习。在机构的话,学习比较系统,还有专门的老师授课和解决问题,而且一群同学一起学习,学习氛围和环境都是很不错的。
但是如果在机构学习的话,要注意机构的选择很重要的,主要看授课方式,师资,服务和就业,最好能自己亲自上门看看 ,感受一下学习环境和氛围。
热心网友
时间:2022-03-29 03:26
1 首先,你这个IT的定义实在是有点广哦。IT里有编程类,测试、设计、营销、游戏开发、云计算等等。要先找到适合自己的才可以。
2 自学可以去一些网站找点免费视频先看看。
热心网友
时间:2022-03-29 08:04
先说我个人观点,自学太看基础和天赋了,甚至我觉得直播课都差点意思啊,最近也一直听直播课,感觉勉强能听但是感觉不如线下课来的直接啊,有问题还能随时提,中公都有IT培训了,这两天中公那个免费直播课我也是刚知道。。。有啥其他好推荐交流一下啊
热心网友
时间:2022-03-29 12:58
购买相关的书籍进行IT基础知识的学习,了解一定的知识,然后自己实践