CS 书籍推荐
给朋友的CS书单:从入门到放弃(不是)
最近莫名其妙成了“CS懂王”,每天被问最多的除了“代码跑不通怎么办”,就是“该看什么书”。为了保住人设(和友谊),特此奉上我的私藏书单!声明:所有书都是我亲自读过且成功催眠的,质量有保障!
(其实最主要的原因是为了@Susan_2333而写的)
一、新手村装备(看这些不会秃头)
📖《计算机科学概论》
看这本书的目的是对 CS 进行一个简单的了解。但可以当故事书看!很有意思,不用看的太深,厕所读物首选,看到睡着算我输。
📺计算机科学速成课
不可否认的一点是,这不是书。但是,这个系列的视频每集只有10多分钟,从晶体管讲到神经网络,用浅显的语言讲解 CS,非常有趣。我推荐大家先看这个视频,然后再看《计算机科学概论》。
(虽然我只看了前3集就去追番了)
三、Python修仙指南(头发可再生)
📖《Python编程:从入门到实践》
这本书是 Python 的入门书籍,内容非常丰富,适合初学者。这本书的内容比较陡峭,但是,这本书的内容非常实用,能够帮助大家提高编程水平。
看完就能用Python算命!我三年级就开始学了!
📖《笨方法学Python》
这本书我没看过,但是据说很棒(@Susan_2333也这么说)。
说实话,我还是更喜欢学术性强一点的书。
二、C++の试炼(秃头预警)
📖《C++ Primer》
这本书是 C++ 的入门书籍,内容非常丰富,适合初学者。但是,这本书的难度较大,建议有一定编程基础的同学阅读。
C++界的《新华字典》,买前雄心壮志,买后防身利器!建议和编译器拜把子再看。
📖《C++ Primer Plus》
看名字也知道,这本书是 C++ Primer 的补充。这本书的难度较小,适合初学者。并且,这本书内容又多又杂,面面俱到,适合想要具体学习 C++ 的同学。
比楼上那本多了个"Plus",价格也Plus!但确实适合萌新,当年我就是靠它写了第一个"Hello World"
Effective C++
这本书是 C++ 的进阶书籍,内容非常丰富,适合有一定编程基础的同学阅读。这本书的内容比较难,但是,这本书的内容非常实用,能够帮助大家提高编程水平。
More Effective C++
在 Effective C++ 的基础上进一步补充。
四、算法の奥义(彻底秃头)
🎮《Hello 算法》
这本书不同于其他的所有书籍,这本书一开始是在 Github 上开源的、社区维护的书,这也是我极为推荐这本书的原因。
Github 项目地址
在线网页
📚《算法导论》(CLRS)
这本书是算法领域的圣经,对计算机科学几乎是起了奠定作用,这本书在很多国内外大学是作为教材的存在,内容非常丰富。这本书的内容非常陡峭,适合有编程基础的同学阅读。
使用方法:
- 拍照发朋友圈
- 垫显示器
- 真正的大佬用它来…镇宅?
(反正我看不懂)
五、OIer、ACMerの信仰(走向不归路)
🏆《算法竞赛入门经典》
版本玄学:
- 第一版:薄得像小抄,价格友好但内容像压缩包
- 第二版:厚到能防身,新增C++骚操作和「如何假装会动态规划」指南
食用指南:
- 前五章刷完可解锁「代码跑得比香港记者还快」成就
- 动态规划章节建议搭配生发液使用
- 站长锐评:「看完这本书,我变秃了,也变强了(并没有)」
隐藏功能:
- 拍照发朋友圈配文「又是刷题到凌晨的一天」
- 垫泡面时散发学霸の气息
这也是站长正在看的 CS 书籍之一。
六、系统大佬の修养(光头强者)
💻《深入理解计算机系统》(CSAPP)
关于 CS 进阶的书,我只推荐这一本。说实话,这本书不难,看这本书可以学到很多!并且,和 CLRS 一样,这本书是作为北京大学等高校的本科、研究生教材使用的。
惊人的是…我能看懂!
七、公开课の千层套路
除了刚才提到的《计算机科学速成课》以外,还有很多值得推荐的大学公开课,这里给出课程编码。
先普及一个概念:
计算机四大名校:MIT、CMU、Stanford、UCB,也就是麻省理工、卡内基-梅隆、斯坦福、加州-伯克利。其实哈佛也不错(什么叫也不错??)
- 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++)
八、数学の诅咒(秃头终极形态)
计算机科学依赖的数学知识有:
- 离散数学
- 线性代数
- 概率论
- 微积分
我觉得,让我这个数学渣推荐数学书实属不妥。所以,这部分内容还是交给 @Susan_2333 吧。
— 【2025–3-31更新】 —
线性代数可以看《线性代数应该这样学》,巨好看。
微积分的话《普林斯顿微积分读本》绝对入门佳作。
总结
看到这里的朋友,恭喜你收获了收藏从未停止,学习从未开始的豪华大礼包!建议立即转发给怨种朋友,要秃一起秃!👩🦲👨🦲