给朋友的CS书单:从入门到放弃(不是)

最近莫名其妙成了“CS懂王”,每天被问最多的除了“代码跑不通怎么办”,就是“该看什么书”。为了保住人设(和友谊),特此奉上我的私藏书单!声明:所有书都是我亲自读过且成功催眠的,质量有保障!

(其实最主要的原因是为了@Susan_2333而写的)


一、新手村装备(看这些不会秃头)

📖《计算机科学概论》

封面

看这本书的目的是对 CS 进行一个简单的了解。但可以当故事书看!很有意思,不用看的太深,厕所读物首选,看到睡着算我输。

📺计算机科学速成课

不可否认的一点是,这不是书。但是,这个系列的视频每集只有10多分钟,从晶体管讲到神经网络,用浅显的语言讲解 CS,非常有趣。我推荐大家先看这个视频,然后再看《计算机科学概论》。

(虽然我只看了前3集就去追番了)


三、Python修仙指南(头发可再生)

📖《Python编程:从入门到实践》

修仙秘籍

这本书是 Python 的入门书籍,内容非常丰富,适合初学者。这本书的内容比较陡峭,但是,这本书的内容非常实用,能够帮助大家提高编程水平。

看完就能用Python算命!我三年级就开始学了!

📖《笨方法学Python》

笨方法学 Python3

这本书我没看过,但是据说很棒(@Susan_2333也这么说)。
说实话,我还是更喜欢学术性强一点的书。


二、C++の试炼(秃头预警)

📖《C++ Primer》

这本书是 C++ 的入门书籍,内容非常丰富,适合初学者。但是,这本书的难度较大,建议有一定编程基础的同学阅读。

C++界的《新华字典》,买前雄心壮志,买后防身利器!建议和编译器拜把子再看。

📖《C++ Primer Plus》

Plus版

看名字也知道,这本书是 C++ Primer 的补充。这本书的难度较小,适合初学者。并且,这本书内容又多又杂,面面俱到,适合想要具体学习 C++ 的同学。

比楼上那本多了个"Plus",价格也Plus!但确实适合萌新,当年我就是靠它写了第一个"Hello World"

Effective C++

Effective C++

这本书是 C++ 的进阶书籍,内容非常丰富,适合有一定编程基础的同学阅读。这本书的内容比较难,但是,这本书的内容非常实用,能够帮助大家提高编程水平。

More Effective C++

More Effective C++

Effective C++ 的基础上进一步补充。


四、算法の奥义(彻底秃头)

🎮《Hello 算法》

游戏攻略

这本书不同于其他的所有书籍,这本书一开始是在 Github 上开源的、社区维护的书,这也是我极为推荐这本书的原因。
Github 项目地址
在线网页

📚《算法导论》(CLRS)

劝退经典

这本书是算法领域的圣经,对计算机科学几乎是起了奠定作用,这本书在很多国内外大学是作为教材的存在,内容非常丰富。这本书的内容非常陡峭,适合有编程基础的同学阅读。

使用方法

  1. 拍照发朋友圈
  2. 垫显示器
  3. 真正的大佬用它来…镇宅?
    (反正我看不懂)

五、OIer、ACMerの信仰(走向不归路)

🏆《算法竞赛入门经典》

秃头圣经

版本玄学

  • 第一版:薄得像小抄,价格友好但内容像压缩包
  • 第二版:厚到能防身,新增C++骚操作和「如何假装会动态规划」指南

食用指南

  1. 前五章刷完可解锁「代码跑得比香港记者还快」成就
  2. 动态规划章节建议搭配生发液使用
  3. 站长锐评:「看完这本书,我变秃了,也变强了(并没有)」

隐藏功能

  • 拍照发朋友圈配文「又是刷题到凌晨的一天」
  • 垫泡面时散发学霸の气息

这也是站长正在看的 CS 书籍之一。


六、系统大佬の修养(光头强者)

💻《深入理解计算机系统》(CSAPP)

强者认证

关于 CS 进阶的书,我只推荐这一本。说实话,这本书不难,看这本书可以学到很多!并且,和 CLRS 一样,这本书是作为北京大学等高校的本科、研究生教材使用的。

惊人的是…我能看懂!


七、公开课の千层套路

除了刚才提到的《计算机科学速成课》以外,还有很多值得推荐的大学公开课,这里给出课程编码。

先普及一个概念:

计算机四大名校:MITCMUStanfordUCB,也就是麻省理工卡内基-梅隆斯坦福加州-伯克利其实哈佛也不错(什么叫也不错??)

  • MIT:把6.824分布式系统讲了20年还在讲Raft协议(老师:我就喜欢你看不惯又学不会的样子)
  • Stanford:CS106系列教C++,但学生都在用Python作弊(教授:I’m watching you)
  • Harvard CS50:最像综艺的编程课,教授David发型比课程还出圈!
  • UC Berkeley:61系列课号多到像彩票,选课比中奖还难!

国内公开课?劝你别看,老师都是PPT阅读器

公开课推荐

CS50 (计算机科学导论)
MIT6.006 (算法导论)
MIT 6.046J (数据结构与算法设计)
CS61A (计算机体系结构)
CS61B (计算机体系结构)
CS61C (计算机体系结构)
CS106L (C++)


八、数学の诅咒(秃头终极形态)

计算机科学依赖的数学知识有:

  1. 离散数学
  2. 线性代数
  3. 概率论
  4. 微积分

我觉得,让我这个数学渣推荐数学书实属不妥。所以,这部分内容还是交给 @Susan_2333 吧。

— 【2025–3-31更新】 —

@Susan_2333

线性代数可以看《线性代数应该这样学》,巨好看。
微积分的话《普林斯顿微积分读本》绝对入门佳作。

线性代数应该这样学

普林斯顿微积分读本


总结

看到这里的朋友,恭喜你收获了收藏从未停止,学习从未开始的豪华大礼包!建议立即转发给怨种朋友,要秃一起秃!👩🦲👨🦲