目 录
第1章 计算机发展简史 1
1.1 第一台电子计算机的诞生 1
1.1.1 早期的计算工具 1
1.1.2 机械式计算机 2
1.1.3 电子计算机 5
1.2 计算机的发展 8
1.2.1 第一代计算机 8
1.2.2 第二代计算机 9
1.2.3 第三代计算机 10
1.2.4 第四代计算机 11
1.2.5 第五代计算机 12
1.2.6 计算机的发展趋势 14
1.3 中国计算机发展简史 14
1.4 著名的计算机公司 16
1.4.1 IBM公司 16
1.4.2 Intel公司 18
1.4.3 Microsoft(微软)公司 20
1.4.4 联想集团 22
1.5 著名的计算机科学家 22
1.5.1 图灵 22
1.5.2 冯·诺依曼 25
1.5.3 吴文俊 27
1.5.4 王选 28
1.5.5 金怡濂 29
1.6 计算机学术组织 30
1.6.1 IEEE-CS(电气和电子工程师学会计算机学会) 30
1.6.2 ACM(美国计算机协会) 31
1.6.3 中国计算机学会 32
1.7 计算机奖项 32
1.7.1 图灵奖 32
1.7.2 IEEE-CS的计算机先驱奖 34
思考题 37
第2章 计算机基础知识 38
2.1 计算机系统及工作原理 38
2.1.1 计算机系统 38
2.1.2 计算机工作原理 38
2.2 计算机硬件子系统 40
2.2.1 中央处理器 40
2.2.2 内存 42
2.2.3 外存 43
2.2.4 输入设备 45
2.2.5 输出设备 47
2.3 数据存储 48
2.3.1 数据表示 48
2.3.2 在文件中存储数据 50
2.3.3 按照目录组织文件 52
2.4 计算机分类 52
2.4.1 超级计算机 52
2.4.2 大型机 53
2.4.3 小型计算机 53
2.4.4 工作站与微型计算机 54
2.5 计算机软件子系统 55
2.5.1 软件的作用 55
2.5.2 系统软件 55
2.5.3 应用软件 56
思考题 57
第3章 计算机专业知识体系 58
3.1 素质培养与知识体系 58
3.2 学科基础知识 60
3.2.1 数学知识 60
3.2.2 物理学及电子学知识 64
思考题 67
第4章 软硬件系统知识 68
4.1 计算机组成原理 68
4.1.1 系统总线 68
4.1.2 存储器 72
4.1.3 CPU的结构与功能 76
4.1.4 外围设备 77
4.1.5 输入输出系统 79
4.2 操作系统 83
4.2.1 操作系统概念 83
4.2.2 操作系统的形成与发展 85
4.2.3 操作系统的特征 90
4.2.4 操作系统的功能 92
4.2.5 操作系统实例 97
4.3 计算机网络 99
4.3.1 计算机网络发展历程 99
4.3.2 计算机网络基本概念 100
4.3.3 物理层 106
4.3.4 数据链路层 108
4.3.5 网络层 109
4.3.6 传输层及其高层 111
4.3.7 局域网技术 112
4.3.8 因特网技术 114
4.3.9 计算机网络安全 117
思考题 120
第5章 程序设计知识 121
5.1 高级语言程序设计 121
5.1.1 概述 121
5.1.2 C语言简介 122
5.1.3 数据类型 124
5.1.4 运算符及表达式 129
5.1.5 结构化程序设计及控制语句 131
5.2 数据结构 135
5.2.1 概念和术语 136
5.2.2 线性表 136
5.2.3 栈和队列 139
5.2.4 树形结构 140
5.2.5 图 143
5.2.6 查找 145
5.2.7 排序 147
5.3 编译原理 148
5.3.1 编译程序概述 148
5.3.2 词法分析 149
5.3.3 语法分析 149
5.3.4 中间代码生成 150
5.3.5 中间代码优化 151
5.3.6 目标代码生成 151
5.3.7 编译程序的开发 152
思考题 152
第6章 软件开发知识 153
6.1 数据库原理 153
6.1.1 关系数据库 153
6.1.2 关系数据库语言 154
6.1.3 常用关系数据库管理系统 155
6.1.4 数据库应用系统开发工具 157
6.1.5 数据库设计 157
6.1.6 数据库的恢复 159
6.1.7 数据库的并发控制 161
6.1.8 数据库的完整性 163
6.1.9 数据库的安全性 164
6.2 软件工程 165
6.2.1 软件开发的复杂性 166
6.2.2 软件开发方法 166
6.2.3 系统分析 169
6.2.4 系统设计 171
6.2.5 系统实施 174
6.2.6 系统运行与维护 176
思考题 176
第7章 计算机领域的典型问题 177
7.1 哥尼斯堡七桥问题与哈密尔顿回路问题 177
7.2 汉诺塔问题 179
7.3 算法复杂性中的难解性问题 180
7.4 哲学家共餐问题 183
7.5 旅行商问题 183
7.6 图灵测试问题 184
7.7 博弈问题 185
思考题 186
第8章 计算机学科方法论 187
8.1 计算机学科方法论简介 187
8.1.1 计算机学科的发展 187
8.1.2 计算机专业教学的背景 187
8.2 计算机学科的定义 188
8.2.1 计算的本质 188
8.2.2 计算机学科的根本问题 189
8.3 计算机学科的方法论 189
8.3.1 计算机学科方法论的定义 189
8.3.2 计算机学科方法论的主要内容 190
8.3.3 计算机学科方法论研究的意义 190
8.4 学科的三个形态 191
8.4.1 抽象形态 191
8.4.2 理论形态 192
8.4.3 设计形态 192
8.4.4 三个学科形态的内部联系 193
8.5 计算机学科中的核心概念 193
8.6 计算机学科中的数学方法 195
8.6.1 数学的基本特征 195
8.6.2 数学方法的作用 195
8.6.3 数学中的证明方法 196
8.6.4 递归方法和迭代方法 197
8.6.5 公理化方法 198
8.6.6 形式化方法 198
8.7 计算机学科中的系统科学方法 200
8.7.1 系统科学的基本思想 200
8.7.2 系统科学的基本概念 200
8.7.3 系统科学遵循的一般原则 201
思考题 202
主要参考文献 203