学习整理自用——计算机基础路径

实验工具

  任意一门语言即可,最好是c++/java(用于日后课程的实践环节)

数据结构/算法

  书:可以看看《算法第四版》(java写的),讲的很清晰(没有动态规划的内容,可以去算法导论看一看专门章节)

  课:书的作者授课,也就是大名鼎鼎的普林斯顿算法课(coursera打开太慢可以找b站)

Princeton University 丨 Algorithms Part 1
Princeton University 丨 Algorithms Part 2

注:不习惯英文授课直接看书即可,这部分主要在练。对于c++,stl容器是掌握数据结构的利器。个人建议,学一部分就去找leetcode上对应的题去敲一敲

计组/操作系统

  屠龙技!

  这里推荐cyc大佬的github,覆盖知识点较广.

  入门课:南大袁春风老师的计算机系统基础(1~4),对标CMU的15-213。需要做lab加深理解,强烈推荐南大的lab.

  书(需要基础——》至少能看懂书里的汇编):黑书csapp(深入理解计算机系统),书很厚,周期较长。可以去知乎找读书笔记辅助阅读,比如https://wdxtub.com/csapp/thin-csapp-0/2016/04/16/

  进阶(lab很难):黑书作者的课——CMU15-213

课程主页/视频/lab
lab不懂就找github,非常有挑战。。。

  此外,操作系统还有一个lab——》清华的ucore

  tips:顺手学会使用linux,掌握linux比较重要

计算机网络

  个人感觉计网和os在初学过程中没有必要的顺序之分。。。入门视频可以参考哈工大计算机网络.

  lab可以参考cs144,找知乎或者github的解析

视频/课程主页以及lab

  书可以看看《图解http》《计算机网络:自顶向下》

形式语言与自动机

  去年学了一部分形式语言与自动机,感觉这可能是编译原理的先修课程之一。学完自动机再去看编译原理中的词法分析/句法分析等内容,更容易上手。。。

自动机课程视频,书可以看看蒋宗礼的形式语言与自动机(绿皮书)

  个人感悟,多画图,定理推导比较绕,可以学完回头再看。。。有一定能力可以用编程语言实现DFA/NFA/正则/PDA/图灵等等。学完它,你至少可以了解字符串是怎么匹配的,不仅仅是KMP算法嗷,哈哈哈~
  这里推荐一个自动机画图软件——JFLAP

1

  另外,形式语言与自动机,可能会用到离散数学内容,这部分遇到的时候对应补一补即可。因为离散数学内容很多很杂,我们应该抓主要矛盾~

  也可以看看自动机滴神写的《自动机理论、语言和计算导论》,个人感觉中文版翻译的一般,可以找英文版。另外大神的课暂不推荐,真的很劝退。。。

编译原理

  屠龙技进阶了~ 能力有限,还没触摸到,不做过多推荐。欢迎一起学习讨论,共勉~
  掌握两点:实践出真知,一定找lab做;英文课程固然好,但是中文课程也比较适合入门,不必强求。
  中文课到学堂在线或者mooc找精品就行

猜你喜欢

转载自blog.csdn.net/weixin_40807714/article/details/113809169