自学编程有什么入门打基础的书推荐吗?

题主这么提问题,已经超过一大半程序员了,计算机基础绝对会决定程序员以后的天花板有多高。

我从自动化自学转行到程序员,曾经也是基础非常薄弱,工作中被领导批评了很多次,后来不断找各种文章、书籍和视频教程,每天下班和周末,都在死磕计算机专业课程,才有了现在扎实的编程基础。

刷到这个回答的你就很幸运,我现在把我看过的一些技术书籍和视频教程分享给你,它们不只是经典,更是切切实实对我有巨大帮助,让你不再踩坑,实现弯道超车

计算机专业课程这么多,最主要就是下面五门课:

计算机组成原理数据结构与算法计算机操作系统计算机网络数据库系统

不管你是就业还是考研,它们都是你必须重视的,这些课程确实都很有难度,如果是大学的垃圾教材,还有念ppt式讲课,学起来真是很打击积极性,如果你觉得怎么学都不会,那是因为你的老师和教材很烂,丢掉它们,这里有很多优秀书籍和课程等着你。

一、计算机组成原理

1、《计算机程序的构造和解释》

这本书英文名叫 Structure and Interpretation of Computer Programs,简称就是大名鼎鼎的 SICP。这本书能改变你对计算机和编程的基本认识,告诉你程序是如何运行的,并教你如何使用抽象来构建程序。

教材配套网站:

Welcome to the SICP Web Site (mit.edu)

b站视频课程:

[唯一编程神课SICP]计算机程序的构造和解释(1986版) MIT

SICP 相关学习资料

MIT视频公开课《计算机程序的构造和解释》中文化项目及课程学习资料搜集。

2、《深入理解计算机系统

这本书可以让你你了解软件底层,我看完这本书后,对计算机内部原理的认知有了质的飞跃。

通过程序员的视角,清晰地明白计算机系统的内部工作原理,让你写出更快、更可靠的代码。而且它还有助于你为进一步学习计算机体系结构、操作系统、编译器做好准备。

教材配套网站:

CS:APP3e, Bryant and OHallaron

配套课程:

计算机组成与系统结构_上海交通大学_中国大学MOOC(慕课)

3、《程序是怎样跑起来的

上面两本太难啃了,可以试试这本书,针对初学者从计算机的内部结构开始讲起,以图配文的形式让你了解从双击程序图标到程序运行这个过程发生了什么。

4、王道计算机组成原理视频课程

王道计算机考研 计算机组成原理_bilibili

二、数据结构与算法

1、《大话数据结构》

学习数据结构是非常枯燥的,但是大话数据结构把每个数据结构和算法用有趣的形式展现出来,与非常具体的生活例子进行类比,你可以对知识点有很直观的感受,对于自学者,这是必不可少的一本书。

2、《算法导论(第2版)》

如果数据结构与算法只能看一本书,那一定就是这本书。不但深入讨论了各类算法,使这些算法的设计和分析能被读者接受。还告诉你如何正确选择和高效地实现算法。

学习数据结构和算法,光看书是肯定不行的,你还需要去 LeetCode 上刷题,做各种类型的题目,Leetcode 上的问题往往有趣且有很好的解法和讨论。

3、视频教程:

这个算是全网最详细!最易懂!最牛逼的教程了!

数据结构与算法基础(青岛大学-王卓)

三、计算机操作系统

1、操作系统导论

很多操作系统的书都过于抽象与晦涩,我当时在图书馆借了一本操作系统的书,硬着头皮看完两章就放弃了,完全是知识点的堆砌,让人一头雾水。

推荐最多的就是这本《操作系统导论》,通俗易懂地讲解每个概念和知识点。将操作系统分为虚拟化(Virtualization)、并发(Concurrency)、持久化(Persistence)。中断及系统调用,进程管理内存管理,线程调度这些常见问题都会涉及到,让你彻底明白操作系统的底层工作机制。

该书已经开源,并且有中文版本:

ostep-translations/chinese at master

2、操作系统(哈工大李治军老师)

这是 b 站上很不错的操作系统课程。

操作系统(哈工大李治军老师)32讲(全)超清_哔哩哔哩_bilibili

四、计算机网络

1、《计算机网络:自顶向下方法

计算机网络算是最能够用上的课程了,因为平时会接触很多网络传输,服务端客户端的应用。这本书是学习计算机网络的经典,详细介绍了计算机网络中的术语、概念和协议。“自顶向下”的设计非常贴近我们的生活和思考方式,可以让你对整本书的脉络和结构都更加清晰和易于理解。

对于计算机网络的学习,做小项目比完成课后习题更有用,可以搭配 Wireshark 的小项目:

Computer Networking: a Top Down Approach (umass.edu)

2、配套视频课程

广受好评的课程。

中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版)》

3、计算机网络微课堂

这个计算机网络课程十分通俗易懂,重点的地方讲的十分细致,并且还有一些实验。

计算机网络微课堂 湖科大教书匠

五、数据库系统

1、《数据库系统概念

这本书可以帮助你夯实数据库理论基础,理解数据库底层原理,并深入操作数据库。

2、《MySQL 必知必会

MySQL 是目前用得最多数据库管理系统之一,该书从简单的数据检索开始,慢慢深入到一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、表约束等等。重点突出,条理清晰、系统而扼要地讲述了你应该掌握的知识。这本书实践性很强,一步步教会你怎么用 SQL 语句操作 MySQL 数据库,例子全面且具体。

3、视频课程

该课程老师是战德臣,人送外号战神,他在讲课的同时还告诉你怎么去思考,培养计算机思维。包括了数据存储、数据库查询实现、查询优化、事务处理等重要内容。

哈尔滨工业大学-数据库系统(上+中+下)_哔哩哔哩_bilibili

最后的最后,我还想说一句,光看书刷视频肯定是不适合学计算机的,需要你自己写写代码,跑跑程序,一行一行地调试,才能真正理解每个知识点背后的含义。

自学编程有什么入门打基础的书推荐吗?
程序员阿德
5 次咨询
4.8
64531 次赞同
去咨询

我是

,一名五年经验的软件开发工程师,985高校大厂程序员。

专注于分享各种计算机基础干货,包括但不限于计算机组成原理、数据结构与算法、计算机网络、操作系统、数据库、Linux等。

关注我,帮你精进为一名优秀程序员。

原创文章,作者:afeng135,如若转载,请注明出处:https://www.wegosn.com/2034.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注