《计算机科学与技术导论》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:张小峰,贾世祥,柳婵娟,邹海林编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302261797
  • 页数:432 页
图书介绍:本书以计算机学科知识体系来组织内容,包括计算机的产生于发展、计算机科学基本理论和基本方法、数据表示与数字逻辑等内容。

第1章 计算机的产生与发展 1

1.1 计算的起源 1

1.1.1 数的概念及记数方式的诞生 1

1.1.2 古埃及数学及记数体系 2

1.1.3 巴比伦数学及记数体系 3

1.1.4 中国古代记数体系及算术 3

1.1.5 古印度数学及记数体系 6

1.2 早期的计算工具 6

1.2.1 世界最早的计算工具——中国算筹 6

1.2.2 耐普尔算筹 7

1.2.3 计算尺 8

1.3 机械计算机的研制 9

1.4 电磁计算机 11

1.5 电子计算机的发明 14

1.6 电子计算机的发展与应用 17

1.6.1 电子计算机的发展阶段 17

1.6.2 巨型机的研究与发展 20

1.6.3 微型计算机的发展 23

科学人物 25

参考文献 28

第2章 计算科学 29

2.1 计算理论 29

2.1.1 布尔代数 29

2.1.2 有穷自动机 31

2.1.3 图灵机 33

2.2 计算科学概述 36

2.2.1 计算科学的基本问题 36

2.2.2 计算科学的基本内容 37

2.2.3 计算科学与其他相关学科的关系 39

2.3 计算科学中的典型问题 39

2.3.1 哥尼斯堡七桥问题 39

2.3.2 四色问题 40

2.3.3 36军官问题 41

2.3.4 哈密尔顿回路及旅行推销员问题 42

2.3.5 Hanoi塔问题 43

2.3.6 生产者-消费者问题与哲学家共餐问题 44

2.4 计算机学科的典型方法 45

2.4.1 抽象方法 46

2.4.2 构造性方法 46

2.4.3 公理化方法 47

2.4.4 形式化方法 48

2.4.5 原型方法与演化方法 48

知识链接 48

科学人物 49

阅读材料 52

2.5 人工智能 61

2.5.1 人工智能的产生 61

2.5.2 人工智能主要研究内容 67

2.5.3 人工智能发展与应用展望 70

2.6 人工神经网络 72

2.6.1 多层感知网络 73

2.6.2 竞争型神经网络 74

2.6.3 Hopfield神经网络 74

科学人物 75

参考文献 81

第3章 数据表示与数字逻辑 82

3.1 数制 82

3.1.1 进位计数制 82

3.1.2 不同进位制数的转换 84

3.2 编码 89

3.2.1 BCD码 89

3.2.2 文本 91

3.2.3 图像 95

3.2.4 声音 96

3.2.5 可靠性编码 96

3.3 二进制逻辑运算 101

3.4 二进制算术运算 102

3.4.1 原码、反码及补码 102

3.4.2 定点数与浮点数 105

3.4.3 算术运算 107

3.5 逻辑门电路 110

3.5.1 晶体管 110

3.5.2 非门 112

3.5.3 与非门 112

3.5.4 或非门 112

3.6 组合逻辑电路 113

3.6.1 逻辑函数 113

3.6.2 译码器 114

3.6.3 多路复用器 115

3.6.4 加法器 115

3.7 时序逻辑电路 117

3.7.1 存储单元 117

3.7.2 时序逻辑电路的结构 120

3.7.3 计数器 120

3.7.4 内存 122

知识链接 123

阅读材料 124

参考文献 127

第4章 计算机组成与体系结构 128

4.1 概述 128

4.1.1 冯·诺依曼计算机结构 128

4.1.2 计算机组成与体系结构的差别 129

4.1.3 计算机的分类 130

4.2 中央处理器 131

4.2.1 计算机指令 131

4.2.2 CPU的功能与组成 132

4.2.3 CISC和RISC 135

4.2.4 指令流水线 136

4.2.5 向量计算机 137

4.3 存储器 138

4.3.1 存储器概述 138

4.3.2 存储器的层次结构 139

4.3.3 半导体存储器 140

4.3.4 主存储器 142

4.3.5 Cache 143

4.3.6 磁盘存储器 146

4.3.7 光盘存储器 148

4.3.8 虚拟存储器 149

4.3.9 NAS和SAN 153

4.4 总线 155

4.4.1 总线的基本概念 155

4.4.2 总线的分类 156

4.4.3 总线特性及性能指标 157

4.4.4 总线标准 158

4.5 输入/输出系统 162

4.5.1 输入/输出设备 162

4.5.2 输入/输出接口 163

4.5.3 I/O编址 164

4.5.4 I/O控制方式 164

4.6 并行计算机 167

4.6.1 并行计算机的分类 167

4.6.2 片内并行 168

4.6.3 单片多处理器 169

4.6.4 协处理器 170

4.6.5 多处理器 170

4.6.6 多计算机 171

4.6.7 网格 172

知识链接 174

阅读材料 175

参考文献 178

第5章 操作系统 180

5.1 操作系统概论 180

5.1.1 操作系统的功能 180

5.1.2 操作系统的特征 181

5.2 操作系统的发展与分类 182

5.2.1 手工处理阶段 182

5.2.2 批处理系统 182

5.2.3 多道程序系统 184

5.2.4 分时系统 184

5.2.5 实时系统 186

5.2.6 微机操作系统 187

5.2.7 多处理器系统 188

5.2.8 网络操作系统 188

5.2.9 分布式操作系统 190

5.3 进程管理 191

5.3.1 进程的概念 191

5.3.2 进程的组成 192

5.3.3 进程的创建 192

5.3.4 进程的终止 193

5.3.5 进程的状态 194

5.3.6 处理器调度 194

5.3.7 线程 197

5.4 进程的并发控制 198

5.4.1 进程的互斥 198

5.4.2 进程的同步 201

5.4.3 信号量与PV操作 201

5.4.4 管程 202

5.4.5 死锁与饥饿 203

5.5 存储管理 205

5.5.1 存储管理的功能 205

5.5.2 存储管理基本技术 206

5.5.3 分页和分段存储管理 207

5.5.4 虚拟存储技术 207

5.6 文件系统 208

5.6.1 文件的概念 208

5.6.2 文件的实现 211

5.6.3 目录的概念 213

5.6.4 目录的实现 215

5.6.5 文件的共享和保护 216

5.7 设备管理 217

5.7.1 设备管理的目标与功能 217

5.7.2 设备的分类 218

5.7.3 输入/输出控制方式 219

5.7.4 缓冲技术 220

5.7.5 设备驱动程序 220

5.7.6 设备分配 220

知识链接 222

阅读材料 224

参考文献 235

第6章 高级程序设计语言 237

6.1 程序设计语言的发展 237

6.1.1 机器语言 237

6.1.2 汇编语言 238

6.1.3 高级语言 240

6.2 程序设计的一般过程 241

6.2.1 分析问题寻求算法 241

6.2.2 程序设计 242

6.2.3 程序实现 242

6.2.4 程序正确性检验 242

6.3 程序的基本结构 243

6.4 数据类型与运算 244

6.4.1 基本字符、标识符和关键字 245

6.4.2 类型与数据表示 246

6.4.3 运算符、表达式 249

6.4.4 计算与类型 251

6.5 数组 252

6.5.1 数组的概念、定义和使用 252

6.5.2 数组实例 255

6.6 程序控制结构 257

6.6.1 条件语句 258

6.6.2 while循环语句 260

6.6.3 for循环语句 261

6.7 函数 263

6.7.1 一个简单的函数调用 263

6.7.2 函数定义的形式 265

6.7.3 形参与实参 266

6.7.4 函数与程序 267

6.8 程序设计方法 269

6.8.1 结构化程序设计 269

6.8.2 面向对象的程序设计 270

6.8.3 程序设计方法的发展 271

6.9 程序的书写规则 272

6.9.1 变量的命名 272

6.9.2 语句的层次和对齐 272

6.9.3 注释 273

知识链接 274

阅读材料 275

参考文献 278

第7章 数据结构与算法 279

7.1 概述 279

7.1.1 数据结构 279

7.1.2 算法 280

7.2 线性结构 280

7.2.1 数组 280

7.2.2 链表 282

7.2.3 堆栈 285

7.2.4 队列 288

7.3 树 290

7.3.1 树的实现 290

7.3.2 二叉树包 292

7.4 图 296

7.4.1 图的存储 297

7.4.2 图的遍历 297

7.4.3 最小生成树 298

7.5 排序 300

7.5.1 直接插入排序 301

7.5.2 冒泡排序 302

7.5.3 快速排序 303

7.5.4 归并排序 304

7.6 递归与分治策略 304

7.6.1 递归 305

7.6.2 分治策略 305

知识链接 306

科学人物 307

参考文献 309

第8章 数据库技术 310

8.1 数据管理的发展 310

8.2 数据模型与数据库系统 313

8.2.1 数据模型及其组成要素 313

8.2.2 概念模型 314

8.2.3 基于层次模型的数据库系统 315

8.2.4 基于网状模型的数据库系统 316

8.2.5 基于关系模型的数据库系统 317

8.2.6 常用的数据库管理系统 319

8.3 SQL语言 320

8.3.1 SQL的产生和发展 320

8.3.2 SQL的特点 321

8.3.3 SQL的功能 321

8.4 事务处理技术与并发控制 322

8.4.1 事务 322

8.4.2 数据库并发控制 323

8.5 几种新型的数据库系统 324

8.5.1 分布式数据库 325

8.5.2 联邦式数据库 325

8.5.3 并行数据库 326

8.5.4 主动数据库 326

8.5.5 知识库 326

8.5.6 面向对象数据库 327

8.5.7 多媒体数据库 328

8.5.8 模糊数据库 328

8.5.9 数据仓库 328

8.6 数据库系统的应用 329

8.6.1 信息与信息系统 329

8.6.2 事务处理系统 331

8.6.3 管理信息系统 331

8.6.4 决策支持系统 332

8.6.5 数据挖掘 333

知识链接 334

科学人物 334

参考文献 339

第9章 软件工程 340

9.1 软件与软件工程 340

9.1.1 软件与软件危机 340

9.1.2 软件工程简介 342

9.2 可行性研究与需求分析 344

9.2.1 可行性论证 344

9.2.2 需求分析 344

9.3 总体设计 346

9.3.1 总体设计的任务 346

9.3.2 总体设计的过程 347

9.4 详细设计与软件编码 348

9.4.1 详细设计 348

9.4.2 软件编码 349

9.5 软件测试 350

9.5.1 软件测试的基本概念 351

9.5.2 软件测试方法 352

9.5.3 软件测试策略 353

9.6 软件维护 354

9.6.1 软件维护的概念 354

9.6.2 软件维护的特点 355

9.6.3 软件维护的过程 355

9.7 面向对象方法 356

9.7.1 面向对象分析 356

9.7.2 面向对象设计 357

9.7.3 面向对象实现 359

9.8 统一建模语言 359

9.8.1 UML的组成 360

9.8.2 静态建模 360

9.8.3 动态建模 361

9.8.4 基于UML的统一建模过程 362

阅读材料 362

参考文献 366

第10章 计算机网络 368

10.1 计算机网络的产生与发展 368

10.2 计算机网络的结构与组成 372

10.2.1 计算机网络分类 372

10.2.2 计算机网络的拓扑结构 373

10.3 计算机网络体系结构 375

10.3.1 通信协议 375

10.3.2 网络系统的体系结构 376

10.3.3 开放系统互连参考模型 378

10.3.4 TCP/IP参考模型 380

10.3.5 OSI参考模型和TCP/IP参考模型的比较 387

10.3.6 5层网络参考模型 388

10.4 常用计算机网络设备 389

10.5 计算机网络安全 395

10.5.1 基本概念 395

10.5.2 网络安全攻击 396

10.5.3 网络安全策略 397

10.5.4 网络安全机制 397

10.5.5 防火墙 400

10.5.6 入侵检测 402

10.6 网络应用中的社会问题 405

10.7 计算机网络技术的新发展 407

10.7.1 新型网络应用技术 407

10.7.2 宽带网络技术 410

10.7.3 统一网络技术 411

10.7.4 P2P网络研究与发展 413

10.7.5 计算机网络技术发展展望 418

阅读材料 420

参考文献 432