注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络计算机科学理论与基础知识计算机科学概论(原书第2版)

计算机科学概论(原书第2版)

计算机科学概论(原书第2版)

定 价:¥49.00

作 者: (美)Nell Dale,(美)John Lewis著;张欣等译;张欣译
出版社: 机械工业出版社
丛编项: 计算机科学丛书
标 签: 暂缺

ISBN: 9787111170167 出版时间: 2005-09-01 包装: 平装
开本: 26cm 页数: 432 字数:  

内容简介

  本书由两位知名的计算机科学教育家编写,全面而细致地介绍了计算机科学的各个方面。书中,计算系统的每个分层都以剖析,从住处层开始,历经硬件层、程序设计层、操作系统层、应用程序层的通信层,最后讨论了计算的限制。此外,正文中穿插了大量的人物传记、历史注释、道德问题和最新的技术发展信息,有助于你进一步了解计算机科学。每章后面都附带有大量的练习,可以帮助你即时重温并掌握这一章所述的内容。本书是计算和计算机科学引论课程的理想教材,对于想要了解计算机科学概况的非专业人员,本书也是一个很好的选择。本书前言为了制定这本CS0教材的论题大纲,我们利用了许多资源,包括课程目录、教材大纲以及一个email调查问卷。设计这个调查问卷的目的在于了解我们的同事对这门课应该包括哪些内容的想法。我要求他们和自己列出下列三种清单。*如果CS0这门课是学生在大学阶段学习的唯一一门计算机科学的课程,请列出四种你认为他们应该掌握的论题。*请列出四种你想要学生在进入CS1这门课之前掌握的论题。*请补充四种你想要学习CS1的学生熟悉的论题。这些资源的交集反应出的大多数人的意见构成了本书的大纲。在学习CS1之前掌握了本书内容的学生将为继续学习计算机科学打下坚实的基础。尽管我们的意图是编写一本CS0教材,但是许多评论家都认为本书的覆盖面非常广泛,可以作为一种程序设计语言的计算机科学导论的参考书。结构说明在第1章中,我们介绍了硬件和软件的历史,并且用洋葱的结构来类比计算机系统的结构。计算机和它的机器语言构成了洋葱的芯,软件层和更复杂的硬件一层层地裹住了这个芯。首先介绍的是机器语言,然后是高级语言,包括FORTRAN、Lisp、Pascal、C、C++和Java。在介绍这些语言的同时,还介绍了利用它们进行程序设计的过程,包括自顶向下的设计和面向对象的设计。我们对抽象数据类型及其实现所扮演的角色的理解已经成熟了。操作系统和它的资源管理技术(包括更大、更快的二级存储介质上的文件)包围着这些程序,并对它们进行管理。接下来的一层由更复杂的通用或专用软件系统构成,它们覆盖了操作系统。这些功能强大的程序由计算机科学中的并行理论支持。最后一层由网络和网络软件构成,网络软件包括计算机之间通信必需的所有工具。Internet和万维网给这一层画上了最后一笔。当这些层随着时间的流逝逐渐增长时,用户对计算机系统的硬件接触得越来越少。每个层都是它下面的计算机系统的抽象。随着每个层的发展,新层的用户和内部层的用户联合起来,在经济领域的高科技部门创造了大量的生产力。本书的目的是提供各个层的概述,介绍基础的硬件和软件技术,使学生了解和欣赏计算系统的方方面面。在介绍这种洋葱式结构时,我们有两种选择,一种是从内向外逐层介绍,另一种是从外向内进行介绍。从外向内的方法看来非常吸引人。我们可以从最抽象的层开始介绍,一次剥掉一个层,直到具体的机器层为止。但是,研究表明,比起抽象的例子,学生们更容易理解具体的例子,即使他们本身是抽象思想家。因此,我们选择从具体的机器层开始,按照层的创建顺序进行分析,当学生完全理解了一个层之后,再转移到下一个层就比较容易。第2版中的变化一本全新的书的第1版就像一艘新船的试航。如果设计足够好,那么就只有一些小问题需要调整。当这本书成了旧的,它未来的版本可能会要求全面修订。幸运的是,我们的读者认为这本书的设计是稳定的,在这一版中,只需要进行一些改动。我们更新了一些传记,把旧的轶闻趣事换成了新的,而且还使“道德问题”部分反映的是当前的问题。我们将在下面的摘要中指出内容的变化。除了内容的变化,我们还修改了练习。练习中的问题被分为两类,即主观题和客观题。许多教育者认为客观练习(包括多项选择、对错判断和填空)是无用的。但是,根据伊利诺伊大学的测试和评估部的研究,主观测试和客观测试可以衡量相似的内容和学习目标。根据两项相隔42年的研究,学生对短文和涵盖相同内容的客观测试题的反应几乎完全一样。因此,我们决定同时采用客观题和主观题。每一章都有多项选择题和判断题,还有简答题和需要解决方案的问题。对于大班来说,讲师可以利用这些问题快速地设计出小测验。

作者简介

  NellDall,计算机科学领域广爱推崇的教育家。在得克萨斯大学奥斯汀分校执教的25年中,她编写了20多本计算机科学方面的本科生教材。她于得克萨斯大学奥斯汀分校获得了硕士学位和计算机科学博士学位。由于在计算机科学领域做出了卓越工贡献,1996年,她获得了ACMSIGCSE计算机科学教育杰出贡献奖。相关图书数据仓库(原书第3版)神经网络原理(原书第2版)离散数学导学数据库设计教程(第2版)数据库系统导论高级编译器设计与实现计算机网络系统方案(原书第3版)C程序设计语言(第2版·新版)习题解答可扩展并行计算技术、结构与编程数据库原理、编程与性能C++编程思想。第2卷:实用编程技术微机接口技术实验教程编译原理C++语言的设计和演化并行计算导论(原书第2版)信息论、编码与密码学软件需求组合数学(原书第4版)JAVA编程思想(第2版)3D游戏卷1实时渲染与软件技术3D游戏卷2动画与高级实时渲染技术数字图像处理疑难解析现代信息检索CAXA数控铣CAD/CAM技术C语言的科学和艺术计算机视觉UNIX系统编程信息系统原理:原书第6版并行程序设计数据库与事务处理操作系统现代操作系统(第2版)计算机网络:自顶向下方法与Internet特色(原书第3版)3D计算机图形学(原书第3版)计算机网络与因特网(原书第4版)人工智能:英文Java面向对象程序设计教程嵌入式微控制器模式分析的核方法

图书目录

第一部分  基  础  篇
第1章  全景图        1
1.1  计算系统        1
1.1.1  计算系统的分层        2
1.1.2  抽象        3
1.2  计算的历史        5
1.2.1  计算硬件的简史        5
1.2.2  计算软件的简史        11
1.2.3  预言        14
1.3  计算工具和计算学科        15
小结        16
练习        17
思考题        19
第二部分  信  息  层
第2章  二进制数值和记数系统        21
2.1  数字分类        21
2.2  自然数        22
2.2.1  位置记数法        22
2.2.2  二进制、八进制和十六进制        25
2.2.3  其他记数系统中的运算        26
2.2.4  以2的幂为基数的记数系统        26
2.2.5  把十进制数转换成其他数制的数        28
2.2.6  二进制数值和计算机        29
小结        30
练习        31
思考题        33
第3章  数据表示法        34
3.1  数据和计算机        34
3.1.1  模拟信息和数字信息        35
3.1.2  二进制表示法        36
3.2  数字数据的表示法        38
3.2.1  负数表示法        38
3.2.2  实数表示法        40
3.3  文本表示法        42
3.3.1  ASCII字符集        43
3.3.2  Unicode字符集        43
3.3.3  文本压缩        44
3.4  音频信息表示法        47
3.4.1  音频格式        48
3.4.2  MP3音频格式        48
3.5  图像和图形的表示法        49
3.5.1  颜色表示法        49
3.5.2  数字化图像和图形        50
3.5.3  图形的矢量表示法        51
3.6  视频表示法        52
小结        53
练习        54
思考题        57
第三部分  硬  件  层
第4章  门和电路        59
4.1  计算机和电学        59
4.2  门        61
4.2.1  非门        61
4.2.2  与门        62
4.2.3  或门        62
4.2.4  异或门        63
4.2.5  与非门和或非门        63
4.2.6  门处理回顾        64
4.2.7  具有更多输入的门        64
4.3  门的构造        65
4.4  电路        66
4.4.1  组合电路        67
4.4.2  加法器        69
4.4.3  多路复用器        71
4.5  存储器电路        71
4.6  集成电路        72
4.7  CPU芯片        73
小结        73
练习        74
思考题        77
第5章  计算部件        78
5.1  独立的计算机部件        78
5.2  存储程序的概念        80
5.2.1  von Neumann体系结构        81
5.2.2  读取-执行周期        85
5.2.3  RAM和ROM        86
5.2.4  二级存储设备        87
5.2.5  触摸屏        90
5.3  非von Neumann体系结构        91
5.4  广告解析        92
小结        92
练习        94
思考题        96
第四部分  程序设计层
第6章  问题求解和算法设计        97
6.1  问题求解        97
6.1.1  如何解决问题        98
6.1.2  计算机问题求解        101
6.1.3  执行算法        103
6.1.4  开发算法        104
6.2  自顶向下设计        104
6.2.1  一个通用的实例        105
6.2.2  一个计算机实例        106
6.2.3  方法总结        110
6.2.4  测试算法        110
6.3  面向对象设计        112
6.3.1  面向对象        112
6.3.2  类之间的关系        113
6.3.3  面向对象设计方法        114
6.3.4  一个通用的实例        117
6.3.5  一个计算机实例        118
6.4  几个重要思想        121
6.4.1  信息隐蔽        121
6.4.2  抽象        122
6.4.3  事物命名        123
6.4.4  程序设计语言        123
6.4.5  测试        124
小结        124
练习        125
思考题        128
第7章  低级程序设计语言        129
7.1  计算机操作        129
7.2  抽象的分层        130
7.3  机器语言        130
7.4  一个程序实例        135
7.4.1  问题和算法        135
7.4.2  程序        136
7.5  汇编语言        139
7.5.1  Pep/7汇编语言        140
7.5.2  具有分支的程序        144
7.6  其他的重要思想        145
小结        148
练习        149
思考题        151
第8章  高级程序设计语言        152
8.1  翻译过程        152
8.1.1  编译器        152
8.1.2  解释器        153
8.2  程序设计语言的范型        155
8.3  命令式语言的功能性        156
8.3.1  Boolean表达式        156
8.3.2  强类型化        158
8.3.3  输入/输出结构        161
8.3.4  控制结构        163
8.3.5  复合数据类型        174
8.4  面向对象语言的功能性        177
8.4.1  封装        177
8.4.2  继承        178
8.4.3  多态性        178
小结        178
练习        180
思考题        184
第9章  抽象数据类型和算法        185
9.1  抽象数据类型        185
9.2  实现        186
9.2.1  基于数组的实现        186
9.2.2  链式实现        187
9.3  列表        189
9.3.1  列表的基础操作        189
9.3.2  其他列表操作        192
9.4  排序        192
9.4.1  选择排序        193
9.4.2  冒泡排序法        194
9.4.3  快速排序        195
9.5  二分检索法        199
9.6  栈和队列        200
9.6.1  栈        201
9.6.2  队列        202
9.6.3  实现        202
9.7  树        202
9.7.1  二叉树        203
9.7.2  二叉检索树        204
9.7.3  其他操作        207
9.7.4  图        208
9.8  程序设计库        209
小结        209
练习        210
思考题        213
第五部分  操作系统层
第10章  操作系统        215
10.1  操作系统的角色        215
10.1.1  内存、进程和CPU管理        216
10.1.2  批处理        217
10.1.3  分时操作        218
10.1.4  其他OS要素        219
10.2  内存管理        219
10.2.1  单块内存管理        220
10.2.2  分区内存管理        221
10.2.3  页式内存管理        222
10.3  进程管理        224
10.3.1  进程状态        224
10.3.2  进程控制块        225
10.4  CPU调度        225
10.4.1  先到先服务        226
10.4.2  最短作业优先        227
10.4.3  循环调度法        227
小结        228
练习        230
思考题        234
第11章  文件系统和目录        235
11.1  文件系统        235
11.1.1  文本文件和二进制文件        236
11.1.2  文件类型        236
11.1.3  文件操作        237
11.1.4  文件访问        238
11.1.5  文件保护        239
11.2  目录        240
11.2.1  目录树        240
11.2.2  路径名        241
11.3  磁盘调度        244
11.3.1  先到先服务磁盘调度法        245
11.3.2  最短寻道时间优先磁盘调度法        245
11.3.3  SCAN磁盘调度法        246
小结        246
练习        247
思考题        250
第六部分  应用程序层
第12章  信息系统        251
12.1  信息管理        251
12.2  电子制表软件        252
12.2.1  电子数据表公式        253
12.2.2  循环引用        257
12.2.3  电子数据表分析        257
12.3  数据库管理系统        258
12.3.1  关系模型        259
12.3.2  关系        260
12.3.3  结构化查询语言        262
12.3.4  数据库设计        263
小结        264
练习        265
思考题        268
第13章  人工智能        269
13.1  思维机        269
13.1.1  图灵测试        270
13.1.2  AI问题的各个方面        271
13.2  知识表达        271
13.2.1  语义网络        272
13.2.2  检索树        274
13.3  专家系统        276
13.4  神经网络        278
13.4.1  生物神经网络        278
13.4.2  人工神经网络        279
13.5  自然语言处理        280
13.5.1  语音合成        281
13.5.2  语音识别        282
13.5.3  自然语言理解        283
13.6  机器人学        283
13.6.1  感知-规划-执行范型        285
13.6.2  包孕体系结构        285
13.6.3  物理部件        286
小结        288
练习        289
思考题        291
第14章  模拟和其他应用程序        292
14.1  什么是模拟        292
14.1.1  复杂系统        292
14.1.2  模型        293
14.1.3  构造模型        293
14.1.4  排队系统        294
14.1.5  气象模型        297
14.1.6  其他模型        300
14.1.7  必要的计算能力        300
14.2  图形和计算机辅助设计        301
14.3  嵌入式系统        302
小结        303
练习        304
思考题        306
第七部分  通  信  层
第15章  网络        307
15.1  连网        307
15.1.1  网络的类型        308
15.1.2  Internet连接        310
15.1.3  包交换        312
15.1.4  GPS寻宝        313
15.2  开放式系统和协议        313
15.2.1  开放式系统        313
15.2.2  网络协议        314
15.2.3  TCP/IP        314
15.2.4  高层协议        315
15.2.5  MIME类型        316
15.2.6  防火墙        316
15.3  网络地址        317
小结        319
练习        321
思考题        323
第16章  万维网        324
16.1  Web简介        324
16.1.1  搜索引擎        325
16.1.2  即时消息        326
16.1.3  cookie        326
16.2  HTML        327
16.2.1  基本的HTML格式        329
16.2.2  图像和链接        330
16.3  交互式Web页        331
16.3.1  Java小程序        332
16.3.2  Java服务器页        332
16.4  XML        333
小结        336
练习        337
思考题        340
第八部分  总      结
第17章  计算的限制        341
17.1  硬件        341
17.1.1  算术运算的限制        341
17.1.2  通信的限制        346
17.2  软件        347
17.2.1  软件的复杂度        347
17.2.2  当前提高软件质量的方法        348
17.2.3  臭名昭著的软件错误        351
17.3  问题        352
17.3.1  算法比较        353
17.3.2  图灵机        357
17.3.3  停机问题        360
17.3.4  算法分类        361
小结        363
练习        364
思考题        366
部分练习答案        368
术语表        410
参考文献        428

本目录推荐