计算机学习书籍推荐(个人向)

tech2023-01-13  128

个人学习计算机知识的一点心得体会在此分享:

一. 基础知识

《计算机科学概论(第11版).(美)布鲁克希尔》(《Computer Science: An Overview》 J. Glenn Brookshear) 从总体上描述了计算机科学的各个内容,对计算机科学的总面貌有了解。

视频推荐(B站有): 哈佛大学公开课:计算机科学CS50 CS50 Live 十分钟速成课:计算机科学 Crash Course Computer Science

最好有不错的数学基础知识(以下书籍都较难,不会的话用到再查…): 《离散数学及其应用》(《Discrete mathematics and its applications》 Kenneth H·Rosen) 《具体数学》(《Concrete Mathematics: A Foundation for Computer Science》Ronald L.Graham / Oren Patashnik / Donald E.Knuth) 《概率论与数理统计(陈希孺)》 《线性代数及其应用》(《Linear Algebra and Its Applications》 David C. Lay ) 《高等数学引论(华罗庚)》

二. 基础语言

汇编: 《汇编语言》 王爽C语言: 《C语言程序设计现代方法》(《C Programming: A Modern Approach》 K. N. King )相对来说清晰明了,适合入门) 《C程序设计语言》 (《The C Programming Language》 Dennis M.Ritchie&Brian W.Kernighan, C经典之作)C++语言: 《c++ Primer(第5版)》(《C++ Primer, 5th Edition》 Stanley B. Lippman /Josée Lajoie / Barbara E. Moo, C++经典之作) 《C++程序设计语言》 (《The C++ Programming Language》 比雅尼·斯特劳斯特鲁普 Bjarne Stroustrup(C++之父)) Effective系列:对C++有更深的理解 《Effective C ++ 》 Scott.Meyers 《MoreEffective C++ 》Scott.Meyers 《Effective STL 》Scott.MeyersPython语言: 《Python从入门到实践》 (《Python Crash Course》Eric Matthes) 《流畅的Python》(《Fluent Python》 Luciano Ramalho)

三. 进阶 (1) 算法与数据结构:

《数据结构(C语言版)].严蔚敏》 可配合严老师的视频学习《算法导论》(《Introduction to Algorithms》 Thomas H.Cormen / Charles E.Leiserson / Ronald L.Rivest / Clifford Stein,较难可配合算法导论视频课程食用)《计算机程序设计艺术》(《The Art of Computer Programming》 Donald.E.Knuth, 读过一点点,能读完的都是牛人)

(2)计算机组成原理/操作系统 这两块我认为息息相关,密不可分的。

《编码:隐匿在计算机软硬件背后的语言(美)佩措尔德》(《Code: The Hidden Language of Computer Hardware and Software》 Charles Petzold,语言诙谐幽默,比喻贴切,值得一读)《深入理解计算机系统》 (《Computer Systems: A Programmer’s Perspective》 Randal E.Bryant / David O’Hallaron,读懂你就通计算机了)《Linux内核设计与实现》 (《Linux Kernel Development》 Robert Love,深入Linux内核源码层一窥,期待能贡献出Linux内核代码…)《程序员的自我修养—链接、装载与库》潘爱民(讲述了系统软件的运行机制和原理,让你明白软件运行的方方面面)《UNIX环境高级编程》(《Advanced Programming in the UNIX Environment》W.Richard Stevens,Unix编程圣经)视频推荐:哈工大的计算机组成原理;哈工大李志军的操作系统

(3)网络相关: 网络是操作系统的重要组成,也是普通人用电脑的最大需求

《计算机网络》Andrew S·Tanenbaum (原理性的书籍,介绍了各种概念,很理论)《计算机网络 自顶向下方法》(《Computer Networking:A Top-Down Approach》James F.Kurose / Keith W.Ross,自顶向下讲述网络,个人认为更加清晰)《TCP/IP详解》三卷(《TCP/IP ILLustrated》W.Richard Stevens,据说这是网络饭碗的碗底了)《UNIX网络编程》二卷(《Unix Network Programming》W.Richard Stevens,又是Stevens大神)《数据库系统概念》(《Database System Concepts》Abraham Silberschatz / Henry F.Korth / S.Sudarshan,介绍数据库原理)《mysql必知必会》(《MySQL Crash Course》Ben Forta,轻松入门MySQL)视频推荐:韩立刚的计算机网络,配合教材《计算机网络 谢希仁》

四. 更高层 站的高看的远,不拘泥于细节

《代码大全》(《Code Complete》 Steve McConnell,授之于渔的一本书,介绍了软件开发的方方面面)《软件需求最佳实践:SERU过程框架原理与应用》徐峰(分析软件需求,无论是产品经理还是开发者都应该阅读)《UML用户指南》(《The Unified Modeling Language User Guide》Grady Booch / James Rumbaugh / Ivar Jacobson,使用UML语言去分析去建模)《设计模式:可复用面向对象软件的基础》(《Design Patterns: Elements of Reusable Object-Oriented Software》 Erich Gamma / Richard Helm / Ralph Johnson / John Vlissides ,对23种设计模式进行了细致的讨论,实践中应多多体会)《设计心理学》(《The Design of Everyday Things》 Donald Norman,日常用品的设计哲学,与软件是相通的)

五. 最后说两句 以上书籍都是个人阅读过觉得很不错的(英文书籍有能力推荐读原文),个人审美不要求普遍性。 推荐书籍都是总括性的,视频的话上B站即可。如果要学习具体的行业会有更加详细的书籍,比如图形学编程可以用opencv,opengl,人工智能用深度学习框架,通信需要学习802.11协议,Linux驱动要学习Linux内核等等。 还有重要的是要有健康的身体,这需要规律的饮食作息和锻炼,不妨再推荐一本《精准拉伸:疼痛消除和损伤预防的针对性练习 克里斯蒂安·博格》。就先这么多,以后再补充。

最新回复(0)