计算机基础贯穿着我们整个计算机生涯,而对大学生来说,基础一方面是内功,一方面也是面试考察的重点。直观的来说,校招:计算机基础(90%)+专业知识(10%),社招:计算机基础(20%)+专业知识(80%)。你只要从事计算机相关工作,计算机基础都是必考的内容。知识内容这么多,肯定要有重点的去学习,所以我的建议是基础知识概念不太多,计算机网络、操作系统、组成原理、数据库、数据结构与算法这五门课都是重中之重,这些课网上资源也很多,所以今天就来帮大家说一下哪些基础课程资源能帮我们有效的学好计算机。
计算机组成原理
基本上《计组》的相关书籍都比较偏厚,很容易刚入门就入土。所以我个人推荐先看计算机组成科普视频,先对计算机组成原理有个感性认识,然后挑点页数很少的书开始入门。经过这两步后,后面再回去看那些经典的计组书就豁然开朗了。所以这里课程视频我会推荐B站的《计算机科学速成课》,这个课程是国外录制的,内容真的是好,视频的动画很精美,讲课的时候不会很死板,反正就是不看后悔,相见恨晚系列。看完前10个视频就可以开始看书了,《计算机是怎么样跑起来》和《程序是怎么跑起来的》这两本书很薄,而且图文并茂,作者都是用大白话的方式来阐述知识,相对于那种很厚晦涩难懂的大黑书,这点对初学者非常友好。如果不喜欢看字幕的话,推荐看哈工大刘宏伟老师的课,真正的简单易懂,直接把那些晦涩难懂的东西说明白了,组成原理虽然是计算机的一些底层知识,但是对于成为一个优秀的,想造轮子的程序员,底层知识是必点的技能。
操作系统
推荐南大蒋炎岩老师的课,把晦涩的东西讲的非常通俗易懂,豁然开朗,很多同学都是慕名而来,看完这个也算上过南大的操作系统了。如果想要学好操作系统,我觉得最好还是视频+经典教材一起看,这里推荐《深入理解计算机系统》和《现代操作系统》。老师的课程也是基于教材来讲的,先看视频,看不懂的地方再去翻教材查一下,这样学起来才能事半功倍。
计算机网络
计算机网络强烈推荐去看一下计算机网络微课堂,这个网课惊艳的地方在于老师的话没什么废话,基本都是知识要点,更重要的是他动图非常多,所以非常适合小白入门学习,不能再生动形象。计算机网络的经典教材给大家推荐:《计算机网络—自顶向下方法》这本书可以说是计算机网络领域的证书,这本书并不局限于某个具体的协议,而是从宏观的角度来看待计算机网络到底是什么,里面有一些专业名词,并且并掌握后,会对深入学习计算机网络非常有用,能从很多细节看出来,或者完全就是从入门学生的角度出发写的,就是想给你讲明白,想让你学会,没有多余的名词。
数据结构与算法
毫无疑问,数据结构对一名程序员来说非常重要,还是那句话,程序=数据结构+算法。这种说法无论放在什么时候都是成立的,课程推荐浙江大学陈悦老师的课,陈悦老师的课就有一个字:强!王卓老师基本上把大学数据结构期末考试的重点全部都讲了,内容和408高度吻合,非常的适合考研人。关于算法,与我接触的领域来说,大部分普通的业务系统中不会涉及到太复杂的算法,因此我没有在算法上投入过多时间。但如果你在一些特殊的领域,如果算法跟不上,可以说是“寸步难行”。所以学习算法要是情况而定,如果想走算法岗,那么《算法第4版》《算法导论》、《数学之美》、《编程读玑》、《剑指offer》这些书都要耐着性子啃一啃。
数据库
可以去看《数据库系统概论》这门课,中国人民大学开的,数据推荐《MYSQL必知必会》这本书。作为一个整天与代码打交道的程序员,最终都需要处理数据,因此数据库算是必备的技能之一。
这五门课程就是我理解的大学最重要的五门基础课程,学习的过程就好像登山一样,大概有80%的人在这个过程中会掉队,那么请相信我,只要目标明确,努力加上坚持,再加上一点点好运气,你就能登顶。