关于我们
书单推荐
新书推荐
|
计算机科学概论(英文版·原书第7版)
本书从信息层开始,历经硬件层、程序设计层、操作系统层、应用层和通信层,深入剖析了计算系统的每个分层,*后讨论了计算的限制。此外,正文中插入了大量的名人传记、历史点评、道德问题和新的技术发展信息,有助于你进一步了解计算机科学。每章后面都附带有大量的练习,可以帮助你即时重温并掌握这一章所讲述的内容。 本书是计算机科学导论课程的理想教材,对于想要了解计算机科学概况的非专业人员,本书也是一个很好的选择。
出版者的话
前言 第一部分 基础篇 第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
你还可能感兴趣
我要评论
|