计算机科学概论(英文版·原书第7版)

作者
[美] 内尔·黛尔(Nell Dale)/得克萨斯大学奥斯汀分校 约翰·路易斯(John Lewis)/弗吉尼亚理工大学
丛书名
经典原版书库
出版社
机械工业出版社
ISBN
9787111666745
简要
简介
内容简介书籍计算机书籍 本书从信息层开始,历经硬件层、程序设计层、操作系统层、应用层和通信层,深入剖析了计算系统的每个分层,最后讨论了计算的限制。此外,正文中插入了大量的名人传记、历史点评、道德问题和新的技术发展信息,有助于你进一步了解计算机科学。每章后面都附带有大量的练习,可以帮助你即时重温并掌握这一章所讲述的内容。 本书是计算机科学导论课程的理想教材,对于想要了解计算机科学概况的非专业人员,本书也是一个很好的选择。
目录
出版者的话
前言
第一部分 基础篇
第1章 全景图 3
1.1 计算系统 4
计算系统的分层 4
抽象 6
1.2 计算的历史 9
计算硬件简史 9
计算软件简史 19
预言 25
1.3 计算工具与计算学科 26
计算的基本思想 27
小结 28
道德问题:数字鸿沟 30
关键术语 31
练习 31
思考题 33
第二部分 信息层
第2章 二进制数值与记数系统 35
2.1 数字与计算 36
2.2 位置记数法 36
二进制、八进制和十六进制 38
其他记数系统中的运算 41
以2的幂为基数的记数系统 42
将十进制数转换成其他数制的数 44
二进制数值与计算机 45
小结 48
道德问题:FISA法庭 49
关键术语 49
练习 50
思考题 53
第3章 数据表示法 55
3.1 数据与计算机 56
模拟数据与数字数据 57
二进制表示法 59
3.2 数字数据表示法 61
负数表示法 61
实数表示法 65
3.3 文本表示法 68
ASCII字符集 69
Unicode字符集 70
文本压缩 71
3.4 音频数据表示法 77
音频格式 79
MP3音频格式 79
3.5 图像与图形表示法 80
颜色表示法 80
数字化图像与图形 82
图形的矢量表示法 83
3.6 视频表示法 84
视频编译码器 84
小结 85
道德问题:Snowden事件的影响 86
关键术语 86
练习 87
思考题 91
第三部分 硬件层
第4章 门和电路 93
4.1 计算机和电学 94
4.2 门 96
非门 96
与门 97
或门 98
异或门 98
与非门和或非门 99
门处理回顾 100
具有更多输入的门 101
4.3 门的构造 101
晶体管 102
4.4 电路 104
组合电路 104
加法器 108
多路复用器 110
4.5 存储器电路 111
4.6 集成电路 112
4.7 CPU芯片 113
小结 113
道德问题:道德规范 114
关键术语 116
练习 116
思考题 119
第5章 计算部件 121
5.1 独立的计算机部件 122
5.2 存储程序的概念 126
冯·诺伊曼体系结构 128
读取–执行周期 132
RAM和ROM 134
二级存储设备 135
触摸屏 139
5.3 嵌入式系统 141
5.4 并行体系结构 142
并行计算 142
并行硬件分类 144
小结 145
道德问题:隐私是否已经是过去时? 146
关键术语 146
练习 147
思考题 149
第四部分 程序设计层
第6章 低级程序设计语言与伪代码 151
6.1 计算机操作 152
6.2 机器语言 152
Pep/9:一台虚拟机 153
Pep/9的输入/输出 159
6.3 一个程序实例 159
Pep/9模拟器 160
另一个机器语言实例 162
6.4 汇编语言 163
Pep/9汇编语言 164
数字数据、分支、标签 166
汇编语言中的循环 170
6.5 表达算法 171
伪代码的功能 171
执行伪代码算法 175
写伪代码算法 177
翻译伪代码算法 180
6.6 测试 182
小结 183
道德问题:软件盗版 185
关键术语 186
练习 186
思考题 189
第7章 问题求解与算法设计 191
7.1 如何解决问题 192
提出问题 193
寻找熟悉的情况 193
分治法 194
算法 194
计算机问题求解过程 196
方法总结 197
测试算法 198
7.2 有简单变量的算法 199
带有选择的算法 199
带有循环的算法 200
7.3 复杂变量 206
数组 206
记录 207
7.4 搜索算法 208
顺序搜索 208
有序数组中的顺序搜索 209
二分检索 212
7.5 排序 214
选择排序 215
冒泡排序 218
插入排序 220
7.6 递归算法 221
子程序语句 221
递归阶乘 223
递归二分检索 224
快速排序 224
7.7 几个重要思想 228
信息隐蔽 228
抽象 229
事物命名 230
测试 231
小结 231
道德问题:开源软件 232
关键术语 234
练习 234
思考题 239
第8章 抽象数据类型与子程序 241
8.1 抽象数据类型 242
8.2 栈 242
8.3 队列 243
8.4 列表 244
8.5 树 247
二叉树 247
二叉检索树 249
其他操作 255
8.6 图 256
创建图 258
图算法 259
8.7 子程序 265
参数传递 266
值参与引用参数 268
小结 271
道德问题:工作场所监视 273
关键术语 274
练习 274
思考题 279
第9章 面向对象设计与高级程序设计语言 281
9.1 面向对象方法 282
面向对象 282
设计方法 283
示例 286
9.2 翻译过程 291
编译器 292
解释器 292
9.3 程序设计语言范型 295
命令式范型 295
声明式范型 296
9.4 高级程序设计语言的功能性 298
布尔表达式 299
数据归类 301
输入/输出结构 305
控制结构 307
9.5 面向对象语言的功能性 313
封装 313
类 314
继承 316
多态 317
9.6 过程设计与面向对象设计的区别 318
小结 319
道德问题:恶作剧与诈骗 321
关键术语 322
练习 323
思考题 327
第五部分 操作系统层
第10章 操作系统 329
10.1 操作系统的角色 330
内存、进程与CPU管理 332
批处理 333
分时 334
其他OS要素 335
10.2 内存管理 336
单块内存管理 338
分区内存管理 339
页式内存管理 341
10.3 进程管理 344
进程状态 344
进程控制块 345
10.4 CPU调度 346
先到先服务 347
最短作业优先 348
轮询法 348
小结 350
道德问题:医疗隐私—健康保险携带与责任法案(HIPAA) 352
关键术语 353
练习 354
思考题 359
第11章 文件系统和 361
11.1 文件系统 362
文本文件和二进制文件 362
文件类型 363
文件操作 365
文件访问 366
文件保护 367
11.2  368
树 369
路径名 371
11.3 磁盘调度 373
先到先服务磁盘调度法 375
最短寻道时间优先磁盘调度法 375
SCAN磁盘调度法 376
小结 378
道德问题:选择加入和选择退出 380
关键术语 381
练习 381
思考题 385
第六部分 应用层
第12章 信息系统 387
12.1 信息管理 388
12.2 电子制表软件 389
电子数据表公式 391
循环引用 396
电子数据表分析 397
12.3 数据库管理系统 399
关系模型 399
关系 403
结构化查询语言 404
数据库设计 405
12.4 电子商务 407
12.5 大数据 408
小结 409
道德问题:政治与网络 411
关键术语 413
练习 413
思考题 417
第13章 人工智能 419
13.1 思维机 420
图灵测试 421
AI问题的各个方面 423
13.2 知识表示 423
语义网 425
检索树 427
13.3 专家系统 430
13.4 神经网络 432
生物神经网络 432
人工神经网络 433
13.5 自然语言处理 435
语音合成 437
语音识别 438
自然语言理解 439
13.6 机器人学 440
感知–规划–执行范型 441
包孕体系结构 441
物理部件 443
小结 445
道德问题:首次公开发行 447
关键术语 448
练习 448
思考题 451
第14章 模拟、图形学、游戏和其他应用 453
14.1 什么是模拟 454
复杂系统 454
模型 455
构造模型 455
14.2 特殊模型 457
排队系统 457
气象模型 461
计算生物学 466
其他模型 467
必要的计算能力 467
14.3 计算机图形学 468
光的工作原理 470
物体形状 472
光模拟 472
复杂对象的建模 474
让物体动起来 480
14.4 游戏 482
游戏的历史 483
创建虚拟世界 484
游戏设计与开发 485
游戏编程 486
小结 487
道德问题:游戏成瘾 489
关键术语 490
练习 490
思考题 493
第七部分 通信层
第15章 网络 495
15.1 连网 496
网络的类型 497
Internet连接 500
包交换 502
15.2 开放式系统与协议 504
开放式系统 504
网络协议 505
TCP/IP 506
高层协议 507
MIME类型 508
防火墙 509
15.3 网络地址 510
域名系统 511
谁控制因特网 514
15.4 云计算 515
15.5 区块链 516
小结 517
道德问题:社交网络的影响 519
关键术语 520
练习 521
思考题 523
第16章 万维网 525
16.1 Web简介 526
搜索引擎 527
即时消息 528
博客 529
cookie 530
Web分析 530
16.2 HTML和CSS 531
基本的HTML元素 535
标记的属性 536
关于CSS的更多内容 537
更多HTML5的元素 540
16.3 交互式网页 541
Java小程序 541
Java服务器页 542
16.4 XML 543
16.5 社交网络演化 547
小结 548
道德问题:赌博与互联网 551
关键术语 552
练习 552
思考题 555
第17章 计算机安全 557
17.1 各级安全 558
信息安全 558
17.2 阻止未授权访问 560
密码 561
验证码 563
指纹分析 564
17.3 恶意代码 565
杀毒软件 566
安全攻击 567
17.4 密码学 569
17.5 保护你的在线信息 572
共同的责任 574
安全与可移动设备 574
维基解密 575
小结 578
道德问题:博客和新闻 580
关键术语 581
练习 582
思考题 585
网上资料
术语表
参考文献
索引
CONTENTS
1 Laying the Groundwork . . . . . . . . . . . . .2
Chapter 1The Big Picture 3
1.1 Computing Systems 4
Layers of a Computing System 4
Abstraction 6
1.2 The History of Computing 9
A Brief History of Computing Hardware 9
A Brief History of Computing Software 19
Predictions 25
1.3 Computing as a Tool and a.Discipline 26
The Big Ideas of Computing 27
Summary 28
Ethical Issues: Digital Divide 30
Key Terms 31
Exercises 31
Thought Questions 33
2 The Information Layer . . . . . . . . . . . . .34
Chapter 2Binary Values and Number Systems 35
2.1 Numbers and Computing 36
2.2 Positional Notation 36
Binary, Octal, and Hexadecimal 38
Arithmetic in Other Bases 41
Power-of-2 Number Systems 42
Converting from Base 10 to Other Bases 44
Binary Values and Computers 45
Summary 48
Ethical Issues: The FISA Court 49
Key Terms 49
Exercises 50
Thought Questions 53
Chapter 3 Data Representation 55
3.1 Data and Computers 56
Analog and Digital Data 57
Binary Representations 59
3.2 Representing Numeric Data 61
Representing Negative Values 61
Representing Real Numbers 65
3.3 Representing Text 68
The ASCII Character Set 69
The Unicode Character Set 70
Text Compression 71
3.4 Representing Audio Data 77
Audio Formats 79
The MP3 Audio Format 79
3.5 Representing Images and Graphics 80
Representing Color 80
Digitized Images and Graphics 82
Vector Representation of Graphics 83
3.6 Representing Video 84
Video Codecs 84
Summary 85
Ethical Issues: The Fallout from Snowden’s Revelations 86
Key Terms 86
Exercises 87
Thought Questions 91
3 The Hardware Layer . . . . . . . . . . . . . . .92
Chapter 4 Gates and Circuits 93
4.1 Computers and Electricity 94
4.2 Gates 96
NOT Gate 96
AND Gate 97
OR Gate 98
XOR Gate 98
NAND and NOR Gates 99
Review of Gate Processing 100
Gates with More Inputs 101
4.3 Constructing Gates 101
Transistors 102
4.4 Circuits 104
Combinational Circuits 104
Adders 108
Multiplexers 110
4.5 Circuits as Memory 111
4.6 Integrated Circuits 112
4.7 CPU Chips 113
Summary 113
Ethical Issues: Codes of Ethics 114
Key Terms 116
Exercises 116
Thought Questions 119
Chapter 5 Computing Components 121
5.1 Individual Computer Components 122
5.2 The Stored-Program Concept 126
von Neumann Architecture 128
The Fetch–Execute Cycle 132
RAM and ROM 134
Secondary Storage Devices 135
Touch Screens 139
5.3 Embedded Systems 141
5.4 Parallel Architectures 142
Parallel Computing 142
Classes of Parallel Hardware 144
Summary 145
Ethical Issues: Is Privacy a Thing of the Past 146
Key Terms 146 Exercises 147
Thought Questions 149
4 The Programming Layer . . . . . . . . . . .150
Chapter 6 Low-Level Programming Languages and Pseudocode 151
6.1 Computer Operations 152
6.2 Machine Language 152
Pep/9: A Virtual Computer 153
Input and Output in Pep/9 159
6.3 A Program Example 159
Pep/9 Simulator 160
Another Machine-Language Example 162
6.4 Assembly Language 163
Pep/9 Assembly Language 164
Numeric Data, Branches, and Labels 166
Loops in Assembly Language 170
6.5 Expressing Algorithms 171
Pseudocode Functionality 171
Following a Pseudocode Algorithm 175
Writing a Pseudocode Algorithm 177
Translating a Pseudocode Algorithm 180
6.6 Testing 182
Summary 183
Ethical Issues: Software Piracy 185
Key Terms 186
Exercises 186
Thought Questions 189
Chapter 7 Problem Solving and Algorithms 191
7.1 How to Solve Problems 192
Ask Questions 193
Look for Familiar Things 193
Divide and Conquer 194
Algorithms 194
Computer Problem-Solving Process 196
Summary of Methodology 197
Testing the Algorithm 198
7.2 Algorithms with Simple Variables 199
An Algorithm with Selection 199
Algorithms with Repetition 200
7.3 Composite Variables 206
Arrays 206
Records 207
7.4 Searching Algorithms 208
Sequential Search 208
Sequential Search in a Sorted Array 209
Binary Search 212
7.5 Sorting 214
Selection Sort 215
Bubble Sort 218
Insertion Sort 220
7.6 Recursive Algorithms 221
Subprogram Statements 221
Recursive Factorial 223
Recursive Binary Search 224
Quicksort 224
7.7 Important Threads 228
Information Hiding 228
Abstraction 229
Naming Things 230
Testing 231
Summary 231
Ethical Issues: Open-Source Software 232
Key Terms 234
Exercises 234
Thought Questions 239
Chapter 8 Abstract Data Types and Subprograms 241
8.1 What Is an Abstract Data Type 242
8.2 Stacks 242
8.3 Queues 243
8.4 Lists 244
8.5 Trees 247
Binary Trees 247
Binary Search Trees 249
Other Operations 255
8.6 Graphs 256
Creating a Graph 258
Graph Algorithms 259
8.7 Subprograms 265
Parameter Passing 266
Value and Reference Parameters 268
Summary 271
Ethical Issues: Workplace Monitoring 273
Key Terms 274
Exercises 274
Thought Questions 279
Chapter 9 Object-Oriented Design and High-Level Programming Languages 281
9.1 Object-Oriented Methodology 282
Object Orientation 282
Design Methodology 283
Example 286
9.2 Translation Process 291
Compilers 292
Interpreters 292
9.3 Programming Language Paradigms 295
Imperative Paradigm 295
Declarative Paradigm 296
9.4 Functionality in High-Level Languages 298
Boolean Expressions 299
Data Typing 301
Input/Output Structures 305
Control Structures 307
9.5 Functionality of Object-Oriented Languages 313
Encapsulation 313
Classes 314
Inheritance 316
Polymorphism 317
9.6 Comparison of Procedural and Object-Oriented Designs 318
Summary 319
Ethical Issues: Hoaxes and Scams 321
Key Terms 322
Exercises 323
Thought Questions 327
The Operating Systems Layer . . . . . . .328
Chapter 10 Operating Systems 329
10.1 Roles of an Operating System 330
Memory, Process, and CPU Management 332
Batch Processing 333
Timesharing 334
Other OS Factors 335
10.2 Memory Management 336
Single Contiguous Memory Management 338
Partition Memory Management 339
Paged Memory Management 341
10.3 Process Management 344
The Process States 344
The Process Control Block 345
10.4 CPU Scheduling 346
First Come, First Served 347
Shortest Job Next 348
Round Robin 348
Summary 350
Ethical Issues: Medical Privacy: HIPAA 352
Key Terms 353
Exercises 354
Thought Questions 359
Chapter 11 File Systems and Directories 361
11.1 File Systems 362
Text and Binary Files 362
File Types 363
File Operations 365
File Access 366
File Protection 367
11.2 Directories 368
Directory Trees 369
Path Names 371
11.3 Disk Scheduling 373
First-Come, First-Served Disk Scheduling 375
Shortest-Seek-Time-First Disk Scheduling 375
SCAN Disk Scheduling 376
Summary 378
Ethical Issues: Privacy: Opt-In or Opt-Out 380
Key Terms 381
Exercises 381
Thought Questions 385
6 The Applications Layer . . . . . . . . . . . .386
Chapter 12 Information Systems 387
12.1 Managing Information 388
12.2 Spreadsheets 389
Spreadsheet Formulas 391
Circular References 396
Spreadsheet Analysis 397
12.3 Database Management Systems 399
The Relational Model 399
Relationships 403
Structured Query Language 404
Database Design 405
12.4 E-Commerce 407
12.5 Big Data 408
Summary 409
Ethical Issues: Politics and the Internet 411
Key Terms 413
Exercises 413
Thought Questions 417
13.1 Thinking Machines 420
The Turing Test 421
Aspects of AI 423
13.2 Knowledge Representation 423
Semantic Networks 425
Search Trees 427
13.3 Expert Systems 430
13.4 Neural Networks 432
Biological Neural Networks 432
Artificial Neural Networks 433
13.5 Natural-Language Processing 435
Voice Synthesis 437
Voice Recognition 438
Natural-Language Comprehension 439
13.6 Robotics 440
The Sense–Plan–Act Paradigm 441
Subsumption Architecture 441
Physical Components 443
Summary 445
Ethical Issues: Initial Public Offerings 447
Key Terms 448
Exercises 448
Thought Questions 451
Chapter 14 Simulation, Graphics, Gaming, and Other Applications 453
14.1 What Is Simulation 454
Complex Systems 454
Models 455
Constructing Models 455
14.2 Specific Models 457
Queuing Systems 457
Meteorological Models 461
Computational Biology 466
Other Models 467
Computing Power Necessary 467
14.3 Computer Graphics 468
How Light Works 470
Object Shape Matters 472
Simulating Light 472
Modeling Complex Objects 474
Getting Things to Move 480
14.4 Gaming 482
History of Gaming 483
Creating the Virtual World 484
Game Design and Development 485
Game Programming 486
Summary 487
Ethical Issues: Gaming as an Addiction 489
Key Terms 490
Exercises 490
Thought Questions 493
The Communications Layer . . . . . . . . .494
Chapter 15 Networks 495
15.1 Networking 496
Types of Networks 497
Internet Connections 500
Packet Switching 502
15.2 Open Systems and Protocols 504
Open Systems 504
Network Protocols 505
TCP/IP 506
High-Level Protocols 507
MIME Types 508
Firewalls 509
15.3 Network Addresses 510
Domain Name System 511
Who Controls the Internet 514
15.4 Cloud Computing 515
15.5 Blockchain 516
Summary 517
Ethical Issues: The Effects of Social Networking 519
Key Terms 520
Exercises 521
Thought Questions 523
Chapter 16 The World Wide Web 525
16.1 Spinning the Web 526
Search Engines 527
Instant Messaging 528
Weblogs 529
Cookies 530
Web Analytics 530
16.2 HTML and CSS 531
Basic HTML Elements 535
Tag Attributes 536
More About CSS 537
More HTML5 Elements 540
16.3 Interactive Web Pages 541
Java Applets 541
Java Server Pages 542
16.4 XML 543
16.5 Social Network Evolution 547
Summary 548
Ethical Issues: Gambling and the Internet 551
Key Terms 552
Exercises 552
Thought Questions 555
Chapter 17 Computer Security 557
17.1 Security at All Levels 558
Information Security 558
17.2 Preventing Unauthorized Access 560
Passwords 561
CAPTCHA 563
Fingerprint Analysis 564
17.3 Malicious Code 565
Antivirus Software 566
Security Attacks 567
17.4 Cryptography 569
17.5 Protecting Your Information Online 572
Corporate Responsibility 574
Security and Portable Devices 574
WikiLeaks 575
Summary 578
Ethical Issues: Blogging and Journalism 580
Key Terms 581
Exercises 582
Thought Questions 585
In Conclusion . . . . . . . . . . . . . . . . . . .586
Chapter 18Limitations of Computing 587
18.1 Hardware 588
Limits on Arithmetic 588
Limits on Components 594
Limits on Communications 595
18.2 Software 596
Complexity of Software 596
Current Approaches to Software Quality 597
Notorious Software Errors 602
18.3 Problems 604
Comparing Algorithms 605
Turing Machines 612
Halting Problem 615
Classification of Algorithms 617
Glossary 625
Endnotes 651
Index 661




有问题微信扫码联系

推荐

车牌查询
桂ICP备20004708号-3