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

  • 购买积分:15 如何计算积分?
  • 作  者:邹海林编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2008
  • ISBN:7030218892
  • 页数:480 页
图书介绍:本书以计算机学科历史渊源、发展过程、学科知识体系来组织内容,包括计算机发展史、计算机科学基本理论的形成与发展、程序设计语言原理与发展、数据库技术原理与发展、计算机网络技术及其发展、数据存储技术原理与发展以及计算机产业的崛起与发展等内容。一方面,提供对计算机科学理论的概览,使读者能够对这一学科的基本理论、学科知识体系、方法以及与其它学科之间的关系有所了解;另一方面,介绍计算机科学技术发生、发展的历史背景知识,让学生了解半个世纪以来,计算机科学技术及其信息产业发展所经历的曲折和困难。激发和增强读者学习计算机科学的兴趣和积极性,为学习后续课程和献身计算机科学事业奠定方法论基础。

第1章 计算的起源与早期的计算工具 1

1.1 计算的起源 1

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

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

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

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

1.1.5 古印度数学及计数体系 8

1.2 早期的计算工具 9

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

1.2.2 耐普尔算筹 11

1.2.3 计算尺的发明 12

参考文献 14

第2章 机械计算机的研制 15

2.1 契卡德研制的机械计算机 15

2.2 帕斯卡加法计算机 16

2.3 莫兰德机械计算机 17

2.4 莱布尼茨对帕斯卡计算机的改进 18

2.5 程序控制概念的提出 19

2.6 巴贝奇的成就与悲剧 21

2.7 爱达与程序设计思想 24

2.8 霍勒里斯发明数据分析处理机 25

2.9 模拟计算机的诞生 27

2.9.1 奥涅尔手摇式计算机 27

2.9.2 布什微分分析仪 28

参考文献 29

第3章 电磁计算机的研制 30

3.1 斯蒂比兹与电磁式数字计算机 30

3.2 朱斯与第一台通用程序控制计算机 31

3.3 哈佛Mark系列自动程序控制计算机 33

3.3.1 艾肯与Mark系列自动程序控制计算机 33

3.3.2 赫柏与Mark系列计算机 35

哈佛大学 36

参考文献 39

第4章 电子计算机时代 40

4.1 电子计算机产生的条件和背景 40

4.1.1 电子管的发明 40

4.1.2 晶体管的发明 41

4.1.3 集成电路的诞生 43

4.2 阿塔诺索夫、贝瑞与ABC计算机 44

4.3 英国Colossus计算机 46

4.4 第一台数字电子计算机——ENIAC 47

4.4.1 莫克莱、埃克特与ENIAC设计团队 47

宾夕法尼亚大学 53

4.4.2 冯·诺依曼提出EDVAC方案 54

4.4.3 戈德斯坦与ENIAC计算机 55

4.5 第一台存储程序计算机——EDSAC 56

4.6 曼彻斯特大学的MARK计算机 58

4.7 图灵、威尔金森与ACE电子计算机 60

参考文献 61

第5章 电子计算机的发展与应用 62

5.1 电子管计算机时代 62

5.1.1 第一台通用计算机UNIVAC 62

5.1.2 SEAC和SWAC计算机 63

5.1.3 冯·诺依曼、波莫尼与IAS计算机 65

5.1.4 从IBM 604到IBM 701、IBM 650 66

5.1.5 麻省理工学院Whirlwind计算机 68

麻省理工学院 71

5.2 晶体管计算机时代 74

5.2.1 晶体管计算机的发明与个人计算机LINC的诞生 74

5.2.2 IBM Stretch和UNIVAC Larc计划 76

5.3 集成电路计算机时代 79

5.3.1 布鲁克斯、伊万斯与IBM 360系列计算机 80

5.3.2 DEC的辉煌与奥尔森的悲剧 84

5.3.3 “小型机之父”——戈登·贝尔 86

5.3.4 卡斯特罗与DGC Nova小型计算机 88

5.4 中大型计算机时代 89

5.5 巨型机的研究与发展 91

5.5.1 诺雷斯、克雷与CDC系列巨型计算机 91

5.5.2 IBM研制超级计算机 94

5.5.3 中国“银河”巨型计算机 95

参考文献 97

第6章 计算机科学理论的形成 98

6.1 布尔与布尔代数 98

6.2 香农对布尔代数的实验研究 99

6.3 维纳提出计算机设计的原则 100

6.4 图灵与图灵机模型 101

6.5 冯·诺依曼体系计算机 106

参考文献 108

第7章 微处理器及其发展 109

7.1 微处理器概述 109

7.2 Intel创立 111

7.2.1 “硅谷人才摇篮”——仙童 111

7.2.2 Intel三杰——诺伊斯、摩尔和格鲁夫 113

7.3 微处理器的诞生与发展 116

7.3.1 霍夫与第一块微处理器Intel 4004 116

7.3.2 Zilog公司与Z-80微处理芯片 120

7.3.3 32位微处理器的诞生 120

7.3.4 Pentium微处理器 123

7.3.5 多媒体扩展指令集微处理器 124

7.3.6 64位微处理器 127

7.3.7 RISC和CISC技术 129

7.4 AMD与微处理器 130

参考文献 133

第8章 微型计算机及其发展 134

8.1 施乐与Xerox Alto微型计算机 134

8.2 第一台微型计算机——Altair 8800 137

8.3 家酿电脑俱乐部 138

8.4 微软创立 139

8.5 苹果电脑的诞生与发展 143

8.5.1 乔布斯、沃兹尼亚克创立苹果公司 143

8.5.2 苹果电脑的辉煌 146

8.5.3 跌入低谷的“苹果” 148

8.6 IBM-PC的诞生 150

8.6.1 IBM-PC之父——唐·埃斯特利奇 150

8.6.2 开放、兼容的IBM-PC 151

8.6.3 IBM在PC上的失误及其教训 152

8.6.4 康柏、宏基、戴尔电脑的崛起 153

参考文献 155

第9章 数据表示与数据组织 156

9.1 计算机中的数据表示 156

9.1.1 数据位及其存储 156

9.1.2 数制 158

9.1.3 数的定点及浮点表示 167

9.1.4 数的原码、反码及补码表示 170

9.1.5 数字编码 173

9.1.6 算术运算 181

9.1.7 逻辑运算 183

9.2 数据结构 184

9.2.1 数据结构基础 184

9.2.2 数组 186

9.2.3 表 187

9.2.4 堆栈 190

9.2.5 队列 193

9.2.6 树 194

参考文献 200

第10章 数据存储技术 201

10.1 存储器概述 201

10.1.1 存储器的分类 201

10.1.2 存储器的主要技术指标 203

10.2 早期的数据存储方法 203

10.2.1 延迟线存储器 204

10.2.2 磁鼓存储器 205

10.2.3 磁芯存储器 205

10.3 磁表面存储原理 207

10.3.1 磁表面存储器的记录原理 207

10.3.2 磁表面存储器的记录方式 208

10.4 磁带存储器 211

10.4.1 磁带机的诞生 211

10.4.2 磁带机及其结构原理 212

10.4.3 磁带的记录格式 214

10.5 磁盘存储器 214

10.5.1 软磁盘 214

10.5.2 硬磁盘 218

10.5.3 磁盘阵列 225

10.6 半导体存储器 227

10.6.1 只读存储器 227

10.6.2 随机存储器 231

10.7 光盘存储技术 233

10.7.1 光盘存储器的分类 233

10.7.2 光盘存储器的存取原理 234

10.7.3 光盘存储器 235

10.7.4 光盘存储器的发展 235

10.8 存储技术的新发展 236

10.8.1 网络附加存储NAS 237

10.8.2 存储区域网络SAN 237

10.9 高速缓冲存储器 238

10.9.1 地址映象 238

10.9.2 替换算法 241

10.9.3 Cache的读/写过程 241

10.10 虚拟存储器 242

10.10.1 页式虚拟存储器 243

10.10.2 段式虚拟存储器 244

10.10.3 段页式虚拟存储器 245

参考文献 246

第11章 程序设计语言原理及其发展 247

11.1 早期的程序设计语言 247

11.1.1 机器语言 247

11.1.2 汇编语言 248

11.1.3 高级语言的诞生 249

11.2 程序设计语言概念 252

11.2.1 变量和数据类型 252

11.2.2 数据结构 253

11.2.3 赋值语句 255

11.2.4 控制语句 255

11.2.5 注释 257

11.2.6 过程 257

11.2.7 参数 258

11.2.8 函数 261

11.2.9 输入/输出语句 261

11.3 巴克斯与FORTRAN语言 263

11.3.1 历史背景 263

11.3.2 FORTRAN语言的诞生及其发展 263

11.3.3 FORTRAN语言的主要特征 264

11.3.4 FORTRAN语言的发展 264

11.3.5 巴克斯-诺尔范式 265

11.4 函数式程序设计语言LISP 266

11.4.1 表处理概念的提出 266

11.4.2 LISP的诞生 267

11.4.3 LISP的主要特征 268

11.4.4 Scheme和COMMON LISP 269

11.5 逻辑程序设计语言PROLOG 270

11.5.1 逻辑程序设计语言的理论基础 270

11.5.2 PROLOG的发展 273

11.5.3 PROLOG的主要特点 274

11.6 ALGOL语言的诞生与发展 276

11.6.1 历史背景 276

11.6.2 ALGOL-58的诞生 277

11.6.3 ALGOL-60的诞生 278

11.6.4 ALGOL-60语言的主要特征 279

11.7 COBOL语言 281

11.7.1 历史背景 281

11.7.2 COBOL语言的诞生 281

11.7.3 COBOL的特点 282

11.8 Basic语言 283

11.9 PL/I语言 285

11.9.1 历史背景 285

11.9.2 CP/L设计过程 286

11.9.3 CP/L的主要特征 286

11.10 APL语言 287

11.10.1 APL的诞生过程 287

11.10.2 APL的主要特征 288

11.11 Pascal语言 288

11.11.1 Pascal语言的诞生 289

11.11.2 Pascal的主要特征 289

11.11.3 Modula及其特征 290

11.12 Ada语言 291

11.12.1 历史背景 291

11.12.2 Ada的诞生过程 292

11.12.3 Ada语言的特性 293

11.12.4 Ada语言的发展 293

11.13 Simula语言 294

11.13.1 Simula语言的诞生过程 294

11.13.2 Simula语言的主要特性 296

11.13.3 Simula语言的发展 296

11.14 Smalltalk语言 297

11.14.1 Smalltalk语言的诞生 297

11.14.2 Smalltalk语言的主要特性 298

11.15 C语言 299

11.15.1 C语言的诞生过程 299

11.15.2 C语言的特点 301

11.16 C++ 302

11.16.1 C++的产生及发展 302

11.16.2 C++的主要特性 303

11.17 Java语言 304

11.17.1 Java的开发过程 304

11.17.2 Java的主要特性 306

参考文献 307

第12章 操作系统及其发展 309

12.1 操作系统概述 309

12.1.1 手工处理阶段 310

12.1.2 批处理系统 311

12.1.3 多道程序系统 313

12.1.4 分时系统 314

12.1.5 实时系统 316

12.1.6 微机操作系统 318

12.1.7 多处理器系统 318

12.1.8 网络操作系统 320

12.1.9 分布式操作系统 322

12.2 操作系统的功能 323

12.2.1 处理机管理 323

12.2.2 存储管理 323

12.2.3 设备管理 323

12.2.4 文件管理 324

12.2.5 作业管理 324

12.3 第一个微机操作系统CP/M 324

12.4 磁盘操作系统 325

12.4.1 从CP/M到MS-DOS 325

12.4.2 MS-DOS的局限性 328

12.5 视窗操作系统Windows 328

12.6 UNIX操作系统 332

12.7 LINUX操作系统 333

参考文献 336

第13章 数据库技术及其发展 337

13.1 数据库系统概述 337

13.1.1 数据库系统的基本概念 337

13.1.2 数据管理技术的产生和发展 339

13.2 数据模型与数据库系统 342

13.2.1 数据模型及其组成要素 342

13.2.2 概念模型 343

13.2.3 基于层次模型的数据库系统 344

13.2.4 基于网状模型的数据库系统 346

13.2.5 基于关系模型的数据库系统 347

13.2.6 关系数据库标准语言SQL 349

13.2.7 常用的数据库管理系统 350

13.3 格雷与事务处理技术 351

13.4 数据库技术研究现状 352

13.4.1 分布式数据库 352

13.4.2 联邦式数据库 353

13.4.3 并行数据库 353

13.4.4 主动数据库 353

13.4.5 知识库 354

13.4.6 面向对象数据库 354

13.4.7 多媒体数据库 355

13.4.8 模糊数据库 355

13.4.9 数据仓库与数据挖掘 355

13.5 管理信息系统 356

13.5.1 管理信息系统概述 356

13.5.2 管理信息系统的开发方法 358

13.5.3 管理信息系统的发展 359

13.6 软件危机的产生与软件工程的发展 361

13.6.1 软件危机的产生 361

13.6.2 “软件工程”概念的提出 363

13.6.3 软件工程的发展 364

参考文献 373

第14章 计算机网络及其发展 374

14.1 计算机网络概述 374

14.1.1 计算机网络分类 374

14.1.2 计算机网络的拓扑结构 375

14.1.3 计算机网络体系结构 377

14.2 早期的计算机网络 380

14.3 ARPA网络 382

14.4 罗伯茨与ARPANET 384

14.5 分组交换网的研究 388

14.5.1 克兰罗克首次提出分组交换的概念 389

14.5.2 巴伦提出分布式通信网络理论 389

14.5.3 戴维斯提出分组交换技术 390

14.6 IMP的研制与第一节点远程通信试验 392

14.7 TCP/IP协议 395

14.7.1 TCP/IP协议的发明 395

14.7.2 TCP/IP的基本原理 397

14.8 电子邮件 405

14.9 以太网技术的研究和发展 407

14.10 Internet的诞生及其发展 409

14.10.1 Internet的诞生 409

14.10.2 Internet的快速发展 409

14.10.3 万维网的诞生与发展 411

14.10.4 Internet在中国的发展 415

14.10.5 Internet提供的主要服务 417

14.10.6 Internet发展展望 419

加州大学伯克利分校 420

参考文献 422

第15章 计算机科学理论的进一步发展 423

15.1 计算科学的基本内容 423

15.1.1 计算科学的基本问题 423

15.1.2 计算科学的基本内容 424

15.1.3 计算科学与其他相关学科的关系 425

15.2 计算科学的学科形态与核心概念 426

15.3 计算科学中的典型问题 428

15.3.1 哥尼斯堡七桥问题 428

15.3.2 四色问题 429

15.3.3 36军官问题 430

15.3.4 哈密尔顿回路及旅行推销员问题 431

15.3.5 Hanoi塔问题 432

15.3.6 生产者-消费者问题与哲学家共餐问题 433

15.4 算法及其复杂性问题 434

15.4.1 什么是算法 434

15.4.2 什么是算法复杂性 435

15.5 计算复杂性问题的研究与发展 436

15.5.1 拉宾、斯科特对非确定性有限状态自动机理论的研究 436

15.5.2 库克、卡普对NP完全性问题的研究 438

15.5.3 计算复杂性理论体系的建立 440

15.6 人工智能科学的诞生与发展 442

15.6.1 数理逻辑的早期研究与人工智能科学的诞生 442

15.6.2 “符号主义”学派及其发展 443

15.6.3 联接主义学派 447

15.6.4 行为主义学派 448

15.6.5 人工智能主要研究内容 449

15.6.6 麦卡锡、明斯基对人工智能科学的贡献 450

普林斯顿大学 452

15.7 人工神经网络 455

15.7.1 多层感知神经网络 456

15.7.2 竞争型神经网络 457

15.7.3 Hopfield神经网络 457

15.8 模糊逻辑 458

参考文献 459

第16章 计算机产业的崛起与发展 460

16.1 “蓝色巨人”IBM 460

16.1.1 托马斯·沃森与IBM的早期发展 460

16.1.2 小沃森与“蓝色巨人”的成长 462

16.1.3 重振“蓝色巨人”雄风 464

16.2 惠普之道 467

16.2.1 惠普诞生 467

16.2.2 惠普之道 468

16.3 王安电脑 469

16.4 SUN的崛起 472

斯坦福大学与硅谷 473

参考文献 478

后记 479