---------------------------------------------------------------------------------------------------------------------------
零基础扫盲课:
计算机科学速成课(扫盲课):http://www.bilibili.com/video/av21376839?p=1&share_medium=android&share_source=copy_link&bbid=XY7E88A79EC619D70EF9C6178548CA18C2D49&ts=1553011775645
简介:这个视频会以自下而上的方式,给你介绍整体计算机行业的各项知识,这样初学者对整个计算机的概貌就能有一个全面的了解,会知道自己现在所学的知识处在计算机知识体系的哪一层,视频讲的非常好,推荐刚刚入门的学习好好看看。如果有一定的基础,看起来会格外通畅。
---------------------------------------------------------------------------------------------------------------------------
链接:https://pan.baidu.com/s/1tgxtD28fAsbLg7ma1UxfUA
提取码:awaw (有效)
---------------------------------------------------------------------------------------------------------------------------
带我入门的鱼C论坛:http://bbs.fishc.com/forum.php
---------------------------------------------------------------------------------------------------------------------------
首先,本人也是一个菜鸟,目前依然还在学习,当初在我开始自学C语言的时候,走过了好多弯路,如果你看到这篇文章,希望你不要走我走过的弯路,这也是我写这篇文章的目的,我也不想像老头子一样叨叨叨,哪些要做,哪些不要做,好像自己很牛逼一样。我只是把自己觉得是坑,是弯路的地方,结合自己的看法,复述给你听,希望你有自己的理解。
1. 不停的换教程,我总觉得自己正在学的教程没有把我给讲懂,就认为这教程不行,后来慢慢的深入了之后才发现,教程大体上都是差不多的,并不是教程讲的不好,而是本来应该自己花时间去思考的东西,认为应该是由老师来讲的,所以即使再好的教程,我也觉得不怎么样(当然也有很差的教程,就是特别啰嗦的,说半天说不到点子上的,这种视频就不要看了!)。还有书,入门的书我买了好几本,到最后真正看的只有一本,就是谭浩强的那本。虽然这本评价不是很高,但是确实是这本书带我入门的。我当初的入门书是谭浩强的《C语言程序设计》第四版,指针部分讲的通俗易懂,非常形象。教程是小甲鱼的,叫做《带你学C带你飞》。当初自己就应该完整学完一本书和一套教程,你在学习的不同阶段,对知识和体系的理解是不一样的,这也是为什么在计算机学习中,囫囵吞枣是一个褒义词了。换了那么多书和教程,实在是浪费时间,现在想想,挺后悔的。
2. 下载各式各样的教程,我看见名字牛哄哄的教程就会把它保存到百度云盘里,然后下载到电脑上,典型的教程收集狂,,我的电脑硬盘几乎是满的!我电脑里有800G左右的视频教程,每天看着这些个教程,就好像看着满大箱的金元宝,感觉自己好有钱,像 渗透测试,WEB安全,逆向破解看着就叫人热血沸腾,哪里还有兴趣学C语言,恨不得直接上 渗透测试。当然,这是不可能的,万丈高楼平地起,C语言都没学会,谈何这些呢?这些电脑里的教程,让我越来越浮躁!一天我不知哪里来的想法,把电脑里这个阶段没学到的“高深教程”全都给删除了,顿时感觉世界都清净了!专心学基础的,接下来的这段时间,我专心了不少,这些教程给了我莫大的学习计算机的动力,也耗费了不少精力,去胡思乱想,万丈高楼平地起,专注很重要!
3. 不动手,只用眼睛看,我刚开始学的时候,觉得教程讲的我都听得懂,干嘛还要敲一遍代码?然后到自己写作业的时候,就是各种出错,天花乱坠的错误!!!输入法错了啊,关键字打错了啊,少一个括号啊!崩溃!然后我再也不敢怠慢了,该自己敲一遍的代码,就自己好好打一遍。还是会出错,各式各样的错误,很蛋疼!过了两个星期左右,我就明显的感觉自己的错误变少,思路也更清晰了!到最后要学完的时候,有一个作业是做一个简易通讯录的程序,一百多行的代码,我敲完顺利编译运行!没有错误,如果我一直偷懒不动手,是不可能达到的。现在想想,编程也是一个不断试错的过程,一开始学的时候,是不断纠正自己的错误,因为开始的程序都是简单的。到后来,程序越来越复杂了,就是找程序的错误,如果自己的错误都没有解决,何谈后面解决程序的错误呢?
4.我这个人喜欢刨根问底,应该有很多才入门的朋友和我差不多,总想把东西彻底搞明白,再学下面的东西。这种习惯其实是非常好的,但是在学计算机方面的东西有点不现实,因为有些知识是要你有一定的基础之后才能理解的。当初我记得自己一直纠结常量和常变量有什么区别,问了老师。老师也没把我讲明白,后来学到内存自然而然的就懂了。所以我建议不懂的知识,先囫囵吞枣,先吃下去。最后回过头来就自然而然就消化了。
5. 一开始我听老师说,编程主要学的是其中的思想,听完自己感觉挺轻松,认为学思想,不就是听听课,没作业吗?所以没有吧课后作业当回事。过了几天,继续上课听老师讲,直接听不懂了。后来还是和一个学长交流,他说课后作业很重要,这是一个巩固的过程,将自己的知识用起来,这样就能更好的理解了,这也是一个反馈的过程。反馈非常重要,通过作业,写出一行行的代码,直到顺利运行,是一件很有成就感的事情,更能够激励自己去学习!学长讲的挺有道理的,我也听进去,按照他说的操作了,自己实践证明,写课后题确实是一个很好的巩固和反馈的方法!
自己当初就是不专注,眼高手低,懒,才浪费了那么多时间,现在想想其实也挺可贵的,毕竟是一段难忘的经历,但还是希望看到这篇文章的朋友,别走我走过的坑。
-------------------------------------------------------------------------------------------------------------------
太极创客讲的C++面向对象编程基础讲的非常好,结合Arduino开发实例,如果你学完了C,对C++面向对象编程有兴趣,不妨先看看他们的课,作为入门资料是非常不错的。
说实话学C语言其实挺枯燥的,学完了也不知道干啥。本身自己是学机械,所以对硬件特别感兴趣,所以经常做一些小制作,但是这些小制作都很没啥技术含量。我当时就想学单片机来着,于是就上网找学习路线,无意中就关注到Arduino,这是一款开源微控制器(看着像玩具,实际功能很强大)。淘宝上十几块就可以买到了一个入门的板子,当时挺感兴趣,就买了一块,而且它是C语言来开发的,并且集成了大量的库,我们可以用很少的代码实现我们想要的功能,总之非常好玩。如果你也喜欢小制作,我推荐你学完C语言可以玩一玩Arduino,相信你一定会喜欢的。
===========================================================================
更新:2019.07.26
博主本身是机械专业的学生,接触代码的时间不多,但是本身也非常喜欢计算机,因为这个东西实在是太神奇了,不是吗?好像是无所不能的。如果你看过了上面的计算机科学扫盲的视频,就会知道,计算机的内部全部都是精心设计的电路,通过一层一层的抽象,最终形成了程序这个东西。博主当时才开始学的时候,也听老师这么说过,但是自己的知识还不足以理解,当时应该才学到C语言,对底层的知识一概不知,因为这时候你的认知还局限在内存(对内存很浅显的理解)。
如果你想对底层的东西有一个比较清晰通畅的理解的话,还需要好好的学学汇编,学完汇编之后,你就会明白为什么指针那么重要了。这时候你的认知就跨在CPU与内存之间了。然后再看两本小书,这两本书是《程序是怎么跑起来的》,《计算机是怎么跑起来的》。这时候你的思维就活跃在整块主板之上了,如果再稍微有一点数电的知识,你就会彻底明白计算机到底怎么一回事(这个时候你会感到很通畅,当然还有很多东西还是不懂),这个时候从C语言往下的脉络就很清晰了,这个时候再往上深挖,像《数据结构》《操作系统》这些内容就可以学习了(可能还是要补一补《计算机组成原理》的知识),当然要学好还是要花很大功夫的,如果对底层结构非常感兴趣可以看一本非常牛逼的书,冬瓜哥写的《大话计算机》。
自己当初在才开始学的时候很迷茫,因为完全是自己摸索,所以有很多疑惑诸如一些:学编程要不要数学好,英语好等等(你只要会打字开机关机,就能学好编程)。
对于大多数人来说,编程是一个新的思考方式,所以一开始不适应很正常。从一开始懵逼到开窍需要一个过程,可能非常漫长(有些人两个月就开窍了,有的人半年,有的人一年,这个说不准),一旦开窍之后,进步就会非常快。度过这个过程最简单的方式就是动手敲代码和思考(花时间独立思考),时间一到,自然而然就开窍了,所以不要急。