《计算机科学概论(第12版)》目录—导读


2e63c7413c4fb9aeea523967cdf3d4066509ecf9

版权
计算机科学概论(第12版)
• 著     [美] J. Glenn Brookshear Dennis Brylow

  译    刘 艺  吴 英  毛倩倩

  责任编辑 杨海玲

• 人民邮电出版社出版发行  北京市丰台区成寿寺路11号

  邮编 100164  电子邮件 315@ptpress.com.cn

  网址 http://www.ptpress.com.cn

• 读者服务热线:(010)81055410

  反盗版热线:(010)81055315

内容提要
计算机科学概论(第12版)
本书是计算机科学概论课程的经典教材,全书对计算机科学做了百科全书式的精彩阐述,充分展现了计算机科学的历史背景、发展历程和新的技术趋势。本书首先介绍的是信息编码及计算机体系结构的基本原理,进而介绍操作系统和组网及因特网的相关内容,接着探讨算法、程序设计语言及软件工程,然后讨论数据抽象和数据库方面的问题,讲述图形学的主要应用以及人工智能,最后以计算理论的介绍结束全书。本书在内容编排上由具体到抽象逐步推进,很适合教学安排,每一个主题自然而然地引导出下一个主题。此外,书中还包含大量的图、表和示例,有助于读者对知识的了解与把握。

第12版主要是将Python程序设计语言方面的介绍纳入了重点章节,除了增加与Python相关的内容,几乎每一章都能看到对前一版对应章节的修订、更新以及修正。

本书非常适合作为高等院校计算机以及相关专业本科生教材,也可以供有意在计算机方面发展的非计算机专业读者作为入门参考。

版权声明
计算机科学概论(第12版)
Authorized translation from the English language edition, entitled COMPUTER SCIENCE: AN OVERVIEW, 12E, by BROOKSHEAR J. GLENN; BRYLOW, DENNIS, published by Pearson Education, Inc. Copyright © 2015, 2012, 2009 by Pearson Education, Inc.

All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc.

CHINESE SIMPLIFIED language edition published by PEARSON EDUCATION ASIA LTD. and POSTS & TELECOM PRESS Copyright © 2017.

本书中文简体字版由Pearson Education Asia Ltd.授权人民邮电出版社独家出版。未经出版者书面许可,不得以任何方式复制或抄袭本书内容。

本书封面贴有Pearson Education(培生教育出版集团)激光防伪标签,无标签者不得销售。

版权所有,侵权必究。

前言
计算机科学概论(第12版)
本书是计算机科学的入门教材。在力求保持学科广度的同时,还兼顾深度,以对所涉及的主题给出中肯的评价。

读者对象
本书面向计算机科学以及其他各个学科的学生。大多数计算机科学专业的学生在最初的学习中都有这样一个误解,认为计算机科学就是程序设计、网页浏览以及因特网文件共享,因为这基本上就是他们所看到的一切。实际上计算机科学远非如此。在入门阶段,学生们需要了解他们主攻的这门学科所涉及内容的广度,这也正是本书的宗旨。本书力图使学生对计算机科学有一个总体的了解,希望在这个基础上,他们可以领会该领域今后其他课程的特点以及相互关系。事实上,本书采用的综述方式也是自然科学入门教程的常用模式。

其他学科的学生如果想融入这个技术化社会,也需要具备这些宽泛的知识背景。适用于他们的计算机科学课程提供的应该是对整个领域很实用的剖析,而不仅仅是培训学生如何上网和使用一些流行的软件。当然,这种培训也有其适用的地方,但本书的目的不在于此,而是用作计算机科学的教科书。

在编写本书先前各版时,我们力求保持其对非技术类学生的可读性。因此,本书已经成功地用作教科书,读者囊括了从高中生到研究生的各个教育层次众多专业的学生。这一版将保持这一传统。

第12版新增的内容
第12版主要是将Python程序设计语言方面的介绍纳入了重点章节。在前几章中,对这些补充内容做了选读标记。在第5章,我们用Python和Python风格的伪代码替换了先前版本中类似Pascal的表示法。

这代表了本书的一个重要改变,本书之前一直努力回避突出任何一种特定语言。我们做出这种改变的原因有几个。首先,本书已经包含了相当多的各种语言代码,有几章还有详细的伪代码。其次,读者已经吸收了相当多的句法方面的知识,似乎可以将句法重新定位为在后续课程中会实际看到的语言。最后,更重要的是,越来越多的使用本书的教师断定,即使是优先介绍计算的广度,对于学生来讲,如果缺乏用于探索和实验的编程工具,许多课题也会很难掌握。

那为什么选择Python呢?语言的选择始终是一个有争议的问题,任何一种选择,反对的人都至少和支持的人一样多。Python是一个极好的中间选择,因为:

其句法简洁易学;
其I/O原语简单;
其数据类型和控制结构与先前版本中使用的伪代码原语很接近;
它支持多个程序设计范式。
Python是一门成熟的程序设计语言,它拥有充满活力的开发社区和丰富的在线资源,便于进一步的研究。根据某些衡量标准,Python仍然是业界10大最常用的程序设计语言之一,并且在计算机科学入门课程中的使用急剧增加。对非计算机专业的学生来讲,它是一门极其受欢迎的入门课程,并且已被其他物理学和生物学这样的STEM[1]领域广泛接受,作为计算科学应用的首选语言。

然而,本书的重点仍然是广义的计算机科学概念;补充Python语言的内容是为了让读者能体会到比先前版本更浓的编程味儿,而不是为了全面地介绍编程。所涵盖的Python主题是由本书现有的结构决定的。因此,第1章涉及的是Python句法,用于表示数据——整数、浮点数、ASCII字符串或Unicode字符串,等等。第2章涉及的是Python运算,详细地反映了本章其余部分所讨论的机器原语。条件、循环以及函数是在第5章引入的,那里需要使用这些结构来设计一个足够完整的描述算法的伪代码。简而言之,Python结构是用来进一步阐明计算机科学概念而不是劫持话题的。

除了Python的内容,几乎每一章都能看到对前一版对应章节的修订、更新以及修正。

章节安排
本书主题由具体到抽象逐步推进——这是一种很利于教学的顺序,每一个主题自然而然地引导出下一个主题。首先介绍的是信息编码、数据存储及计算机体系结构的基本原理(第1章和第2章);进而是操作系统(第3章)和计算机网络(第4章);探讨了算法、程序设计语言及软件开发(第5章至第7章);探索如何更好地访问信息(第8章和第9章);考虑了计算机图形学技术的一些重要应用(第10章)及人工智能(第11章);最后介绍了抽象的计算理论(第12章)。

虽然本书的编排顺序自然连贯,但各个章节都具有很强的独立性,可以单独阅读,也可以根据不同学习顺序重新排列。事实上,本书通常被用作各类课程的教材,内容选择的顺序是多种多样的。其中一种教法是先介绍第5章和第6章(算法和程序设计语言),然后按照需要返回到前面的相应章节。我还知道有门课程是从第12章有关可计算性的内容开始的。这本书还曾作为深入不同领域项目的基础,用于“高级研讨班”课程的教科书。对于不需要了解太多技术的学生,教学中可以重点讲述第4章(组网及因特网)、第9章(数据库系统)、第10章(计算机图形学)和第11章(人工智能)。

每章开篇都用星号标出了选学章节。选学章节要么是讨论更专业的话题,要么是对传统内容作深入探究。此举仅仅是为那些想采取不同阅读顺序的人提供一点建议。当然,还有其他读法。尤其对于那些寻求快速阅读的读者,我们建议采取下面的阅读顺序。


232ef841b67c5469bc9e626f56a39624a44f9ab0

在本书中有几条贯穿始终的主线。主线之一是计算机科学是不断发展变化的。本书从历史发展的角度反复呈现各个主题,讨论其当前的状况,并指出研究方向。另一条主线是抽象的作用以及用抽象工具控制复杂性的方式。该主线在第0章引入,然后在操作系统、体系结构、组网、算法的发展、程序设计语言设计、软件工程、数据组织和计算机图形学等内容中反复体现。

致教师
本教材所包含的内容很难在一个学期内讲授完,因此一定要果断砍掉不适合自己教学目标的那些主题,或者根据需要重新调整讲授顺序。你会发现,尽管本书有它固有的结构体系,但各个主题在很大程度上是相对独立的,完全可以根据需要作出选择。我写本书的目的是把它作为一种课程的资源,而非课程的定义。我们建议鼓励学生自己阅读课堂上没有讲授的内容。如果我们认为所有的东西都一定要在课堂上讲,那就低估学生的能力了。我们应该教会他们独立学习。

关于本书从具体到抽象的组织结构,我们觉得有必要多言几句。作为学者,我们总以为学生会欣赏我们对于学科的观点,这些观点通常是我们在某一领域多年工作中形成的。但作为教师,我们认为最好从学生的视角呈现教材。这就是为什么本书首先介绍数据的表示/存储、计算机体系结构、操作系统以及组网,因为这些都是学生们最容易产生共鸣的主题:他们很可能听说过JPEG、MP3这些术语;可能用CD和DVD刻录过资料;买过计算机配件;应用过某一操作系统;上过因特网。从这些主题开始讲授这门课程,学生可以为许多让他们困惑多年的问题找到答案,并且把这门课看成是实践课程而不是纯理论的课程。由此出发,就会很自然地过渡到较抽象的算法、算法结构、程序设计语言、软件开发方法、可计算性以及复杂性等内容上,而这些内容就是我们本领域的人认为的计算机科学的主要内容。正如前面所说的,以这种方式呈现全书并不是强求大家都按此顺序讲课,只是鼓励大家如此尝试一下。

我们都知道,学生能学到的东西要远远多于我们直接传授的内容,而且潜移默化传授的知识更容易被吸收。当要“传授”问题的解决方法时,就更是如此。学生不可能通过学习问题求解的方法变成问题的解决者,他们只有通过解决问题,而且不仅仅是解决那些精心设计过的“教科书式的问题”,才能成为问题的解决者。因此,本书加入了大量的问题,并特意让其中一些问题模棱两可——这意味着正确方法或正确答案不一定是唯一的。我们鼓励大家采用并拓展这些问题。

“潜移默化学习”类的其他话题还有职业精神、道德和社会责任感。我认为这种内容不应该独立成章,而是应该在有所涉及时讨论,而这正是本书的编排方法。你会发现,3.5节、4.5节、7.9节、9.7节和11.7节分别在操作系统、组网、软件工程、数据库系统和人工智能的上下文中提及了安全、隐私、责任和社会意识的问题。你还会发现,每一章都包含了一些社会问题,这些问题将鼓励学生思考他们所生活的现实社会与教材中的内容的关系。

感谢你对本书感兴趣。无论你是否选用本书作为教材,我都希望你认同它是一部好的计算机科学教育文献。

教学特色
本书是多年教学经验的结晶,因此在辅助教学方面考虑较多。最主要的是提供了丰富的问题以加强学生的参与——这一版包含1 000多个问题,分为“问题与练习”“复习题”和“社会问题”。

“问题与练习”列在每节末尾(除了第0章外),用于复习刚刚讨论过的内容,扩充以前讨论过的知识,或者提示以后会涉及的有关主题。这些问题与练习的答案可在网上下载[2]。

“复习题”列在每章的末尾(第0章除外)。它们是课后作业,内容覆盖整章,书中没有给出答案。

“社会问题”也列在每章的末尾,供思考讨论。许多问题可以用来开展课外研究,可要求学生提交简短的书面或口头报告。

在每章的末尾还设有“课外阅读”,它列出了与本章主题有关的参考资料。同时,前言以及正文中所列的网址也非常适合用于查找相关资料。

补充材料
本书的许多补充材料可以从配套网站www.pearsonhighered.com/brookshear上找到。以下内容面向所有读者。

每章的实践项目帮助读者加深理解本教材的主题,并可以帮助读者了解其他相关主题。
每章的“自测题”帮助读者复习本书中的内容。
介绍Java和C++基本原理的手册,它在教学顺序上与本书是兼容的。
除此之外,教师还可以登录Pearson Education的教师资源中心(www.pearsonhighered.com)网站申请获得下面的教辅资料。

包含“复习题”答案的教师指南。
PowerPoint幻灯片讲稿。
测试题库。
本书的勘误表(如果有的话)网址为www.mscs.mu.edu/~brylow/errata/。

致学生
Glenn Brookshear有一点点偏执(他的一些朋友说可远不是一点点),所以写本书时,他很少接受他人的建议,许多人认为其中一些内容对于初学者过于高深。但是,我们相信即使学术界把它们归为“高级论题”,但只要与主题相关就是合适的。读者需要的是一本全面介绍计算机科学的教科书,而不是“缩水”的版本——只包括那些简化了的、被认为适合初学者的主题。因此,我们不回避任何主题,而是力求寻找更好的解释。我们力图在一定深度上向读者展示计算机科学最真实的一面。就好比对待菜谱里的那些调味品一样,你可以有选择地略过本书的一些主题,但我们全部呈现出来是为了在你想要的时候供你“品尝”,而且我们也鼓励你们去尝试。

我们还要指出的是,在任何与技术有关的课程中,当前学到的详细知识未必就适合以后的需要。这个领域是发展变化的——这正是使人兴奋的方面。本书将从现实及历史的角度展现本学科的内容。有了这些背景知识,你就会和技术一起成长。我们希望你现在就开始行动起来,不要局限于课本的内容,而要进行大胆探索。要学会学习。

感谢你的信任,选择了我们的这本书。作为作者,我们有责任创作出值得一读的作品。我们希望你觉得我们已经尽到了这份责任。

致谢
首先,我要感谢Glenn Brookshear,他一直照看着这本书——“他的孩子”——包括之前的11个版本,跨越了计算机科学领域快速发展和动荡变化的超过四分之一个世纪的时间。虽然这是他头一版允许合著者来审查所有的修订,但这一版收录的仍然基本是Glenn的“声音”,并由他主导,这也是我所希望的。任何新的瑕疵都是我造成的,而优雅的基本框架都是他设计的。

我和Glenn要感谢那些支持本书(阅读并使用本书前几个版本)的人们,我们感到很荣幸。

在David T. Smith(宾夕法尼亚州印第安纳大学)和我共同编写第11版修订的过程中,David发挥了很重要的作用。他做的许多修订在第12版中仍然存在。David对本版的仔细阅读和对补充材料的仔细关注对本书来讲至关重要。Andrew Kuemmel(Madison West)、George Corliss (Marquette)和Chris Mayfield(James Madison)为本版本的初稿提供了有价值的反馈、深刻的见解和/或鼓励,同时James E. Ames(Virginia Commonwealth)、Stephanie E. August(Loyola)、Yoonsuck Choe(Texas A&M)、Melanie Feinberg(UT-Austin)、Eric D. Hanley(Drake)、Sudharsan R. Iyengar(Winona State)、Ravi Mukkamala(Old Dominion)和Edward Pryor(Wake Forest)对Python方面的修订提供了宝贵的评价。

其他对这一版和之前版本作出贡献的人包括J. M. Adams、C. M. Allen、D. C. S. Allison、E. Angel、R. Ashmore、B. Auernheimer、P. Bankston、M. Barnard、P. Bender、K. Bowyer、P. W. Brashear、C. M. Brown、H. M. Brown、B. Calloni、J. Carpinelli、M. Clancy、R. T. Close、D. H. Cooley、L. D. Cornell、M. J. Crowley、F. Deek、M. Dickerson、M. J. Duncan、S. Ezekiel、C. Fox、S. Fox、N. E. Gibbs、J. D. Harris、D. Hascom、L. Heath、P. B. Henderson、L. Hunt、M. Hutchenreuther、L. A. Jehn、K. K. Kolberg、K. Korb、G. Krenz、J. Kurose、J. Liu、T. J. Long、C. May、J. J. McConnell、W. McCown、S. J. Merrill、K. Messersmith、J. C. Moyer、M. Murphy、J. P. Myers、Jr.,D. S. Noonan、G. Nutt、W. W. Oblitey、S. Olariu、G. Riccardi、G. Rice、N. Rickert、C. Riedesel、J. B. Rogers、G. Saito、W. Savitch、R. Schlafly、J. C. Schlimmer、S. Sells、Z. Shen、G. Sheppard、J. C. Simms、M. C. Slattery、J. Slimick、J. A. Slomka、J. Solderitsch、R. Steigerwald、L. Steinberg、C. A. Struble、C. L. Struble、W. J. Taffe、J. Talburt、P. Tonellato、P. Tromovitch、P. H. Winston、E. D. Winter、E. Wright、M. Ziegler,还有一位匿名的朋友。我们向他们中的每一位致以最真诚的谢意。

如前所述,本书的配套网站上有Java和C++手册来讲述这两种语言的基础知识,与本书的内容相得益彰。它们是由Diane Christie撰写的,在此表示感谢。另外,还要感谢Roger Eastman,他是本书配套网站上每章实践项目的出
题人。

我同时要感谢支持本项目的Pearson出版集团的员工。特别是,和Tracy Johnson、Camille Trentacoste、Carole Snyder一起工作特别愉快,他们为本书贡献了自己的智慧,提供了许多改进。

最后,我要感谢我的妻子Petra——“the Rock”,这本书是专门献给她的。她的耐心和毅力往往超出了我,这本书因她的稳定影响而更好了。

D. W. B.

[1]STEM是4个英语单词Science(科学)、Technology(技术)、Engineering(工程)和Mathematics(数学)的缩写。——译者注

[2]“问题与练习答案”可以从异步社区(www.epubit.com.cn)本书网页免费注册下载。——编者注

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

目录
前言
绪0论 绪论
0.1节算法的作用
0.2节计算机器的由来
0.3节学习大纲
0.4节计算机科学的首要主题
第1章 数据存储
1.1节位和位存储
1.2节主存储器
1.3节海量存储器
1.4节用位模式表示信息
1.5节二进制系统
1.6节整数的存储
1.7节小数的存储
1.8节数据与程序设计
1.9节数据压缩
1.10节通信差错
第2章 [text]()数据操控
第3章 操作系统
第4章 组网及因特网
第5章 算法
第6章 程序设计语言
第7章 软件工程
第8章 数据抽象
第9章 数据库系统
第10章 计算机图形学
第11章 人工智能
第12章 计算理论
附录A ASCII码
附录B 用于处理二进制补码表示的电路
附录C 一种简单的机器语言
附录D 高级程序设计语言
附录E 迭代结构与递归结构的等价性
索引

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机科学概论第12》是一本介绍计算机科学基础知识的教材,已经更新到第12,并且提供了PDF电子本。这本教材主要包括计算机科学的历史、原理、应用和未来发展等方面的内容。 在这本教材中,作者对计算机科学的各个方面进行了系统的涵盖和详细的描述。首先,他介绍了计算机科学的基础概念和原理,包括计算机的运作原理、数据表示和计算机网络等。然后,他讨论了软件开发和算法设计的基本原则与方法。此外,还包括计算机体系结构、操作系统、数据库和人工智能等相关领域的介绍。 通过阅读这本教材的PDF本,我们可以更加便捷地获取到其中的知识。PDF格式使得电子教材具有可搜索的特性,方便我们在需要的时候快速找到相关内容。此外,PDF还保留了原纸质教材的面和排,使得阅读体验更加接近实体书。 《计算机科学概论第12》PDF本的发布,意味着学习者可以通过互联网随时随地获取教材,方便学习和查阅。学生们可以使用电子教材进行课前预习、课堂笔记和复习备考,提高学习效率。同时,电子教材也减少了纸张的使用,对环境保护有一定的意义。 总而言之,将《计算机科学概论第12》制作成PDF格式,为学习者提供了更加便捷和灵活的学习方式。同时,这本教材全面而详细地介绍了计算机科学的各个方面,对学习者的知识提升和技能培养非常有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值