作为计算机专业的学生最应该学习的5门课程是什么呢?
下面我将根据校招面试大厂的经验来分享一下计算机专业最重要的5门课,分别是数据结构与算法、计算机组成原理、操作系统、计算机网络和数据库。
·一、数据结构与算法。数据结构与算法这一块是非常重要的,想要冲刺大厂的同学,如果这方面都不过关可能连笔试都过不去,更不用说后面的手撕算法了。这里我推荐浙江大学的算法与数据结构课程。该课程非常系统也很经典,适合小白入门算法b站上可以直接看,这一块其实也没什么技巧,自己多刷题多理解就好了。推荐两个刷题渠道leetcode和剑指offer。

·二、计算机组成原理。我建议小白不要一上来就看那些*皮书黑**,这些书是经典的没错,但正因为他们经典,所以知识体系也会很全,很多小白根本消化不了。入门先可以看看这本《程序是怎么跑起来的》,让初学者明白计算机组成原理这门课是学什么的,以及梳理主要的知识体系,后面再去深入计算机组成的时候就不会云里雾里。

对于想要深入学习的同学推荐《计算机组成与设计:硬件/软件接口》,这本书比较厚,大家可以选择性的去看,没必要都看完。另外结合哈工大的《计算机组成原理》视频一起看效果更佳。

·三、计算机网络。计算机网络相比操作系统容易多,因为计算机网络不抽象,你要想知道网络中的细节都可以通过抓包来分析,而且不管是手机、个人电脑和服务器,他们所使用的计算网络协议是一致的。入门推荐这两本书《图解HTTP》和《图解TCP/IP》,作者通过图文的形式讲解每一个知识点,让初学者通俗易懂。在看完入门系列后相信你对计算机网络已经有个大体的认识了。

这样可以继续深入学习,因为还有很多隐藏在背后的细节不知道。这里推荐《计算机网络-自顶向下方法》和《TCP/IP详解》。这两本书是进一步深入学习的好资料。操作系统比较重要的4大模块,分别是内存管理、进程管理、文件系统管理、输入输出设备管理、推荐大家按照这个顺序学习,因为内存管理不仅是最重要,最难的模块也是和其他模块关联性最大的模块,先把它搞定,后续的模块学起来会相对轻松一些。

关于操作系统这一块的资源有很多,在b站就可以直接观看。推荐一个比较好的入门级课程就是清华大学的《操作系统》,后面深入学习的话推荐这本《操作系统导论》,内容都是循序渐进的,阅读起来还是觉得挺有意思的。另外还少不了这本被称为神书的《深入理解计算机系统》,它是以程序员视角理解计算机系统,不只是涉及到操作系统,还涉及到了计算机组成,c语言汇编语言等知识,是一本综合性比较强的书。

·五、数据库。数据库是后端程序员必须掌握的一个技术站了。数据库分为关系型数据库和非关系型数据库,常见的就是Mysql和Redis。Mysql入门推荐《SQL必知必会》这本很薄的书,主要是讲数据库增删查改的SQL语法。Redis学习的话b站有很多视频可以去看,后续再结合这本被誉为Redis的圣经级别的书,redis设计与实现帮助你快速入门。

这次就分享这么多,咱们下期再见。