计算机科学导论
作者 : (美)Behrouz A.Forouzan
译者 : 刘艺 段立 钟维亚
出版日期 : 2004-01-01
ISBN : 7-111-13159-2
定价 : 30.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 337
开本 : 16开
原书名 : Foundations of Computer Science: From Data Manipulation to Theory of Computation
原出版社: Thomson Learning
属性分类: 教材
包含CD :
绝版 :
图书简介

从编写报表到创建电影特效再到探索太空的最前沿,计算机在我们的生活和我们的世界中扮演了重要的角色。你将在计算机科学世界里开始美妙和激动人心的探索之旅——那里提供了许多充满挑战和令人兴奋的职业机会。
  在这本入门性的教科书中,你将初步了解计算机科学中的众多学科。文本、音频、图像以及数字数据的表示;计算机硬件以及包括操作系统和编程语言在内的软件:SQL数据库模型等数据组织:这些应有尽有。从比特和字节层次到更高的抽象层次.这种鸟瞰式的纵览为帮助你成功地继续学习程序设计和计算机的其他课程提供了坚实的基础。为了确保这种纵览尽可能清晰.作者从以下方面提供了学习上的指导:
  强调概念而不是强调数学模型和技术细节。
  大量的图片、图表和演示用于增强对内容的理解,使之更容易掌握。
  通过范例讲解概念和相关的数学模型。
  关键术语、小结和练习题帮助学习和复习.并测试你的理解程度。
  在网络、操作系统、计算机组成等方面都用整章进行讲解。
  本书是大学计算机相关专业的基础课教材,涉及到计算机科学的各个方面。本书着重讲解基本概念而不是数学模型和技术细节,通过大量的图表和演示范例讲解计算机科学的基础知识;每章后面的关键术语、小结和练习有助于读者掌握和复习知识要点。
  本书既适合当作大专院校的计算机基础课教材,也可作为一般的计算机基础入门读物。

图书前言

欢迎学习计算机科学!你将开始探索一个美妙和激动人心的世界,这里提供了许多充满挑战和令人兴奋的职业机会。计算机在我们的日常生活中扮演了一个重要的角色而且在未来也将一样。
  计算机科学是一个充满了挑战和发展机遇的年轻学科。计算机网络将地球上每一个角落的人们连接在一起。虚拟现实创造了眩目的三维图像。宇宙空间探险的成功也部分归功于计算机的发展。计算机建立的特技效果改变了电影工业。计算机在遗传学研究中也扮演了一个重要的角色。
本书的结构
  这本书是为CS0课程设计的。它包含了计算机科学的所有领域。全书分为五个部分:计算机和数据、计算机硬件、计算机软件、数据组织和高级主题。
  第一部分:计算机和数据
  在第一部分,我们讨论计算机和它所处理的数据。这部分包含4章。
  第1章:绪论 在这一章,我们把计算机当作一个处理数据的实体,我们将介绍冯·诺伊曼概念和一台计算机的大体组成部件。我们将计算机组成的细节讨论放到第5章。
  第2章:数据的表示 在这一章,我们讨论文本、图像、音频、视频作为位模式是如何表现的。有关数的表示方面的内容我们将在第3章中介绍。
  第3章:数的表示 本章讨论数的表示。我们讲解整型数和浮点型数是如何在计算机里存储的。
  第4章:位运算 在这一章,我们讨论位模式的有关运算,包括算术和逻辑的运算。
  第二部分:计算机硬件
  在第二部分,我们主要介绍计算机硬件。这部分分2章。
  第5章:计算机组成 在这一章,我们将计算机作为一个独立的整体,描述其硬件的各个组成部件以及它们是如何工作的。
  第6章:计算机网络 在本章中,我们讨论计算机是如何相互连接成局域网和互联网的。
  第三部分:计算机软件  
  在第三部分中,我们主要关注计算机软件的各个方面。
  第7章:操作系统 本章讨论计算机软件里的核心部分——操作系统,具体介绍操作系统的任务及其如何演化,同时讨论部分现代的操作系统。
  第8章:算法 算法在计算机科学领域扮演了重要角色,甚至有些人认为计算机科学也就是关于算法的学问。我们将给出算法的定义,同时利用一些工具来描述算法。关于这些工具的详细介绍见附录C、D和E。
  第9章:程序设计语言 本章首先从总体上介绍计算机语言,然后以当前比较流行的C语言为例具体讨论。
  第10章:软件工程 在本章中,我们讨论计算机课程体系中很重要的一门学科:软件工程。
  第四部分:数据组织
  在第四部分里,我们重新回到了数据上,但我们主要是从使用者的角度来介绍。
  第11章:数据结构 在本章中,我们讨论数据结构。数据在更抽象的层次上被组织成结构。我们将介绍现在常用的一些数据结构,如数组、记录、链表等。
  第12章:抽象数据类型 在本章中,我们讨论抽象数据类型(ADT)。在数据处理中,需要把数据定义成数据包,其中包括了为该数据包定义的有关运算。我们将描述列表、栈、队列、树和图,以便学生能从抽象角度去理解数据。  
  第13章:文件结构 本章讨论文件结构,我们揭示了文件是如何在逻辑上组织起来的我们讨论了顺序访问和随机访问文件。学生在学习程序设计课程之前需要懂得这些概念。
  第14章:数据库 一个组织的数据很少会是单独地或孤立地存储着,通常它们是存储在一个叫数据库的实体中。我们将介绍关系数据库,同时涉及一些数据库语言(SQL)的知识,使用这种语言可以在数据库中查询信息。
  第五部分:高级主题
  在这部分里,我们讨论3个在计算机科学中愈来愈重要的高级主题:数据压缩、安全和计算理论。如果课时不够,或者学生缺乏相关背景知识,那么这些主题可以跳过。
  第15章:数据压缩 在本章中,我们介绍两种数据压缩:无损压缩和有损压缩。我们讨论游程长度编码、霍夫曼编码,并以Lempel Ziv算法为例介绍无损压缩。同时还以JPEG和MPEG为例介绍有损压缩。
  第16章:安全 在本章中,我们讨论数据安全方面的4个内容:保密、验证、完整和不可否认性。我们将演示如何使用加密/解密和数字签名来创建安全系统。
  第17章:计算理论 在本章中,我们简明地浏览一下计算理论。我们阐明在解决问题方面没有哪种语言比其他语言更优越。同时也说明有些问题无论用何种计算机语言来编写程序都是无法解决的。
鸟瞰
  读者必须记住本书没有深入讨论计算机科学的各个主题,要那样的话需要更多的篇幅,本书试图覆盖计算机科学的相关主题。我们的经验表明,学生掌握了数据的表示和处理,就能够更好地使用低级和高级计算机语言进行程序设计,而掌握有关计算机科学的一般知识,学生可以更容易学好网络和互联网课程。本书只是计算机科学的一个鸟瞰式的纵览。
本书的特点
  下面的一些特色不仅使得本书独树一帜,同时也特别适合刚入门的学生学习。
  概念
  贯穿本书,我们始终强调概念要比数学模型更重要,我们认为对概念的理解必然左右对模型的理解。  
  图文并茂
  本书图文并茂,全书有将近300幅图片。虽然这样一来增加了书的篇幅,但图片增进了对文字的理解。  
  例子
  我们尽可能地运用例子来表述概念和数学模型。
  每章结尾的材料
  每一章结尾的材料包括三个部分:关键术语、小结、练习。
  关键术语 列出本章介绍过的重要术语,每一个关键术语在术语表中都有定义。
  小结 包括对本章中所有关键内容的简明概括。
  练习 每个练习包括三部分内容:复习题、多项选择题和课后练习题。
  ·复习题:测试本章中所有的要点和概念。  
  ·多项选择题:测试对材料的理解。
  ·课后练习题:测试学生能否运用概念和公式。
  附录
  本书有7篇附录,是各章中需要速查的表格和材料,这些附录是:
  ·ASCII码
  ·Unicode
  ·流程图
  ·伪代码
  ·结构图
  ·离散余弦变换
  ·缩略语
  术语表
  本书最后的术语表收录了所有关键术语。
  练习题的答案
  所有编号为奇数的复习题、多项选择题和课后练习题的答案都可以在以下网址上找到:www.brookscole.com/compsci。
教辅材料
  复习题、多项选择题和课后练习题答案中的所有图和要点的幻灯片可以在以下网址找到:www.brookscole.com/compsci。
致谢  
  此类教材的出版离不开众人的支持,尤其是这本书。
  我们要感谢De Anza学院教职员工一直以来的大力支持和他们的建议。我们特别要感谢Scott DeMouthe,他帮我们阅读手稿并解决问题。
  对于那些没有参加编写工作的人,我们同样感谢他们专心评阅本书。写书很容易“一叶蔽目,不见泰山”。那些站在幕后评读全稿的审稿人的重要指导是无法估价的。我们特别要感谢那些审稿人的贡献,他们是:北卡罗来纳州大学夏洛特分校的Essam El-Kwae、Fairleigh Dickinson大学的Norman J.Landis、加州大学洛杉矶分校的John A.Rohr、波士顿学院的Robert Signorile、新泽西理工大学的Robert Statica。
  我们同样感谢我们的出版人Bill Stenquist,组稿编辑Kallie Swanson,编辑助理Carla Vera,产品编辑Kelsey McGee。我们同样感谢Matrix公司的Merrill Peterson,文字编辑Frank Hubert,校对Amy Dorr。
  最后,最应该感谢的是我们的家人和朋友。曾经有位作家把写作描写为“把自己锁在房间里”。在我们忍受写作之苦的过程中,家人和朋友同样忍受着我们的缺席。我们只能希望当他们看到最后的作品时,他们感到自己的牺牲是值得的。

作者简介

(美)Behrouz A.Forouzan:暂无简介

译者简介

刘艺 段立 钟维亚:刘艺: 海军工程大学信息与电气学院副教授,美国Borland公司授予的Delphi产品专家,计算机技术作家。著有《Delphi面向对象编程思想》、《Delphi 6企业级解决方案及应用剖析》、《Delphi第三方控件使用大全》等10多部计算机专著,与他人合著《计算机英语》、《信息安全学》等大学教材,后者被评为教育部向全国推荐的研究生教材。主持过多个在军内获奖的科研项目。[URL=http://www.liu-yi.net]作者网站[/URL]

译者序

《计算机科学导论》是一本国外IT相关专业大学生的基础课教材。通常供大学低年级学生使用。该教材是一本百科全书式的计算机专业基础入门读物,涉及到计算机科学的方方面面。虽然读者对象是计算机专业的学生,但这本书却深入浅出,引人人胜,绝无一般教科书的枯燥和晦涩。作者的用意显然是为了轻松勾画出计算机科学体系的框架,为有志于IT行业的学生奠定计算机科学知识的基础,铺设进一步深入专业理论学习的桥梁。所以作者在这本书中强调的是概念而不是数学模型和技术细节。并通过大量的图片、图表和演示增强读者
对内容的理解和知识的掌握;通过范例讲解概念和相关的数学模型;通过关键术语、小结和练习帮助读者学习和复习。
  这本书既适合国内的大专院校用作计算机基础课教材,也可以供有意在计算机方面发展的非计算机专业读者作入门参考。该书作为一本成熟的教材已经被国外许多大学选用,引进翻译显然对国内的计算机教学有着重要的参考价值。
  由于本书涉及面广,技术内容新,有一定的翻译难度。为此我们不敢疏忽,字斟句酌,力求翻译准确。在翻译过程中我们还对于原书的一些疏漏进行了更正。
  由于我们的水平有限,如果读者在阅读中发现我们的工作有不足之处,敬请指正。
  另外,除封面署名人员外,参加翻译和校对工作的还有冯坤、刘文颖、尹迪、李启元、宋胜峰、李亚楠、金亮、张显峰、米晨、郭琛、胡星、陈春、卢江涛、王继涛等人,在此表示感谢。
  译 者
  2003年8月8日
  E-mail:my_reader@sina.com

图书目录

第一部分 计算机和数据
第1章 绪论
1.1 计算机作为黑盒
1.1.1 数据处理器
1.1.2 可编程数据处理器
1.2 冯·诺伊曼模型
1.2.1 4个子系统
1.2.2 存储的程序概念
1.2.3 指令的顺序执行
1.3 计算机硬件
1.4 数据
1.4.1 存储数据
1.4.2 组织数据
1.5 计算机软件
1.5.1 必须存储程序
1.5.2 指令的序列
1.5.3 算法
1.5.4 语言
1.5.5 软件工程
1.5.6 操作系统
1.6 历史
1.6.1 机械计算机器(1930年以前)
1.6.2 电子计算机的诞生(1930-1950)
1.6.3 计算机的诞生(1950一现在)
1.7 关键术语
1.8 小结
1.9 练习
第2章 数据的表示
2.1 数据的类型
2.2 计算机内部的数据
2.2.1 位
2.2.2 位模式
2.2.3 字节
2.3 表示数据
2.3.1 文本
2.3.2 数
2.3.3 图像
2.3.4 音频
2.3.5 视频
2.4 十六进制表示法
2.5 八进制表示法
2.6 关键术语
2.7 小结
2.8 练习
第3章 数的表示
3.1 十进制和二进制
3.1.1 十进制系统
3.1.2 二进制系统
3.2 转换
3.2.1 二进制数向十进制数转换
3.2.2 十进制数向二进制数转换
3.3 整数的表示法
3.3.1 无符号整数格式
3.3.2 符号加绝对值格式
3.3.3 二进制反码格式
3.3,4 二进制补码格式
3.3.5 整数表示法小结
3,4 EXCESS系统
3.5 浮点表示法
3.5.1 转换成二进制
3.5.2 规范化
3.5.3 符号、幂和尾数
3.5.4 IEEE标准
3.6 十六进制表示法
3.7 关键术语
3.8 小结
3.9 练习
第4章 位运算
4.1 算术运算
4.1.1 整数的算术运算
4.1.2 浮点数的算术运算
4.2 逻辑运算
4.2.1 真值表
4.2.2 一元运算符
4.2.3 二元运算符
4.2.4 应用
4.3 移位运算
4.4 关键术语
4.5 小结
4.6 练习
第二部分 计算机硬件
第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.5.3 输入/输出操作
5.6 两种不同的体系结构
5.6.1 CISC
5.6.2 RISC
5.7 关键术语
5.8 小结
5.9 练习
第6章 计算机网络
6.1 网络,大和小
6.2 OSI模型
6.2.1 7层结构
6.2.2 层的功能
6.3 网络分类
6.3.1 局域网(LAN)
6.3.2 城域网(MAN)
6.3.3 广域网(WAN)
6.4 连接设备
6.4.1 中继器
6.4.2 网桥
6.4.3 路由器
6.4.4 网关
6.4.5 OSI模型和连接设备
6.5 互联网和TCP/IP
6.5.1 物理层和数据链路层
6.5.2 网络层
6.5.3 传输层
6.5.4 应用层
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.3 组成部分
7.3.1 内存管理器
7.3.2 进程管理器
7.3.3 设备管理器
7.3.4 文件管理器
7.3.5 用户界面
7.4 主流操作系统
7.4.1 Windows 2000
7.4.2 UNIX
7.4.3 Linux
7.5 关键术语
7.6 小结
7.7 练习
第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 流程图
8.3.2 伪代码
8.4 更正式的定义
8.4.1 有序集合
8.4.2 明确步骤
8.4.3 产生结果
8.4.4 在有限的时间内终止
8.5 子算法
8.6 基本算法
8.6.1 求和
8.6.2 乘积
8.6.3 最大和最小
8.6.4 排序
8.6.5 查找
8.7 递归
8.7.1 迭代的定义
8.7.2 递归的定义
8.8 关键术语
8.9 小结
8.10 练习
第9章 程序设计语言
9.1 演化
9.1.1 机器语言
9.1.2 符号语言
9.1.3 高级语言
9.1.4 自然语言
9.2 构建程序
9.2.1 编写和编辑程序
9.2.2 编译程序
9.2.3 链接程序
9.3 程序的执行
9.4 语言的分类
9.4.1 过程化(强制性)语言
9.4.2 面向对象的语言
9.4.3 函数型语言
9.4.4 说明性(逻辑)语言
9.4.5 专用语言
9.5 过程化语言:C
9.5.1 标识符
9.5.2 数据类型
9.5.3 变量
9.5.4 常量
9.5.5 输入和输出
9.5.6 表达式
9.5.7 语句
9.5.8 函数
9.5.9 选择
9.5.10 循环
9.5.11 派生数据类型
9.5.12 递归
9.6 关键术语
9.7 小结
9.8 练习
第10章 软件工程
10.1 软件生命周期
10.1.1 分析阶段
10.1.2 设计阶段
10.1.3 实现阶段
10.1.4 测试阶段
10.2 开发过程模型
10.2.1 瀑布模型
10.2.2 增量模型
10.3 模块化
10.3.1 工具
10.3.2 耦合
10.3.3 内聚
10.4 质量
10.4.1 质量定义
10.4.2 质量因素
10.4.3 质量周期
10.5 文档
10.5.1 用户文档
10.5.2 系统文档
10.5.3 进行过程中的文档化
10.6 关键术语
10.7 小结
10.8 练习
第四部分 数据组织
第11章 数据结构
11.1 数组
11.1.1 数组的应用
11.1.2 二维数组
11.2 记录
11.3 链表
11.3.1 节点
11.3.2 链表的指针
11.3.3 链表的操作
11.4 关键术语
11.5 小结
11.6 练习
第12章 抽象数据类型
12.1 背景
12.1.1 定义
12.1.2 抽象数据类型模型
12.1.3 抽象数据类型的操作
12.2 线性列表
12.2.1 线性列表的操作
12.2.2 广义线性列表的实现
12.2.3 线性列表的应用
12.3 栈
12.3.1 栈的操作
12.3.2 栈的实现
12.3.3 栈的应用
12.4 队列
12.4.1 队列的操作
12.4.2 队列的实现
12.4.3 队列的应用
12.5 树
12.5.1 树的基本概念
12.5.2 树的操作
12.6 二叉树
12.6.1 二叉树的操作
12.6.2 二叉树的实现
12.6.3 二叉树的应用
12.7 图
12.7.1 术语
12.7.2 图的操作
12.7.3 图的实现
12.7.4 图的应用
12.8 关键术语
12.9 小结
12.10 练习
第13章 文件结构
13.1 存取方法
13.1.1 顺序存取
13.1.2 随机存取
13.2 顺序文件
13.3 索引文件
13.4 哈希文件
13.4.1 哈希方法
13.4.2 冲突
13.5 文本与二进制
13.5.1 文本文件
13.5.2 二进制文件
13.6 关键术语
13.7 小结
13.8 练习
第14章 数据库
14.1 数据库管理系统
14.2 体系结构
14.2.1 内层
14.2.2 概念层
14.2.3 外层
14.3 数据库模型
14.3.1 层次模型
14.3.2 网络模型
14.3.3 关系模型
14.4 关系模型
14.5 关系的操作
14.5.1 插入
14.5.2 删除
14.5.3 更新
14.5.4 选择
14.5.5 投影
14.5.6 连接
14.5.7 并
14.5.8 交
14. 5.9 差
14.6 结构化查询语言
14.7 其他数据库模型
14.7.1 分布式数据库
14.7.2 面向对象数据库
14.8 关键术语
14.9 小结
14.10 练习
第五部分 高级主题
第15章 数据压缩
15.1 无损压缩
15.1.1 游程长度编码
15.1.2 霍夫曼编码
15.1.3 Lempel Ziv编码
15.2 有损压缩方法
15.2.1 图像压缩:JPEC
15.2.2 视频压缩:MPEG
15.3 关键术语
15.4 小结
15.5 练习
第16章 安全
16.1 保密
16.1.1 加密/解密
16.1.2 使用组合的保密
16.2 数字签名
16.2.1 签署整个文档
16.2.2 签署摘要
16.3 关键术语
16.4 小结
16.5 练习
第17章 计算理论
17.1 简单语言
17.1.1 递增语句
17.1.2 递减语句
17.1.3 循环语句
17.1.4 简单语言的威力
17.1.5 结论
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.6 关键术语
17.7 小结
17.8 练习
附  录
附录A ASCII码
附录B Unicode
附录C 流程图
附录D 伪代码
附录E 结构图
附录F 离散余弦变换
附录C 缩略语和术语表
索引

教学资源推荐
作者: [德]贝蒂尔·施密特(Bertil Schmidt) [西]豪尔赫·冈萨雷斯-多明格斯(Jorge González-Domínguez) [德]克里斯蒂安·洪特(Christian Hundt) [德]莫里茨·施拉布(Moritz Schlarb) 著
作者: (美)托马斯 H. 科尔曼(Thomas H. Cormen)著
作者: [印度]纳拉辛哈·卡鲁曼希(Narasimha Karumanchi)著
参考读物推荐
作者: 赵军 等编著
作者: [英]S. 巴里·库珀(S. Barry Cooper) 安德鲁·霍奇斯(Andrew Hodges) 等著
作者: [加] 张福波 张云泉 著
作者: Ian Foster, Carl Kesselman