第0章 绪论 1
0.1 什么是计算机科学 1
0.1.1 计算机科学的提出 1
0.1.2 计算机科学的领域 2
0.1.3 计算机与计算机模型 4
0.1.4 计算机科学中的经典问题 4
0.2 计算机的历史 8
0.2.1 计算机前传 8
0.2.2 现代计算机时代 9
0.2.3 计算机的未来 12
0.3 我国计算机的发展 13
0.4 计算机与社会问题 14
0.4.1 依赖与控制 14
0.4.2 对生活方式影响 14
0.4.3 计算机伦理 15
0.4.4 计算机犯罪 16
小结 17
习题 17
第1章 数据的表示与编码 20
1.1 数和数制 20
1.1.1 数字系统 20
1.1.2 计数与进制 22
1.1.3 二进制和位 23
1.1.4 八进制和十六进制 24
1.1.5 不同进制数的相互转换 24
1.2 数值的表示与运算 28
1.2.1 整数的表示 28
1.2.2 实数的表示 31
1.2.3 位的算术运算 32
1.3 非数值信息的编码 34
1.3.1 字符的编码——ASCII 34
1.3.2 汉字的编码 36
1.3.3 Unicode码 37
1.3.4 静态图像的编码 37
1.3.5 动态数据的编码 39
小结 40
习题 41
第2章 计算机系统结构 44
2.1 计算机系统的多级层次结构 44
2.2 体系结构的基本概念 47
2.2.1 计算机体系结构 47
2.2.2 计算机组成 48
2.2.3 计算机实现 49
2.3 冯·诺依曼结构和哈佛结构 51
2.3.1 冯·诺依曼理论 51
2.3.2 冯·诺依曼体系结构 52
2.3.3 冯·诺依曼结构的演变 53
2.3.4 哈佛结构 54
2.4 处理器体系结构 55
2.4.1 指令系统 55
2.4.2 CISC结构 56
2.4.3 RISC结构 58
2.4.4 流水线技术 59
2.4.5 并行处理结构 60
2.5 计算机软件系统 62
小结 64
习题 65
第3章 计算机硬件组成 68
3.1 计算机硬件系统组成 68
3.2 处理器 69
3.2.1 运算器 69
3.2.2 控制器 71
3.2.3 摩尔定律与处理器的发展 71
3.3 存储器 73
3.3.1 计算机的多级存储系统 73
3.3.2 主存储器和高速缓存 74
3.3.3 辅助存储器 76
3.4 输入/输出设备 78
3.4.1 I/O设备的分类 79
3.4.2 常见输入设备 79
3.4.3 常见输出设备 80
3.5 总线与接口 82
3.5.1 总线的分类 82
3.5.2 系统总线 82
3.5.3 I/O总线 83
小结 84
习题 85
第4章 操作系统 88
4.1 操作系统概述 88
4.1.1 操作系统的基本概念 88
4.1.2 操作系统的功能作用 88
4.1.3 操作系统的组成 90
4.1.4 操作系统的发展与分类 91
4.2 操作系统的运行 93
4.2.1 处理器管理与进程调度 93
4.2.2 存储管理 99
4.2.3 文件系统 100
4.2.4 设备管理 102
4.3 典型操作系统 103
4.3.1 Windows系列 104
4.3.2 UNIX 104
4.3.3 自由软件和Linux操作系统 105
小结 107
习题 108
第5章 数据结构与算法 111
5.1 概述 111
5.1.1 数据结构 112
5.1.2 算法 113
5.2 线性结构 117
5.2.1 线性表 117
5.2.2 栈和队列 118
5.2.3 串 119
5.2.4 数组 119
5.3 非线性结构 120
5.3.1 树 120
5.3.2 图 122
5.4 基本算法 123
5.4.1 排序 124
5.4.2 查找 126
5.5 递归 127
小结 129
习题 129
第6章 程序设计语言 133
6.1 计算机语言的发展 133
6.1.1 自然语言与形式语言 134
6.1.2 机器语言与汇编语言 135
6.1.3 高级语言 136
6.2 程序设计语言的几种范型 137
6.3 程序设计语言的语法元素和功能划分 139
6.4 程序的生成和运行 143
6.4.1 编译和解释 143
6.4.2 程序设计环境 146
小结 148
习题 149
第7章 数据库与文件系统 152
7.1 数据库的基本概念 152
7.1.1 什么是数据库 153
7.1.2 数据模型 156
7.1.3 数据字典 157
7.2 关系数据库及其运算 158
7.2.1 关系模型 158
7.2.2 结构化查询语言 161
7.3 文件系统 163
7.3.1 文件的基本概念 164
7.3.2 文件结构及存取方式 164
7.3.3 顺序文件 167
7.3.4 索引文件 167
7.3.5 散列文件 168
7.3.6 二进制文件和文本文件 169
小结 169
习题 170
第8章 软件工程 173
8.1 软件与软件工程 173
8.1.1 什么是软件 173
8.1.2 软件工程 174
8.2 软件开发过程 175
8.2.1 软件生存周期 176
8.2.2 软件过程模型 176
8.2.3 需求分析 179
8.3 软件工程的方法 181
8.3.1 结构化方法 181
8.3.2 面向对象的方法 185
8.4 软件质量管理 188
8.4.1 软件质量的含义 188
8.4.2 软件质量的评价 188
8.4.3 如何保证软件质量 189
8.4.4 软件评审 189
8.4.5 软件测试 189
8.5 软件项目管理 191
8.5.1 组织计划 191
8.5.2 资源管理 192
8.5.3 文档管理 192
8.5.4 项目管理过程 192
小结 194
习题 195
第9章 计算机网络 198
9.1 什么是计算机网络 198
9.1.1 计算机网络的历史 198
9.1.2 计算机网络的定义 199
9.1.3 计算机网络的功能 200
9.1.4 计算机网络的分类 200
9.1.5 以太网 201
9.2 计算机网络体系结构 202
9.2.1 概述 202
9.2.2 OSI/RM 203
9.2.3 TCP/IP模型 204
9.3 组建网络 206
9.3.1 计算机网络拓扑 206
9.3.2 网络的物理组成 207
9.3.3 连接网络 208
9.4 Internet及应用 209
9.4.1 Internet简介 209
9.4.2 传输协议与地址 210
9.4.3 Internet应用 213
9.4.4 Internet发展新趋势 216
小结 217
习题 217
第10章 计算机信息系统安全 220
10.1 计算机信息系统安全概述 220
10.1.1 安全威胁 221
10.1.2 安全目标 222
10.1.3 安全服务与安全机制 222
10.1.4 安全策略 224
10.2 数据加密 225
10.2.1 密码学基础 225
10.2.2 加密技术 226
10.3 计算机病毒 228
10.3.1 计算机病毒概论 229
10.3.2 计算机病毒的作用机理 230
10.3.3 计算机病毒防治 232
10.4 防火墙与入侵检测 233
10.4.1 防火墙 233
10.4.2 入侵监测技术 235
小结 238
习题 239