计算机科学导论
出版信息
Behrouz A.Forouzan / 刘艺 / 机械工业出版社 / 2009-1 / 30.00元
内容简介
本书是大学计算机相关专业的基础课教材,涉及到计算机科学的各个方面。本书着重讲解基本概念而不是数学模型和技术细节,通过大量的图表和演示范例讲解计算机科学的基础知识;每章后面的关键术语、小结和练习有助于读者掌握和复习知识要点。
本书既适合当作大专院校的计算机基础课教材,也可作为一般的计算机基础入门读物。
作者简介
Behrouz Forouzan,毕业于加州大学艾尔温分校,现在是迪安那大学教授,从事计算机信息系统专业的课程设置。此外,他还是多家公司的系统开发咨询顾问。除本书外,Forouzan还著有多部成功的编程与网络方面的书,包括《TCP/IP Protocol Suite》和《Local Area Network》等。
Firouz Mosharraf,美国Rio Hondo学院工程系教授。
目录
出版者的话
译者序
前言
第1章 绪论
1.1 图灵模型
1.1.1 数据处理器
1.1.2 可编程数据处理器
1.1.3 通用图灵机
1.2 冯·诺伊曼模型
1.2.1 4个子系统
1.2.2 存储的程序概念
1.2.3 指令的顺序执行
1.3 计算机组成
1.3.1 计算机硬件
1.3.2 数据
1.3.3 计算机软件
1.4 历史
1.4.1 机械计算机器(1930年以前)
1.4.2 电子计算机的诞生(1930~1950年)
1.4.3 计算机的诞生(1950年至今)
1.5 社会问题和道德问题
1.5.1 社会问题
1.5.2 道德问题
1.6 计算机科学作为一门学科
1.7 课程纲要
1.8 推荐读物
1.9 关键术语
1.10 小结
1.11 练习
第2章 数字系统
2.1 引言
2.2 位置化数字系统
2.2.1 十进制系统(以10为底)
2.2.2 二进制系统(以2为底)
2.2.3 十六进制系统(以16为底)
2.2.4 八进制系统(以8为底)
2.2.5 4种位置化系统小结
2.2.6 转换
2.3 非位置化数字系统
2.4 推荐读物
2.5 关键术语
2.6 小结
2.7 练习
第3章 数据存储
3.1 数据类型
3.2 存储数字
3.2.1 存储整数
3.2.2 存储实数
3.3 存储文本
3.4 存储音频
3.4.1 采样
3.4.2 量化
3.4.3 编码
3.4.4 声音编码标准
3.5 存储图像
3.5.1 光栅图
3.5.2 矢量图
3.6 存储视频
3.7 推荐读物
3.8 关键术语
3.9 小结
3.10 练习
第4章 数据运算
4.1 逻辑运算
4.1.1 位层次上的逻辑运算
4.1.2 模式层次上的逻辑运算
4.2 移位运算
4.2.1 逻辑移位运算
4.2.2 算术移位运算
4.3 算术运算
4.3.1 整数的算术运算
4.3.2 实数的算术运算
4.4 推荐读物
4.5 关键术语
4.6 小结
4.7 练习
第5章 计算机组成
5.1 中央处理单元
5.1.1 算术逻辑单元
5.1.2 寄存器
5.1.3 控制单元
5.2 主存储器
5.2.1 地址空间
5.2.2 存储器的类型
5.2.3 存储器的层次结构
5.2.4 高速缓冲存储器
5.3 输入/输出子系统
5.3.1 非存储设备
5.3.2 存储设备
5.4 子系统的互连
5.4.1 CPU和存储器的连接
5.4.2 I/O设备的连接
5.4.3 输入/输出设备的寻址
5.5 程序执行
5.5.1 机器周期
5.5.2 输入/输出操作
5.6 不同的体系结构
5.6.1 CISC
5.6.2 RISC
5.6.3 流水线
5.6.4 并行处理
5.7 简单计算机
5.7.1 指令集
5.7.2 处理指令
5.7.3 一个例子
5.7.4 另一个例子
5.8 推荐读物
5.9 关键术语
5.10 小结
5.11 练习
第6章 计算机网络
6.1 引言
6.1.1 网络标准
6.1.2 物理结构
6.1.3 网络分类
6.1.4 互联网
6.1.5 因特网
6.2 TCP/IP协议族
6.3 层
6.3.1 应用层
6.3.2 传输层
6.3.3 网络层
6.3.4 数据链路层
6.3.5 物理层
6.3.6 层的总结
6.4 因特网应用
6.4.1 电子邮件
6.4.2 文件传输协议
6.4.3 远程登录-TELNET
6.4.4 万维网
6.4.5 其他因特网应用
6.5 推荐读物
6.6 关键术语
6.7 小结
6.8 练习
第7章 操作系统
7.1 引言
7.2 演化
7.2.1 批处理系统
7.2.2 分时系统
7.2.3 个人系统
7.2.4 并行系统
7.2.5 分布式系统
7.2.6 实时系统
7.3 组成部分
7.3.1 用户界面
7.3.2 内存管理器
7.3.3 进程管理器
7.3.4 设备管理器
7.3.5 文件管理器
7.4 主流操作系统
7.4.1 UNIX
7.4.2 Linux
7.4.3 Windows NT/2000/XP
7.5 推荐读物
7.6 关键术语
7.7 小结
7.8 练习
第8章 算法
8.1 概念
8.1.1 非正式定义
8.1.2 示例
8.1.3 定义动作
8.1.4 细化
8.1.5 泛化
8.2 三种结构
8.2.1 顺序
8.2.2 判断
8.2.3 循环
8.3 算法的表示
8.3.1 UML
8.3.2 伪代码
8.4 更正式的定义
8.4.1 有序集合
8.4.2 明确步骤
8.4.3 产生结果
8.4.4 在有限的时间内终止
8.5 基本算法
8.5.1 求和
8.5.2 乘积
8.5.3 最大和最小
8.5.4 排序
8.5.5 查找
8.6 子算法
8.7 递归
8.7.1 迭代的定义
8.7.2 递归的定义
8.8 推荐读物
8.9 关键术语
8.10 小结
8.11 练习
第9章 程序设计语言
9.1 演化
9.1.1 机器语言
9.1.2 汇编语言
9.1.3 高级语言
9.2 翻译
9.2.1 编译
9.2.2 解释
9.2.3 翻译过程
9.3 编程模式
9.3.1 过程式模式
9.3.2 面向对象模式
9.3.3 函数式模式
9.3.4 说明式模式
9.4 共同概念
9.4.1 标识符
9.4.2 数据类型
9.4.3 变量
9.4.4 字面值
9.4.5 常量
9.4.6 输入和输出
9.4.7 表达式
9.4.8 语句
9.4.9 子程序
9.5 推荐读物
9.6 关键术语
9.7 小结
9.8 练习
第10章 软件工程
10.1 软件生命周期
10.2 分析阶段
10.2.1 面向过程分析
10.2.2 面向对象分析
10.3 设计阶段
10.3.1 面向过程设计
10.3.2 面向对象设计
10.4 实现阶段
10.4.1 语言的选择
10.4.2 软件质量
10.5 测试阶段
10.5.1 白盒测试
10.5.2 黑盒测试
10.6 文档
10.6.1 用户文档
10.6.2 系统文档
10.6.3 技术文档
10.7 推荐读物
10.8 关键术语
10.9 小结
10.10 练习
第11章 数据结构
11.1 数组
11.1.1 数组名与元素名
11.1.2 多维数组
11.1.3 存储配置
11.1.4 数组操作
11.1.5 数组的应用
11.2 记录
11.2.1 记录名与域名
11.2.2 记录与数组的比较
11.2.3 记录数组
11.2.4 数组与记录数组
11.3 链表
11.3.1 数组与链表
11.3.2 链表名与节点名
11.3.3 链表操作
11.3.4 链表的应用
11.4 推荐读物
11.5 关键术语
11.6 小结
11.7 练习
第12章 抽象数据类型
12.1 背景
12.1.1 简单抽象数据类型
12.1.2 复杂抽象数据类型
12.1.3 定义
12.1.4 抽象数据类型的模型
12.1.5 实现
12.2 栈
12.2.1 栈的操作
12.2.2 栈的抽象数据类型
12.2.3 栈的应用
12.2.4 栈的实现
12.3 队列
12.3.1 队列的操作
12.3.2 队列的抽象数据类型
12.3.3 队列的应用
12.3.4 队列的实现
12.4 广义线性表
12.4.1 广义线性表的操作
12.4.2 广义线性表的抽象数据类型
12.4.3 广义线性表的应用
12.4.4 广义线性表的实现
12.5 树
12.6 二叉树
12.6.1 二叉树的递归定义
12.6.2 二叉树的操作
12.6.3 二叉树的应用
12.6.4 二叉树的实现
12.7 二叉搜索树
12.7.1 二叉搜索树的抽象数据类型
12.7.2 二叉搜索树的实现
12.8 图
12.9 推荐读物
12.10 关键术语
12.11 小结
12.12 练习
第13章 文件结构
13.1 存取方法
13.1.1 顺序存取
13.1.2 随机存取
13.2 顺序文件
13.3 索引文件
13.4 散列文件
13.4.1 散列方法
13.4.2 冲突
13.5 目录
13.6 文本文件与二进制文件
13.6.1 文本文件
13.6.2 二进制文件
13.7 推荐读物
13.8 关键术语
13.9 小结
13.10 练习
第14章 数据库
14.1 引言
14.1.1 定义
14.1.2 数据库的优点
14.2 数据库管理系统
14.3 数据库体系结构
14.3.1 内层
14.3.2 概念层
14.3.3 外层
14.4 数据库模型
14.4.1 层次模型
14.4.2 网状模型
14.4.3 关系模型
14.5 关系数据库模型
14.6 关系的操作
14.6.1 结构化查询语言
14.6.2 插入
14.6.3 删除
14.6.4 更新
14.6.5 选择
14.6.6 投影
14.6.7 连接
14.6.8 并
14.6.9 交
14.6.10 差
14.7 数据库设计
14.7.1 实体关系模型
14.7.2 从E-R图到关系
14.7.3 规范化
14.8 其他数据库模型
14.8.1 分布式数据库
14.8.2 面向对象数据库
14.9 推荐读物
14.10 关键术语
14.11 小结
14.12 练习
第15章 数据压缩
15.1 无损压缩
15.1.1 游程长度编码
15.1.2 赫夫曼编码
15.1.3 Lempel Ziv编码
15.2 有损压缩
15.2.1 图像压缩:JEPG
15.2.2 视频压缩:MPEG
15.2.3 音频压缩
15.3 推荐读物
15.4 关键术语
15.5 小结
15.6 练习
第16章 安全
16.1 引言
16.1.1 安全目标
16.1.2 攻击
16.1.3 安全服务
16.1.4 技术
16.2 对称密钥密码术
16.2.1 传统密码
16.2.2 现代对称密钥密码
16.3 非对称密钥密码术
16.4 对称密钥方法和非对称密钥方法的比较
16.4.1 秘密记号的数目
16.4.2 两个系统的一个共同需要
16.5 其他安全服务
16.5.1 消息完整性
16.5.2 消息验证
16.5.3 数字签名
16.5.4 实体验证
16.6 密钥管理
16.6.1 对称密钥分发
16.6.2 公钥分发
16.7 推荐读物
16.8 关键术语
16.9 小结
16.10 练习
第17章 计算理论
17.1 简单语言
17.1.1 递增语句
17.1.2 递减语句
17.1.3 循环语句
17.1.4 简单语言的威力
17.2 图灵机
17.2.1 图灵机组成部件
17.2.2 对简单语言的模拟
17.2.3 邱奇-图灵论题
17.3 歌德尔数
17.3.1 表示一个程序
17.3.2 翻译一个数字
17.4 停机问题
17.5 可解问题和不可解问题
17.5.1 不可解问题
17.5.2 可解问题
17.5.3 可解问题的复杂度
17.6 推荐读物
17.7 关键术语
17.8 小结
17.9 练习
第18章 人工智能
18.1 引言
18.1.1 什么是人工智能
18.1.2 人工智能简史
18.1.3 图灵测试
18.1.4 智能体
18.1.5 编程语言
18.2 知识表示
18.2.1 语义网
18.2.2 框架
18.2.3 谓词逻辑
18.2.4 基于规则的系统
18.3 专家系统
18.3.1 抽取知识
18.3.2 抽取事实
18.4 感知
18.4.1 图像处理
18.4.2 语言理解
18.5 搜索
18.6 神经网络
18.6.1 生物神经元
18.6.2 感知器
18.6.3 多层网络
18.6.4 应用
18.7 推荐读物
18.8 关键术语
18.9 小结
18.10 练习
附录A Unicode
附录B UML
附录C 伪代码
附录D 结构图
附录E 布尔代数和逻辑电路
附录F C、C++和Java程序示例
附录G 数学复习
附录H 错误检测和纠正