# computer_base_point **Repository Path**: lance123123/computer_base_point ## Basic Information - **Project Name**: computer_base_point - **Description**: 计算机基础扫盲 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-21 - **Last Updated**: 2026-08-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # what-is-computer-science As a self-taught programmer, what inside the black box is always mysterious to me. That's why I start this project. # computer_base_point 计算机基础总结 #### 介绍 计算机基础扫盲 请为我设计一套面向非计算机科班转行人员的 **计算机基础系统扫盲课程**。 目标不是针对某个具体岗位或当前工作,而是补齐计算机专业最重要的基础知识,建立完整的计算机知识框架。 课程范围应覆盖计算机科学与软件工程的核心基础,例如: * 计算机组成原理 * 数字逻辑与数据表示 * CPU、内存、缓存、磁盘与 I/O * 操作系统 * 进程、线程、虚拟内存、文件系统 * 数据结构与算法 * 时间复杂度与空间复杂度 * 计算机网络 * TCP/IP、路由、DNS、HTTP 等基础协议 * 编程语言基础 * 编译、解释、运行时、内存管理 * 数据库原理 * 关系模型、索引、事务、并发控制 * 软件工程 * 模块化、抽象、接口、测试、设计原则 * 编译原理基础 * 分布式系统基础 * 信息安全基础 * 密码学、身份认证、权限、常见攻击方式 * 离散数学、二进制、逻辑、集合、图等必要数学基础 要求: * 面向非科班学习者,不默认具备计算机专业背景 * 从“计算机为什么能工作”开始,逐步建立完整知识体系 * 不围绕某个具体框架、语言、岗位或业务场景展开 * 不追求本科教材式的全面和证明深度,但重要概念不能跳过 * 优先讲清楚核心思想、基本模型和知识之间的联系 * 既解释“是什么”,也解释“为什么这样设计” * 抽象概念尽量配合图示、类比、小实验或简单代码 * 每节课直接生成完整学习内容,而不是只生成目录 * 每节课包含: * 学习目标 * 核心概念 * 原理解释 * 示例 * 小实验 * 常见误区 * 练习题 * 每节课控制在一次学习可以消化的范围 * 前后课程要有明确依赖关系 * 对内容标注学习深度:必须掌握 / 理解即可 / 后续进阶 * 每次只生成一节课 最终目标是: 让我建立接近计算机科班学生的核心知识框架,能够理解计算机系统从硬件、操作系统、程序、网络、数据库到分布式系统之间的关系,而不是只会使用具体工具。 请先规划合理的学习阶段,然后从第一阶段第一课开始生成完整课程内容。 ## 目录 - 计算机科学概论 - [x] [读《计算机科学概论》](https://github.com/ShannonChenCHN/what-is-computer-science/blob/master/posts/%E8%AF%BB%E3%80%8A%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6%E6%A6%82%E8%AE%BA%E3%80%8B.md)(必读,了解计算机科学的全貌,适合初学者)⭐️⭐️⭐️⭐️⭐️ - [x] [读《深入理解计算机系统》](https://github.com/ShannonChenCHN/what-is-computer-science/blob/master/posts/%E8%AF%BB%E3%80%8A%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F%E3%80%8B_01.md)(必读,从程序员的角度理解程序是怎么运行的,有配套的课程视频,有一定的深度,适合进阶的初学者)⭐️⭐️⭐️⭐️⭐️ - 数字电路 - 视频教程 - **计算机组成原理和计算机体系结构** - [x] 《计算机是怎样跑起来的》(适合初学者) - 《穿越计算机的迷雾》(适合初学者) - [x] [读《编码:隐匿在计算机软硬件背后的语言》](https://github.com/ShannonChenCHN/what-is-computer-science/blob/master/posts/%E8%AF%BB%E3%80%8A%E7%BC%96%E7%A0%81%EF%BC%9A%E9%9A%90%E5%8C%BF%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%BD%AF%E7%A1%AC%E4%BB%B6%E8%83%8C%E5%90%8E%E7%9A%84%E8%AF%AD%E8%A8%80%E3%80%8B.md)(必读,用通俗易懂的方式一步一步告诉你计算机是怎么做出来的,适合初学者)⭐️⭐️⭐️⭐️⭐️ - 下面这几本书都具备一定的专业性,而且与其他领域相关联,建议先阅读 CS:APP - 《计算机组成与设计:硬件/软件接口》(做应用开发的看这本就够了) - 《计算机体系结构:量化研究方法》 - 《计算机组成:结构化方法》 - 汇编语言 - 《汇编语言》(王爽著) - **操作系统** - [x] [读《The Linux Command Line》](https://github.com/ShannonChenCHN/what-is-computer-science/blob/master/posts/The-Linux-Command-Line.md) - 《Unix & Linux大学教程》 - [x] 《现代操作系统》⭐️⭐️⭐️⭐️⭐️ - 《UNIX 环境高级编程》 - 编译、链接(自己动手写一个编译器/解释器) - 《编译原理》(龙书) - 《现代编译原理——C 语言实现》(虎书,以例子贯穿前后端) - 《高级编译器设计与实现》(鲸书,主要讲后端的,轮子哥推荐) - [ ] 《编译器设计》(基本概念讲的比较清楚,比龙书容易理解,适合初学者) - 《Parsing Techniques》(轮子哥推荐,主要讲前端) - [x] 《程序员的自我修养 : 链接、装载与库》⭐️⭐️⭐️⭐️⭐️ - 离散数学 - 《离散数学及其应用》 - **[数据结构和算法](https://github.com/ShannonChenCHN/algorithm-and-data-structure)** - [x] 《数据结构与算法分析》(基础)⭐️⭐️⭐️⭐️⭐️ - [ ] 《算法》(基础) - 《算法导论》(理论) - 《编程珠玑》(思维) - **计算机网络** - [x] 《图解 HTTP》 - [x] 《图解 TCP/IP》⭐️⭐️⭐️⭐️⭐️ - 《网络是怎样连接的》 - 《计算机网络:自顶向下方法》⭐️⭐️⭐️⭐️⭐️ - 《TCP/IP 详解》 - 数据库 - 《数据库系统概念》 - 程序设计、编程思想 - 设计模式 - 《Head First 设计模式》(Java 语言) - 《设计模式》 - 编程范式 - 《七周七语言:理解多种编程范型》 - [斯坦福大学公开课:编程范式](http://open.163.com/special/opencourse/paradigms.html) - 编码修养 - [ ] 《代码大全》(必读)⭐️⭐️⭐️⭐️⭐️ - 《重构:改善既有代码的设计》 - 《修改代码的艺术》 - 《代码整洁之道》 - 《程序员的职业素养》 - 《编写可读代码的艺术》 - 程序设计思想 - 《计算机程序的构造和解释》(必读)⭐️⭐️⭐️⭐️⭐️ - 《UNIX 编程艺术》 - 《松本行弘的程序世界》 - 《计算的本质:深入剖析程序和计算机》 - 编程语言 - C - 《C 程序设计语言》 - 《C 语言程序设计现代方法》 - C++ - [ ] 《Accelerated C++》 - [ ] 《C++ Primer》 - 《C++ 编程思想》 - [Objective-C](https://github.com/ShannonChenCHN/iOSLevelingUp/issues/39) - Java - [Python](https://github.com/ShannonChenCHN/APythonTour) - 《Python 编程:从入门到实践》 - 《Python 编程快速上手》 - [JavaScript](https://github.com/ShannonChenCHN/AFrontEndWebDevTour/blob/master/learning-notes/JavaScript-learning-notes.md) - Ruby - Swift - 细分领域 - 音视频 - 图片 - 文字排版 - [前端](https://github.com/ShannonChenCHN/AFrontEndWebDevTour) - 移动端([iOS](https://github.com/ShannonChenCHN/iOSLevelingUp)、Android) - 后端 - 大数据 - 机器学习 - 安全 ## 参考资料 - [自学编程和计算机科班出身的差别在哪? - David Zhang的回答 - 知乎](https://www.zhihu.com/question/67948916/answer/259965694) - [大学理科生零基础自学计算机和编程有哪些书籍和方法比较好? - SkyDragon的回答 - 知乎](https://www.zhihu.com/question/39512272/answer/81785112]) - [计算机专业学生一定要学好这几门课! - 知乎](https://zhuanlan.zhihu.com/p/36036331) - [计算机专业的学生怎样练习编程才能把编程学精通啊? - 知乎](https://www.zhihu.com/question/263445600) - [如何自学计算机专业课程? - 知乎](https://zhuanlan.zhihu.com/p/26804195) - [学编译原理有什么好书? - 知乎](https://www.zhihu.com/question/25868417) - [国外的计算机专业是如何教 《计算机组成原理》 这门课的? - 知乎](https://www.zhihu.com/question/38838088) - [怎样学习和理解计算机组成原理? - 知乎](https://www.zhihu.com/question/20706264) - [左耳朵耗子的专栏 - 极客时间](https://time.geekbang.org/column/intro/48?code=VznxDnLQDX-vI3YOLFe1sRcB9fN-BYi8QhSJmMATsys%3D)(推荐) - [故胤道长:去美国读名校,在硅谷写代码](http://m.quzhiboapp.com/?#!/intro/108?liveId=295%20%EF%BD%9E) - [《软技能:代码之外的生存指南》](https://book.douban.com/subject/26835090/) - [《Learn More Study Less》](https://book.douban.com/subject/11603298/) - 《学习之道》 - 《如何阅读一本书》