Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

⭐️计算机科学极简入门指南 | Computer Science Guide

最重要的

  阅读本教程,请牢记四句话,以后将不时提到,都很简单。若现在不懂没有关系,感触将随着教程推进越来越深。现阶段,这几句话只需要死记硬背,以后会自行理解。

  内容如下:

  • 懒是人类进步的第一动力。
  • 在计算机科学里,没有什么问题是加一层解决不了的。
  • 人类所有知识都来源于好奇心和解决问题。
  • 所有庞大学科知识体量均由积累而成,不会一蹴而就,任何学科都不例外。

风格

  本教程遵循以下风格:

  • 极简风格,争取不浪费读者时间
  • 阮一峰中文技术文档写作规范(不严格遵守)
  • 具有极强的个人用语风格
  • 用语介于口语和书面语之间,比较通俗
    • 口语具有亲切感和人情味,但传达效率不高
    • 书面语使人严肃,但使人感觉抗拒和枯燥
  • 添加图示,难以理解的地方可能会有 gif 图例

理念

  • “授人以鱼不如授人以渔”
  • 示例优先,抽象其后,有助理解
  • 兴趣是最好的老师
  • 最好的学习方法是解决问题

问题

  由于遵循极简风格,所以会诞生以下问题:

  • 本教程只能起到引导作用,而非百科全书,旨在 自顶向下 为读者带来一个全局的观念
    • 对于每个核心话题来说,采用 自底向上 的方式自然而然将知识学习消化,不产生畏惧
    • 但请不要抱有看完这系列教程后能成为技术顶尖分子的幻想
  • 本教程学习方法和知识点各占一半
    • 具体各知识点,若有兴趣,可以按照此教程学习方法寻找资料学习

适用人群

  • 零基础
    • 请务必阅读整个教程
  • 非零基础技术人员
    • 请跳读或选读以提高效率

覆盖范围

  本指南沿“从逻辑门到软件系统”的主线,覆盖计算机科学的几大核心领域:

  • 计算机组成原理(第 1~35 章):数据表示、逻辑门、运算器、存储、指令、CPU、总线、I/O 与中断(另有两篇补充:指令流水线技术、缓存与存储层次)
  • 程序与编程基础(第 36~47 章)
  • 操作系统(第 48~100 章)
  • 计算机网络(第 101~155 章)
  • 数据结构与算法(第 156~219 章)
  • 编译原理(第 220~281 章)
  • 软件构造(第 282~297 章)
  • 附加章:人工智能、大数据、区块链、量子计算、晶体管、数据加密与备份、测试、漏洞与病毒、安全攻防等延伸话题

  需要说明的是:本指南并不覆盖计算机科学的全部。数据库系统、分布式系统、计算机图形学、人机交互、数值计算等,仅少量提及或并未涉及;部分延伸话题放在附加章。它的目标是引导读者建立全局观念,而非写成一部百科全书——想深入某个方向,请以本指南为地图,再去寻找更专门的资料。

阅读要求

 只有一个: 每章节或知识点后有相应的,精挑细选的 1-2 道思考题,请务必认真思考

  • 思考题经过精心挑选
  • 目的在于希望读者能让知识点得到运用
  • 除此之外:因人脑不适合记忆孤立的知识点,希望能通过思考题将知识点连接成知识网络

其他

  • 因内容过多,可能后期会进行修正,一切以微雪博客上发布的定稿为准
  • 不同于学海计划,因希望计算机科学推广、使所有人受益,因此计算机科学极简入门指南所有内容全程免费
  • 每篇文章首部的“TL;DR”,意为“Too Long; Don’t Read”(太长不看),适合时间紧急的读者

勘误说明

  因笔者知识水平和技术能力有限,若有勘误,尽请斧正,提交 Pull Request。

  诚挚希望能得到各位技术人员的交流,并非客套。

联系方式

协议

  本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

封面图