好书推荐 好书速递 排行榜 读书文摘

计算机科学概论

计算机科学概论
作者:[美]内尔·黛尔 / [美]约翰·路易斯
译者:吕云翔 / 刘艺博
出版社:机械工业出版社
出版年:2016-05
ISBN:9787111534259
行业:计算机
浏览数:50

内容简介

本书由两位知名的计算机科学教育家编写,全面而细致地介绍了计算机科学的各个方面。书中从信息层开始,历经硬件层、程序设计层、操作系统层、应用程序层和通信层,深入剖析了计算系统的每个分层,后讨论了计算的限制。此外,正文中穿插了大量的人物传记、历史点评、道德问题和新的技术发展信息,有助于你进一步了解计算机科学。每章后面都附带有大量的练习,可以帮助你即时重温并掌握这一章所述的内容。

......(更多)

作者简介

内尔·黛尔(Nell Dale),计算机科学领域广受推崇的教育家。在得克萨斯大学奥斯汀分校执教的二十多年中,她编写了四十多本计算机科学方面的本科生教材。她于得克萨斯大学奥斯汀分校获得了硕士学位和计算机科学博士学位。由于在计算机科学领域做出了卓越贡献,她于1996年获得了ACM SIGCSE计算机科学教育杰出贡献奖,于2001年获得了ACM Karl Karlston杰出教师奖。她于2010年被选为ACM会士。

约翰·路易斯(John Lewis),计算机科学领域著名的教育家和作家。他编写的Java软件及程序设计教材十分畅销。他于弗吉尼亚理工大学获得博士学位,并曾在维拉诺瓦大学计算机科学系执教14年,现任教于弗吉尼亚理工大学。执教期间,他获得很多奖励,包括大学卓越教学奖和Goff杰出教学奖。他的研究兴趣包括面向对象技术、多媒体和软件工程。

......(更多)

目录

出版者的话

译者序

前言

第一部分基础篇

第1章全景图2

1.1计算系统2

1.1.1计算系统的分层3

1.1.2抽象4

1.2计算的历史5

1.2.1计算硬件简史5

1.2.2计算软件简史12

1.2.3预言16

1.3计算工具与计算学科16

小结18

道德问题:the Tenth Strand18

练习19

思考题20

第二部分信息层

第2章二进制数值与记数系统22

2.1数字与计算22

2.2位置记数法23

2.2.1二进制、八进制和十六进制26

2.2.2其他记数系统中的运算27

2.2.3以2的幂为基数的记数系统27

2.2.4把十进制数转换成其他数制的数29

2.2.5二进制数值与计算机29

小结31

道德问题:the Tenth Strand的知识单元31

练习33

思考题34

第3章数据表示法35

3.1数据与计算机35

3.1.1模拟数据与数字数据36

3.1.2二进制表示法38

3.2数字数据表示法39

3.2.1负数表示法39

3.2.2实数表示法42

3.3文本表示法44

3.3.1ASCII字符集45

3.3.2Unicode字符集45

3.3.3文本压缩46

3.4音频数据表示法49

3.4.1音频格式50

3.4.2MP3音频格式50

3.5图像与图形表示法51

3.5.1颜色表示法51

3.5.2数字化图像与图形52

3.5.3图形的矢量表示法53

3.6视频表示法53

小结55

道德问题:道德准则55

练习56

思考题58

第三部分硬件层

第4章门和电路60

4.1计算机和电学60

4.2门62

4.2.1非门62

4.2.2与门63

4.2.3或门63

4.2.4异或门64

4.2.5与非门和或非门64

4.2.6门处理回顾65

4.2.7具有更多输入的门65

4.3门的构造66

4.4电路67

4.4.1组合电路68

4.4.2加法器70

4.4.3多路复用器71

4.5存储器电路72

4.6集成电路73

4.7CPU芯片73

小结74

道德问题:这些违反道德规范吗?74

练习75

思考题77

第5章计算部件78

5.1独立的计算机部件78

5.2存储程序的概念82

5.2.1冯·诺伊曼体系结构82

5.2.2读取—执行周期87

5.2.3RAM和ROM88

5.2.4二级存储设备89

5.2.5触摸屏92

5.3嵌入式系统93

5.4并行体系结构94

5.4.1并行计算94

5.4.2并行硬件分类95

小结96

道德问题:数字鸿沟96

练习97

思考题98

第四部分程序设计层

第6章低级程序设计语言与伪代码102

6.1计算机操作102

6.2机器语言103

6.3一个程序实例108

6.3.1手工模拟109

6.3.2Pep/8模拟程序109

6.4汇编语言111

6.4.1Pep/8汇编语言112

6.4.2汇编器指令112

6.4.3Hello程序的汇编语言版本113

6.4.4一个新程序113

6.4.5具有分支的程序115

6.4.6具有循环的程序116

6.5表达算法118

6.5.1伪代码的功能118

6.5.2执行伪代码算法121

6.5.3写伪代码算法123

6.5.4翻译伪代码算法124

6.6测试125

小结126

道德问题:版权与软件盗版127

练习127

思考题129

第7章问题求解与算法设计130

7.1如何解决问题130

7.1.1提出问题130

7.1.2寻找熟悉的情况132

7.1.3分治法132

7.1.4算法133

7.1.5计算机问题求解过程133

7.1.6方法总结134

7.1.7测试算法135

7.2有简单参数的算法135

7.2.1带有选择的算法135

7.2.2带有循环的算法136

7.3复杂变量139

7.3.1数组139

7.3.2记录140

7.4搜索算法141

7.4.1顺序搜索141

7.4.2有序数组中的顺序搜索141

7.4.3二分检索142

7.5排序144

7.5.1选择排序144

7.5.2冒泡排序145

7.5.3插入排序147

7.6递归算法147

7.6.1子程序语句148

7.6.2递归阶乘149

7.6.3递归二分检索149

7.6.4快速排序150

7.7几个重要思想153

7.7.1信息隐蔽153

7.7.2抽象154

7.7.3事物命名155

7.7.4测试155

小结155

道德问题:开源软件156

练习157

思考题159

第8章抽象数据类型与子程序160

8.1抽象数据类型160

8.2栈161

8.3队列161

8.4列表162

8.5树164

8.5.1二叉树164

8.5.2二叉检索树165

8.5.3其他操作169

8.6图169

8.6.1创建图171

8.6.2图算法171

8.7子程序176

8.7.1参数传递177

8.7.2值参与引用参数178

小结180

道德问题:工作场所监视180

练习181

思考题183

第9章面向对象设计与高级程序设计语言184

9.1面向对象方法184

9.1.1面向对象185

9.1.2设计方法185

9.1.3一个计算机示例187

9.2翻译过程189

9.2.1编译器190

9.2.2解释器190

9.3程序设计语言的范型192

9.3.1命令式范型192

9.3.2声明式范型193

9.4高级程序设计语言的功能性194

9.4.1布尔表达式194

9.4.2数据归类196

9.4.3输入/输出结构199

9.4.4控制结构200

9.5面向对象语言的功能性204

9.5.1封装204

9.5.2类205

9.5.3继承206

9.5.4多态207

9.6过程设计与面向对象设计的区别207

小结208

道德问题:恶作剧与诈骗209

练习210

思考题212

第五部分操作系统层

第10章操作系统214

10.1操作系统的角色214

10.1.1内存、进程与CPU管理216

10.1.2批处理216

10.1.3分时217

10.1.4其他OS要素218

10.2内存管理218

10.2.1单块内存管理219

10.2.2分区内存管理220

10.2.3页式内存管理221

10.3进程管理223

10.3.1进程状态223

10.3.2进程控制块224

10.4CPU调度224

10.4.1先到先服务225

10.4.2最短作业优先226

10.4.3轮询法226

小结227

道德问题:医疗隐私——健康保险携带与责任法案228

练习229

思考题231

第11章文件系统和目录232

11.1文件系统232

11.1.1文本文件和二进制文件233

11.1.2文件类型233

11.1.3文件操作234

11.1.4文件访问235

11.1.5文件保护236

11.2目录237

11.2.1目录树237

11.2.2路径名239

11.3磁盘调度241

11.3.1先到先服务磁盘调度法242

11.3.2最短寻道时间优先磁盘调度法242

11.3.3SCAN磁盘调度法242

小结243

道德问题:选择加入和选择退出243

练习244

思考题246

第六部分应用程序层

第12章信息系统248

12.1信息管理248

12.2电子制表软件249

12.2.1电子数据表公式250

12.2.2循环引用254

12.2.3电子数据表分析254

12.3数据库管理系统255

12.3.1关系模型256

12.3.2关系257

12.3.3结构化查询语言258

12.3.4数据库设计260

12.4电子商务261

小结262

道德问题:从竞选来看政治与网络262

练习263

思考题265

第13章人工智能266

13.1思维机266

13.1.1图灵测试267

13.1.2AI问题的各个方面268

13.2知识表示268

13.2.1语义网268

13.2.2检索树271

13.3专家系统273

13.4神经网络275

13.4.1生物神经网络275

13.4.2人工神经网络276

13.5自然语言处理277

13.5.1语音合成277

13.5.2语音识别278

13.5.3自然语言理解279

13.6机器人学280

13.6.1感知—规划—执行范型280

13.6.2包孕体系结构282

13.6.3物理部件283

小结283

道德问题:从民众来看政治与网络284

练习284

思考题286

第14章模拟、图形学、游戏和其他应用287

14.1什么是模拟287

14.1.1复杂系统287

14.1.2模型288

14.1.3构造模型288

14.2特殊模型289

14.2.1排队系统289

14.2.2气象模型292

14.2.3计算生物学295

14.2.4其他模型295

14.2.5必要的计算能力296

14.3计算机图形学296

14.3.1光的工作原理297

14.3.2物体形状298

14.3.3光模拟298

14.3.4复杂对象的建模299

14.3.5让物体动起来303

14.4游戏304

14.4.1游戏的历史304

14.4.2创建虚拟世界305

14.4.3游戏设计与开发305

14.4.4游戏编程306

小结307

道德问题:游戏成瘾307

练习308

思考题309

第七部分通信层

第15章网络312

15.1连网312

15.1.1网络的类型313

15.1.2Internet连接315

15.1.3包交换317

15.2开放式系统与协议318

15.2.1开放式系统318

15.2.2网络协议319

15.2.3TCP/IP319

15.2.4高层协议320

15.2.5MIME类型321

15.2.6防火墙321

15.3网络地址322

15.4云计算324

小结325

道德问题:社交网络的影响326

练习327

思考题328

第16章万维网329

16.1Web简介329

16.1.1搜索引擎331

16.1.2即时消息331

16.1.3博客331

16.1.4cookie332

16.2HTML333

16.2.1基本的HTML格式335

16.2.2图像与链接335

16.2.3HTML5337

16.3交互式网页337

16.3.1Java小程序337

16.3.2Java服务器页338

16.4XML339

16.5社交网络341

小结342

道德问题:赌博与互联网344

练习344

思考题346

第17章计算机安全347

17.1各级安全347

17.2阻止未授权访问349

17.2.1密码349

17.2.2验证码351

17.2.3指纹分析352

17.3恶意代码352

17.3.1杀毒软件353

17.3.2安全攻击353

17.4密码学355

17.5保护你的在线信息357

17.5.1安全与可移动设备359

17.5.2维基解密359

小结360

道德问题:博客361

练习362

思考题363

第八部分总结

第18章计算的限制366

18.1硬件366

18.1.1算术运算的限制366

18.1.2部件的限制370

18.1.3通信的限制371

18.2软件372

18.2.1软件的复杂度372

18.2.2当前提高软件质量的方法373

18.2.3臭名昭著的软件错误376

18.3问题377

18.3.1算法比较377

18.3.2图灵机382

18.3.3停机问题384

18.3.4算法分类386

小结387

道德问题:Therac—25灾难剖析387

练习388

思考题389

参考文献390

索引396

......(更多)

读书文摘

关于算法能力的研究,开创了今天计算机科学这门学科。

......(更多)

猜你喜欢

点击查看