CS核心专业教材及学习指南

如果以下内容与你的老师所要求不符,请以你老师的指导为准。--斌头老师

努力

目标

明确强调以下核心教材的地位与作用,让初学者明确目标,坚定信心

精选理由:

  • 讲述内容具学科核心地位,表现为:为其他课程奠定基础;内容相对自包含;具有相对长的时效性。同时讲述内容通常也是该学科最难的理论知识。
  • 思想性、解释性与阅读性俱强。
  • 均属著名教材,容易购买或者获取。
  • 网络上可获取大量的辅助教学资源。

五大核心

  • 线性代数引论(简记:GSLAv5),指南

Introduction to Linear Algebra, Gilbert Strang, Wellesley-Cambridge Press, ISBN:0980232775, 9780980232776, 2016.

  • 算法导论(CLRSv3),指南

Introduction to Algorithms, Thomas H.Cormen , Charles E.Leiserson, Ronald L.Rivest , Third Edition, MIT Press, 2012

  • 深入理解计算机系统(CSAPPv3),指南

Computer Systems: A Programmer's Perspective, 3/E (CS:APP3e) Randal E. Bryant and David R. O'Hallaron, Carnegie Mellon University, 2016.

  • 计算理论导引(ITOCv3),指南

Introduction to the Theory of Computation, Michael Sipser , Cengage Learning, 2012.

Structure and Interpretation of Computer Programs, Harold Abelson, Gerald Jay Sussman, Julie Sussman, MIT Press, 2004.

注:v代表版本,“v5”就是第五版。另外,所有的简记具有较强的通用性,即在很大的范围内得到认可的命名。

注:所谓核心,我是想强调,大家应该尽可能早地进入这些课程的学习,并且花在这里的时间尽可能地多。


核心之外的若干重要教材

1、微积分,James Stewart
2、概率与计算,Michael Mitzenmacher
3、A practical introduction to computer architecture,Daniel Page
4、计算复杂性,Sanjeev Arora,Boaz Barak (也许不是好的选择!但是目前还没有更好的选择.)
5、具体数学(GKP)
6、代数,Michael Artin
7、数论概论 (FINT),J.H. Silverman
8、编译原理:技术与工具 (Dragon Book)
9、Logic in Computer Science:modelling and reasoning about systems,Michael Huth and Mark Ryan
10、量子计算与量子信息,Michael Nielsen, Isaac L. Chuang

注:此类书籍没有附上详细信息,但应该不难检索。


FAQ

  • Q:其他书不要看了? A:非也,****。

  • Q:只是看书有什么用? A:不看书更没用。

  • Q:看书很重要,只是看书是不够的...... A:没让你只看书,只怕你这些书都看不完。

  • Q:怎么不讲实践?A:怎么没讲实践?

  • Q:怎么都是英文?A:说明中文博大精深,先看点简单的。

  • Q:看了会很牛逼吗?A: 一般不会,因为看过这些书的人太多。不过看完了一般会很正常(xianyu)。

  • Q:我们只是华师耶,能不能现实点?A:读华师的现实主义就是你已经落后了,需要更加努力。

  • Q:看不懂啊,怎么办?A:我不知道,在我的学生中从来没有看不懂的,只有选择不看的。

P.S.有位毕业了近十年的CSer(华南师大软件工程专业) 告诉我,他想做“理论家”了!于是,我开出了这份书单给他,顺便泼一盆冷水:十年之内看完你就本科再毕业了,那时候其实你连“理论”的边还没摸着......还是算了,老实做你的公司老总吧!这是真实的故事,说明我们的大学并不喜欢培养理论家!

我给出了五本核心教材,谁能告诉我,第六本应该是什么?--咸鱼之友

2017年7月开始整理
2017年12月,完成所有指南的搭建(不敢说撰写)。

推荐阅读更多精彩内容