图书目录

目    录

第1章  概述 1

1.1  计算的起源 1

1.2  计算机的产生和发展阶段 3

1.2.1  计算机产生之前的计算历史 3

1.2.2  计算机的产生 7

1.2.3  计算机的发展阶段 10

1.2.4  我国计算机的发展历程 11

1.3  计算机的应用领域和发展趋势 14

1.3.1  计算机的应用领域 14

1.3.2  计算机的发展趋势 15

1.4  计算学科 16

1.4.1  计算学科的定义 16

1.4.2  计算学科的本质 16

1.4.3  计算学科的三个过程 17

1.4.4  计算学科新的应用领域 18

1.5  计算机科学与技术学科的知识体系 19

1.5.1  计算机科学与技术学科的形成

与发展 19

1.5.2  计算机科学与技术学科的

定义 19

1.5.3  计算机科学与技术学科的根本

问题及研究范畴 20

1.5.4  计算机科学与技术知识体系的

核心内容 20

1.6  计算机科学与技术学科的教育 23

1.6.1  教育的目的和基本要求 23

1.6.2  理论与实践相结合 24

1.6.3  学习方法 24

1.7  计算机产业 25

本章小结 25

习题 26

第2章  体系结构与组织 29

2.1  计算机体系结构的发展 29

2.2  数值数据 30

2.2.1  数的表示及数制转换 30

2.2.2  数的原码、反码和补码 35

2.2.3  定点数和浮点数 37

2.2.4  十进制数的编码 39

2.3  非数值数据 40

2.3.1  文字信息的编码 40

2.3.2  声音的编码 42

2.3.3  图形数据的编码 42

2.4  数据的机器级表示 43

2.4.1  数据的机器级编码 43

2.4.2  数据的汇编级编码 44

2.5  数字逻辑与数字系统 44

2.5.1  基本逻辑关系及逻辑门 44

2.5.2  逻辑代数与逻辑函数 46

2.6  计算机系统 48

2.6.1  图灵模型 48

2.6.2  冯·诺依曼机的基本组成 49

2.6.3  计算机系统的组成 50

2.6.4  计算机的硬件系统 51

2.6.5  计算机的软件系统 55

2.6.6  计算机的特点 55

2.6.7  计算机系统主要的技术指标 56

2.6.8  计算机的分类 57

2.6.9  计算机的基本工作方式 58

2.7  存储系统的组织与结构 58

2.7.1  存储器的分类 58

2.7.2  组织与结构 59

2.8  接口与通信 60

2.9  多核技术 62

2.10  高性能计算机 62

2.11  并行计算机 63

2.12  分布式系统 63

本章小结 64

习题 64

第3章  程序设计语言 67

3.1  程序设计语言概述 67

3.1.1  程序的概念 67

3.1.2  计算机程序设计语言 67

3.2  声明和类型 70

3.3  程序设计方法 70

3.3.1  结构化程序设计 70

3.3.2  面向对象程序设计 72

3.3.3  面向切面程序设计 73

3.3.4  函数式程序设计 74

3.3.5  事件驱动程序设计 74

3.3.6  程序设计风格 75

3.4  基本类型系统 75

3.5  编译原理 76

3.5.1  编译程序概述 76

3.5.2  词法分析 77

3.5.3  语法分析 78

3.5.4  语义处理 79

3.5.5  中间代码生成 79

3.5.6  中间代码优化 80

3.5.7  目标代码生成 80

3.5.8  编译技术的新发展 81

3.6  程序设计语言的设计 82

本章小结 82

习题 82

第4章  软件开发基础 85

4.1  程序设计基本概念 85

4.1.1  高级语言的基本语义和语法 85

4.1.2  变量和基本数据类型 87

4.1.3  简单输入输出 89

4.1.4  条件和循环控制结构 89

4.1.5  函数和参数传递 90

4.2  基本数据结构 91

4.2.1  基本概念 91

4.2.2  几种典型的数据结构 91

4.2.3  查找 92

4.2.4  排序 93

4.3  软件开发方法 93

4.3.1  程序理解 93

4.3.2  程序正确性 94

4.3.3  统一建模语言 94

4.3.4  简单重构 95

4.3.5  现代编程环境 96

本章小结 97

习题 97

第5章  算法与复杂度 99

5.1  算法基础 99

5.1.1  算法 99

5.1.2  算法的特性 100

5.2  算法策略 100

5.3  算法描述工具 104

5.4  算法的评价 104

5.5  基础自动机的可计算性及复杂度 105

5.5.1  可计算理论基础 105

5.5.2  有限状态自动机 106

5.5.3  正则表达式 106

5.5.4  停机问题 107

5.5.5  上下文无关文法 107

5.5.6  NP问题 108

5.6  分布式算法 109

5.7  自动机理论 109

5.8  加密算法 110

5.9  几何算法 111

5.10  并行算法 111

本章小结 112

习题 112

第6章  信息管理 114

6.1  模型与信息系统 114

6.1.1  信息 114

6.1.2  信息模型 114

6.1.3  信息获取和表示 115

6.1.4  信息系统 115

6.2  信息存储与检索 115

6.2.1  信息存储 115

6.2.2  信息检索 116

6.2.3  网络信息挖掘 116

6.2.4  数字图书馆 117

6.3  数据库系统 117

6.3.1  数据库 117

6.3.2  数据管理技术阶段 118

6.3.3  数据库技术的发展趋势 119

6.4  常用数据库管理系统 120

6.5  数据库的新发展 121

6.5.1  分布式数据库 121

6.5.2  并行数据库 122

6.5.3  空间数据库 122

6.5.4  多媒体数据库 122

6.5.5  主动数据库 123

6.5.6  数据仓库 123

6.6  多媒体系统 123

6.6.1  超文本和超媒体 123

6.6.2  数字地球与智慧城市 124

本章小结 125

习题 125

第7章  基于平台的开发 126

7.1  平台概述 126

7.1.1  平台 126

7.1.2  基于指定平台API的编程 126

7.1.3  平台语言 127

7.1.4  平台约束编程 127

7.2  Web平台 128

7.2.1  Web编程语言 128

7.2.2  Web平台约束 129

7.2.3  软件即服务 129

7.2.4  Web标准 130

7.3  移动平台 130

7.3.1  移动编程语言 130

7.3.2  移动无线通信的挑战 131

7.3.3  位置感知的应用 131

7.4  工业平台 132

7.4.1  工业平台的类型 132

7.4.2  机器人软件及其架构 132

7.4.3  领域特定语言 133

7.5  游戏平台 133

7.5.1  游戏平台的类型 133

7.5.2  游戏平台的语言 134

本章小结 135

习题 136

第8章  软件工程 137

8.1  软件工程概述 137

8.1.1  软件危机 137

8.1.2  软件工程的基本概念 138

8.1.3  软件工程的起源和发展 139

8.1.4  软件工程标准 139

8.2  软件工程过程 140

8.2.1  软件过程 140

8.2.2  软件生命周期 141

8.3  软件项目管理 142

8.3.1  软件项目计划概要 142

8.3.2  软件项目计划的内容 142

8.3.3  软件工程规范 142

8.3.4  软件开发成本估算 142

8.3.5  风险分析 143

8.3.6  软件项目进度安排 143

8.4  需求工程 143

8.4.1  需求工程简介 143

8.4.2  需求获取 144

8.4.3  需求分析 145

8.4.4  需求建模 146

8.4.5  需求的确认与验证 147

8.4.6  需求管理 148

8.5  软件设计 148

8.5.1  软件设计概述 148

8.5.2  软件设计原理 149

8.5.3  体系结构设计 150

8.5.4  设计原则 150

8.5.5  指导方针 150

8.6  软件构建 150

8.6.1  编码实现 150

8.6.2  编码标准 151

8.6.3  调试 151

8.6.4  程序中潜在的安全问题 151

8.6.5  软件复杂性 152

8.7  软件验证与确认 153

8.7.1  基本概念 153

8.7.2  软件评审 153

8.7.3  软件测试 154

8.7.4  软件质量评估 154

8.8  软件可靠性 156

8.8.1  软件可靠性的定义 156

8.8.2  软件可靠性的模型 156

8.8.3  容错软件技术 156

8.9  形式化方法 157

8.9.1  形式化方法的起源及发展 157

8.9.2  形式化方法的分类 157

8.9.3  形式化方法的优点 158

8.10  软件演化 158

8.10.1  代码段 158

8.10.2  组件 158

8.10.3  重构 159

8.10.4  软件重用 159

8.10.5  变更管理 160

8.11  软件环境和工具 160

8.11.1  软件开发环境 160

8.11.2  软件工具的基本概念 161

8.11.3  计算机辅助软件工程 161

本章小结 162

习题 162

第9章  操作系统 164

9.1  操作系统概述 164

9.1.1  操作系统的概念 164

9.1.2  操作系统的角色和目标 167

9.1.3  操作系统的功能 168

9.1.4  网络操作系统和移动操作

系统 169

9.1.5  操作系统的基本组成 170

9.1.6  操作系统的设计要素 170

9.1.7  操作系统的启动 170

9.2  操作系统的发展 170

9.3  操作系统的分类 172

9.4  操作系统的功能 173

9.4.1  资源管理功能 173

9.4.2  扩展的虚拟机功能 173

9.4.3  网络操作系统的功能 173

9.5  操作系统的体系结构 174

9.6  并发 175

9.7  调度和分发 175

9.8  安全和防护 175

9.9  文件系统 176

9.10  容错性 177

9.11  系统性能评估 177

9.12  脚本 177

9.13  主流操作系统 178

9.13.1  Windows操作系统 178

9.13.2  Unix操作系统 178

9.13.3  Linux操作系统 179

9.13.4  Mac OS操作系统 179

9.13.5  Android操作系统 180

9.14  操作系统的新发展 181

本章小结 181

习题 182

第10章  网络与通信 185

10.1  数据通信基础 185

10.1.1  数据通信的基本概念 185

10.1.2  数据通信的方式 186

10.1.3  数据传输的方式 187

10.2  计算机网络基础 188

10.2.1  互联网的组织 188

10.2.2  网络交换技术 188

10.2.3  网络物理组成 189

10.2.4  网络传输媒体 190

10.2.5  网络分层原理 191

10.2.6  网络体系结构 192

10.3  网络应用程序 193

10.3.1  命名和地址方案 193

10.3.2  分布式应用程序 196

10.3.3  HTTP协议 197

10.3.4  TCP和UDP 198

10.3.5  网络套接字 198

10.4  可靠数据传输 199

10.4.1  差错控制 199

10.4.2  流量控制 199

10.4.3  性能问题 200

10.5  路由和转发 200

10.5.1  路由器 200

10.5.2  路由协议 201

10.5.3  IP协议 201

10.6  局域网 202

10.6.1  局域网的起源与发展 202

10.6.2  局域网的分类 202

10.6.3  局域网拓扑结构 203

10.6.4  以太网 205

10.7  资源分配 205

10.7.1  资源分配的需求 205

10.7.2  资源分配的分类 206

10.7.3  拥塞控制与处理 207

10.8  移动性 207

10.8.1  蜂窝网 207

10.8.2  802.11网络 207

10.8.3  Wi-Fi 208

10.9  社交网络 208

10.9.1  社交网络概述 208

10.9.2  社交网络平台 209

10.9.3  社交网络安全性分析 209

10.10  区块链 210

10.10.1  区块链的起源 210

10.10.2  区块链的发展前景 210

10.11  5G/6G网络 211

本章小结 211

习题 211

第11章  系统基础 214

11.1  计算范式 214

11.1.1  计算范式简介 214

11.1.2  流水线技术 215

11.2  状态机 216

11.2.1  状态模式 216

11.2.2  状态机 216

11.3  并行性 217

11.3.1  提高并行性的途径 217

11.3.2  并发编程 218

11.4  评估技术 218

11.4.1  性能指标 218

11.4.2  性能分析 219

11.5  资源分配与调度技术 220

11.5.1  资源的种类 220

11.5.2  调度的种类 221

11.6  虚拟化与隔离 222

11.6.1  虚拟化技术 222

11.6.2  虚拟机的优势 223

11.7  冗余下的可靠性 224

11.7.1  缺陷和故障 224

11.7.2  冗余编码 225

11.8  定量评估 225

本章小结 226

习题 226

第12章  并行和分布式计算 228

12.1  并行基础 228

12.1.1  并行处理的应用 228

12.1.2  并行算法基本策略 228

12.1.3  并行软件 229

12.1.4  并行计算机的发展 230

12.2  并行分解 231

12.2.1  通信和协调/同步的

 必要性 231

12.2.2  独立性和分割 231

12.3  并行算法 232

12.3.1  访存模型 232

12.3.2  计算模型 232

12.3.3  并行算法的模式 232

12.4  并行体系结构 233

12.5  分布式系统 233

12.5.1  分布式系统的分类 233

12.5.2  分布式系统的特征 234

12.5.3  分布式系统的优缺点 234

12.5.4  分布式系统设计难点 235

12.6  云计算 236

12.6.1  云计算的产生背景 236

12.6.2  云计算的特点 237

12.6.3  云计算的实现形式 238

12.6.4  云计算的应用 238

本章小结 239

习题 239

第13章  信息保障与安全 241

13.1  信息安全基本概念 241

13.1.1  信息保障与安全的历史 241

13.1.2  CIA三元组 242

13.1.3  信息安全保障面临的威胁 242

13.1.4  身份验证、授权与访问

 控制 243

13.1.5  责任披露 244

13.2  安全性设计准则 244

13.2.1  最小权限原则 244

13.2.2  端到端原则 244

13.2.3  防御性编程 245

13.3  防错性程序设计 246

13.3.1  常见编程错误 246

13.3.2  防错性编程 247

13.4  网络安全 247

13.4.1  网络安全概念 247

13.4.2  网络安全面临的威胁 248

13.4.3  网络安全防护策略 249

13.5  密码学 251

13.5.1  密码学的发展过程 251

13.5.2  密码体制的分类 252

13.5.3  密码协议 253

本章小结 254

习题 255

第14章  离散结构 257

14.1  离散结构的研究对象及主要内容 257

14.1.1  离散结构的研究对象 257

14.1.2  离散结构研究的主要内容 257

14.2  集合论 258

14.2.1  集合的基本概念 258

14.2.2  函数 258

14.3  数理逻辑 259

14.3.1  命题逻辑 259

14.3.2  谓词逻辑 260

14.4  证明方法 261

14.4.1  证明的基本概念 261

14.4.2  基本证明的方法 262

14.5  计数基础 263

14.5.1  计数论及其应用 263

14.5.2  鸽巢原理 264

14.5.3  排列与组合 264

14.5.4  求解递推关系 264

14.5.5  模运算基础 265

14.6  图和树 265

14.6.1  图的基本概念 266

14.6.2  树 267

14.7  离散概率 267

本章小结 268

习题 269

第15章  计算科学 270

15.1  建模与仿真引言 270

15.1.1  建模与仿真的概念 270

15.1.2  建模与仿真的评价指标 271

15.1.3  仿真过程 272

15.1.4  建立模型 272

15.2  处理 273

15.2.1  基本的编程概念 273

15.2.2  数值方法 273

15.2.3  并行与分布式计算的基本

 属性 274

15.3  数值分析 275

15.3.1  数值分析中的误差 276

15.3.2  函数逼近 277

15.3.3  数值积分与微分 277

15.3.4  微分方程 277

本章小结 278

习题 278

第16章  图形学与可视化 279

16.1  图形学的基本概念 279

16.1.1  计算机图形信息的处理 279

16.1.2  计算机图形学的起源

 和发展 280

16.1.3  计算机图形学的主要研究

 内容 280

16.1.4  计算机图形学的应用 281

16.1.5  计算机图形的标准化 282

16.2  图形系统 284

16.2.1  图形系统的处理器 284

16.2.2  图形系统的存储器 284

16.2.3  图形系统的输入设备 284

16.2.4  图形系统的输出设备 285

16.3  计算机视觉和可视化 285

16.3.1  人的视觉 285

16.3.2  计算机视觉 286

16.3.3  可视化 286

16.4  图形用户界面 286

16.5  图形绘制 287

16.5.1  基本绘制 287

16.5.2  高级绘制 287

16.6  图像通信 288

16.7  几何建模 289

16.7.1  线框建模 289

16.7.2  曲面建模 289

16.7.3  实体建模 290

16.8  计算机动画 290

16.8.1  动画序列的创建 290

16.8.2  动画序列的设计 291

16.8.3  动画技术 291

16.8.4  计算机动画应用 291

本章小结 291

习题 292

第17章  人机交互 293

17.1  人机交互技术基础 293

17.2  人机交互模型 294

17.3  人机系统交互界面的构架 295

17.4  人机界面的设计 298

17.5  数据交互 298

17.6  语音交互 299

17.7  图像交互 300

17.8  行为交互 300

17.9  人机交互新发展 301

17.10  3D打印 302

17.11  4D打印 303

17.12  人机交互的发展趋势 303

本章小结 304

习题 304

第18章  智能系统 306

18.1  人工智能系统 306

18.1.1  人工智能 306

18.1.2  智能行为 308

18.2  知识表达及推理方法 309

18.2.1  知识与知识表示 309

18.2.2  一阶谓词逻辑表示法 309

18.2.3  经典推理技术 310

18.2.4  高级知识推理方法 311

18.2.5  不确定性推理方法 312

18.3  搜索技术 313

18.3.1  问题空间与状态空间 314

18.3.2  基本搜索策略 314

18.3.3  高级搜索方法 315

18.4  自然语言处理 316

18.4.1  自然语言的发展 316

18.4.2  句法和语义的分析 318

18.4.3  机器翻译 319

18.4.4  语音识别 320

18.5  计算智能 321

18.5.1  计算智能概述 321

18.5.2  群体智能 322

18.5.3  人工神经网络 322

18.6  机器学习方法 323

18.6.1  机器学习简介 323

18.6.2  机器学习的方法与任务 325

18.6.3  简单统计学习 326

18.6.4  拟合问题 327

18.7  机器人学 328

18.7.1  机器人学简介 328

18.7.2  智能机器人的研究领域 329

18.7.3  代理 330

18.8  人工智能的应用 330

18.8.1  智能家居 330

18.8.2  智能零售 331

18.8.3  智能出行 331

18.8.4  人工智能改变生活 331

本章小结 331

习题 332

第19章  社会问题与专业实践 334

19.1  社会环境 334

19.1.1  计算的社会寓意 334

19.1.2  社交媒体 334

19.2  分析工具 335

19.2.1  伦理的论证 335

19.2.2  伦理学理论 335

19.3  职业道德 336

19.3.1  道德的哲学含义 336

19.3.2  职业道德的概念及作用 336

19.3.3  计算机专业人员的职业道德

 准则 336

19.3.4  计算机用户的道德 337

19.4  知识产权 338

19.4.1  知识产权的概念 338

19.4.2  知识产权的法律基础 339

19.4.3  计算机软件的版权 339

19.4.4  发明专利权 340

19.4.5  商业秘密 340

19.4.6  商标权 340

19.4.7  剽窃 341

19.5  隐私和公民自由 341

19.5.1  隐私权 341

19.5.2  隐私保护的法律基础 341

19.5.3  隐私保护技术 341

19.6  专业交流 342

19.7  可持续性 343

19.8  历史 343

19.9  计算经济性 343

19.10  安全政策、法律和计算机犯罪 344

19.10.1  安全政策、法律 344

19.10.2  计算机犯罪 345

19.10.3  计算机犯罪预防策略 345

本章小结 346

习题 346

参考文献 348