1. 人类很有可能“在未来像过去所做过的一样行事”
2. 计算机科学领域并不仅仅是编程
2.1. 编程知识是计算机科学家所必需的,但它却只是前提
2.2. 要应用并试验算法,计算机科学研究者就需要将算法转换成计算机程序,而每个程序都由Java、C++或Python等编程语言编写
2.3. 公众对计算机科学认知的不平衡
2.3.1. 有一种广泛的观点认为,计算机科学基本上就是编程(如“软件”)和设备设计(如“硬件”)
2.3.2. 最美妙的计算机科学思想中有许多是十分抽象的,并不属于以上任意一类
3. 所有伟大思想都能在不需要任何计算机编程或其他计算机科学知识的情况下得到解释
3.1. 一些核心思想中运用了简单但聪明的把戏的算法
3.2. 这些把戏无须任何技术性知识就能得到解释
4. 思想和算法之间有什么区别
4.1. 算法是一张精确的处方
4.1.1. 按顺序详细列出了解决一个问题所需要的具体步骤
4.2. 算法的关键特点之一
4.2.1. 每步都必须绝对精确,没有任何人类意图或推测掺杂其中
4.3. 有关算法究竟是什么的深层问题都归结于一个前提
4.3.1. 邱奇–图灵论题(Church-Turing thesis)
4.4. 计算机科学的伟大思想通常是来形容如何解决一个问题的
4.4.1. 使用一种算法
5. 该书伟大的算法标准
5.1. 最重要的标准1
5.1.1. 伟大的算法要被普通计算机用户每天用到
5.1.2. 排除了主要由计算机专业人士使用的算法
5.1.2.1. 编译器
5.1.2.2. 程序验证技术
5.2. 标准2
5.2.1. 伟大的算法应该能处理具体的现实问题
5.2.2. 排除了许多作为计算机科学本科课程核心内容的伟大算法
5.2.2.1. 排序算法(快速排序等)
5.2.2.2. 图形算法(迪杰斯特拉最短路径算法等)
5.2.2.3. 数据结构(哈希表等)
5.3. 标准3
5.3.1. 算法主要和计算机科学理论相关
5.3.2. 排除了主要和计算机硬件有关的技术
5.3.2.1. CPU(中央处理器)
5.3.2.2. 监视器
5.3.2.3. 网络