第1章计算机科学概貌1
1.1计算机科学领域现状1
1.2计算机科学的发展脉络8
1.2.1巴贝奇问题——如何构建计算机9
1.2.2布什问题——如何使用计算机11
1.2.3图灵问题——如何构建智能应用13
1.2.4计算机科学的3个奇妙之处17
1.3计算思维的特征22
1.3.1离散化与数字化22
1.3.2计算机的冯·诺依曼模型24
1.3.3计算机科学解题思路26
1.3.4对计算思维的10种理解38
1.4科学计算的创新故事43
1.4.1地球系统数值模拟的创新故事43
1.4.2蛋白质结构预测的创新故事44
1.5习题47
第2章程序的设计与执行50
2.1如何表示数和字符50
2.2初识计算机编程55
2.2.1编写第一个Go程序56
2.2.2初识数据类型59
2.2.3运算流与简单控制流62
2.2.4初识模块化编程66
2.3初识计算机设计73
2.3.1斐波那契计算机的硬件74
2.3.2斐波那契计算机的软件74
2.3.3斐波那契计算机的状态转移75
2.4计算机程序的创新故事852.4.1Ada的故事: 第一个计算机程序85
2.4.2霍尔悖论: 快速排序程序为什么难以理解88
2.5习题89
第3章逻辑思维94
3.1布尔逻辑94
3.1.1命题逻辑94
3.1.2谓词逻辑108
3.2图灵机模型110
3.2.1定理机器证明与吴方法110
3.2.2有穷自动机111
3.2.3图灵机112
3.2.4邱奇图灵论题117
3.2.5悖论与不完备定理118
3.3计算逻辑的创新故事119
3.3.1布尔的故事119
3.3.2图灵的故事122
3.4习题123
◆计算机科学导论——以计算思维为舟目录第4章算法思维127
4.1什么是算法127
4.2算法思维的要点129
4.2.1分治算法范式129
4.2.2其他算法范式136
4.3算法的创新故事144
4.3.1算法复杂度的故事144
4.3.2平稳复杂度146
4.4习题148
第5章系统思维152
5.1系统思维一览152
5.1.1周到性153
5.1.2整体性155
5.1.3应对复杂性158
5.2抽象化161
5.2.1抽象三性质161
5.2.2数据抽象164
5.2.3文件与文件系统173
5.2.4控制抽象181
5.2.5模块抽象186
5.2.6()操作系统简介191
5.3模块化191
5.3.1逻辑门与组合电路192
5.3.2信息隐藏原理193
5.3.3时序电路198
5.4无缝衔接204
5.4.1扬雄周期原理204
5.4.2电路的无缝衔接: 宽进严出原理实例211
5.4.3指令的无缝衔接: 冯·诺依曼穷举原理实例213
5.4.4阿姆达尔定律214
5.5计算系统的创新故事216
5.5.1IBM S/360216
5.5.2关系数据库220
5.6习题223
第6章网络思维229
6.1初识互联网230
6.1.1初识万维网编程230
6.1.2网络名词术语233
6.1.3网络思维的价值235
6.2连通性238
6.2.1名字空间238
6.2.2网络拓扑243
6.3协议栈245
6.3.1分组交换246
6.3.2互联网协议栈247
6.4专业素养254
6.4.1性能意识254
6.4.2安全意识258
6.4.3专业规范264
6.5网络的创新故事266
6.5.1第一个计算机网络266
6.5.2因特网与万维网268
6.5.3大数据计算273
6.5.4臭虫与病毒274
6.6习题279
第7章计算机学科展望284
7.1学科研究对象与研究问题285
7.1.1研究对象285
7.1.2研究方法285
7.1.3格雷12问题287
7.1.4主要进步288
7.2学科演变与主要研究方向293
7.2.1学科演化树293
7.2.2计算机科学与技术296
7.2.3新型计算机300
致谢303
附录A计算机科学技术中常用的倍数和分数304
参考文献306
|