点击关注上方“五分钟学算法”,
设为“置顶或星标”,第一时间送达干货。
来源:五分钟学算法
前几天读者群里有小伙伴询问作为计算机专业学生,最应该学习的课程前五位是什么。问题一抛出来,讨论还挺厉害的,各有各的看法,以下为个人看法,欢迎补充或者反驳:)
不知不觉自己的程序员生涯已经有 6 年。
变秃了,也变强了。
如果让我回到大学生涯,我一定会认认真真的学习下面的课程,起码我的头发可以少掉一半!
1、计算机组成原理
2、计算机操作系统
3、计算机编译原理
4、数据结构与算法
5、计算机网络
一、计算机组成原理
计算机组成原理这门课很好地向我们阐述了计算机是如何工作的,妹子咨询你电脑问题的时候,答案就藏在这门课程里面(大雾)。
推荐书籍:《深入理解计算机系统》
这本书是从程序员的角度来看待整个计算机系统的,所以是非常适合程序员的。但是这本书不仅仅包含了计算机硬件的相关知识,同时还包含了包括操作系统、计算机网络等相关知识。
二、计算机操作系统
无论你学习什么编程语言,和都避免不了和操作系统打交道,比如你学习 Java,用到多线程技术,实际上操作系统才是负责管理进程和线程的;比如你学习到内存分配的知识,c++ 里可以直接分配一段内存,此时实际上是调用操作系统提供的 API 进行内存分配。
如果不懂操作系统,你在未来学习编程语言的高级特效,涉及到线程进程调度,内存分配,或者是学习 Linux 相关的知识时,都会一头雾水,所以,只有学会了操作系统,我么才能够更好地学习其他语言和技术。
基于此,计算机操作系统的知识点 频繁出现在笔试环节。
毕业的程序员或者非科班的程序员可以看看下面的两篇文章,就当再复习学习一遍。
推荐几篇操作系统的文章。
三、计算机编译原理
首先正式一个问题:编译原理并非随随便便就能入门的!
换言之,需要准备一些基础知识在学习。
编译原理的学习和实践通常基于对计算机编译过程、计算机基本工作原理、甚至一定的数学知识有一定积累,这些知识分别分布并应用在了编译原理的不同阶段。没有这些基本知识的积累,很快就会在某个阶段由于功底不够而无法再继续后面的学习。
所以,先认认真真的积累上述的一和二在入门学习吧。
四、数据结构与算法
相信无论是已经毕业的同学还是正在学校学习的同学,都或多或少地被数据结构与算法这门课给折磨过。数据结构与算法这门课开篇就讲了一个非常重要的概念:程序 = 数据结构 + 算法,对于初学者可能还不能完全地理解这句话,不过对于已经工作两三年的同学相信对这句话是深信不疑的。
对于数据结构与算法的学习,我个人认为应该分层三个步骤:首先先大致了解什么是算法,可以通过一些科普读物来入门,这个过程我称之为入门阶段;接着可以尝试实现一些比较容易的数据结构和算法,这样可以更加深对数据结构和算法的了解,这个过程我称之为实践阶段;最后去了解数据结构与算法背后的相关数学原理等,这个过程我称之为原理阶段。
不管你认为数据结构与算法重要与否,你都必须有所了解,因为在面试环节肯定会问的!
五、计算机网络
计算机网络的相关知识在工作时使用的频率还是挺多的,毕竟,所谓的CURD工程师总是在处理 API 相关的业务。
发文的时候发现当当自营的图书在搞活动,连忙申请了几十张 优惠码,有需要的小伙伴可以趁机屯一波书。
当当自营的图书满减活动:
每满 100 减 50
满 200 减 100
满 300 减 150
满 400 减 200
优惠码:RG3AFR
优惠码可以和满减活动叠加使用,简单的说就是可以,花 170 买 400 的书,四舍五入约等于白嫖(逃
END
● 去你丫的算法!
● 「LeetCodeAnimation」动画是如何做出来的
● 来了,来了!你们要的写给Java程序员看的算法学习指南!
点“在看”你懂得