华信教育资源网
Java程序设计教程(第九版)
丛   书   名: 国外计算机科学教材系列
作   译   者:洛基山,张君施 等 出 版 日 期:2018-07-01
出   版   社:电子工业出版社 维   护   人:冯小贝 
书   代   号:G0340930 I S B N:9787121340932

图书简介:

本书对面向对象的思想和机制进行了准确而透彻的剖析,为读者深入学习Java语言程序设计提供了全面、详细的指导。全书覆盖了面向对象设计的广泛内容,介绍了Java语言的基本数据类型、流程控制、类和对象等。在深入分析面向对象设计方法的基础上,介绍了封装机制、继承机制和多态性的实现与应用、异常的捕捉和处理、集合类的定义方法和泛型类的概念。
您的专属联系人更多
关注 评论(5) 分享
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源
    图书特别说明:由于成本考虑,本书不作为参考书赠送。如果确有授课教材选用的需求,可将详细情况发送给本书专属联系人,我们将进一步沟通并酌情处理。

    本书资源

    会员上传本书资源

    推荐资源

  • 图 书 内 容

    内容简介

    本书对面向对象的思想和机制进行了准确而透彻的剖析,为读者深入学习Java语言程序设计提供了全面、详细的指导。全书覆盖了面向对象设计的广泛内容,介绍了Java语言的基本数据类型、流程控制、类和对象等。在深入分析面向对象设计方法的基础上,介绍了封装机制、继承机制和多态性的实现与应用、异常的捕捉和处理、集合类的定义方法和泛型类的概念。

    图书详情

    ISBN:9787121340932
    开 本:16开
    页 数:484
    字 数:874.0

    本书目录

    目    录
     
    第1章  计算机系统概述	1
    1.1  计算机处理过程	1
    1.1.1  软件分类	2
    1.1.2  数字计算机	4
    1.1.3  二进制数	5
    1.2  硬件组件	7
    1.2.1  计算机结构	7
    1.2.2  输入/输出设备	8
    1.2.3  主存储器和辅助存储器	9
    1.2.4  中央处理器	11
    1.3  网络	13
    1.3.1  网络连接	13
    1.3.2  局域网和广域网	14
    1.3.3  因特网	15
    1.3.4  万维网	15
    1.3.5  统一资源定位器	16
    1.4  Java编程语言	17
    1.4.1  Java程序	18
    1.4.2  注释	19
    1.4.3  标识符和保留字	20
    1.4.4  空白符	22
    1.5  程序开发	24
    1.5.1  编程语言的级别	24
    1.5.2  编辑器、编译器和解释器	25
    1.5.3  开发环境	26
    1.5.4  语法和语义	27
    1.5.5  错误	27
    1.6  面向对象编程	28
    1.6.1  问题求解	29
    1.6.2  面向对象的软件原理	30
    重要概念小结	32
    练习题	33
    编程项目	34
    第2章  数据与表达式	36
    2.1  字符串	36
    2.1.1  print和println方法	36
    2.1.2  字符串的连接	37
    2.1.3  转义序列	39
    2.2  变量与赋值	41
    2.2.1  变量	41
    2.2.2  赋值语句	42
    2.2.3  常量	43
    2.3  基本数据类型	44
    2.3.1  整型与浮点型	44
    2.3.2  字符型	46
    2.3.3  布尔型	47
    2.4  表达式	47
    2.4.1  算术运算符	47
    2.4.2  运算符优先级	48
    2.4.3  自增和自减运算符	50
    2.4.4  赋值运算符	51
    2.5  数据类型转换	52
    2.5.1  数据类型转换技术	53
    2.6  交互式程序	55
    2.6.1  Scanner类	55
    重要概念小结	58
    练习题	58
    编程项目	60
    第3章  类与对象	62
    3.1  创建对象	62
    3.1.1  别名	64
    3.2  String类	65
    3.3  包	67
    3.3.1  import声明	69
    3.4  Random类	70
    3.5  Math类	72
    3.6  格式化输出	74
    3.6.1  NumberFormat类	74
    3.6.2  DecimalFormat类	76
    3.6.3  printf方法	77
    3.7  枚举类型	78
    3.8  包装器类	80
    3.8.1  自动装箱	81
    3.9  JavaFX简介	81
    3.10 基本形状	84
    3.11 颜色呈现	88
    重要概念小结	89
    练习题	90
    编程项目	91
    第4章  编写类	93
    4.1  类与对象的核心概念	93
    4.2  类的分析	94
    4.2.1  实例数据	98
    4.2.2  UML类图	98
    4.3  封装	99
    4.3.1  可见性修饰符	100
    4.3.2  访问器和修改器	100
    4.4  方法的分析	101
    4.4.1  return语句	102
    4.4.2  参数	103
    4.4.3  局部数据	103
    4.4.4  银行账户示例	104
    4.5  构造方法回顾	107
    4.6  弧	107
    4.7  图形	110
    4.7.1  视口	111
    4.8  图形用户界面	112
    4.8.1  指定事件处理器的其他
          方法	114
    4.9  单行文本框	114
    重要概念小结	117
    练习题	117
    编程项目	118
    第5章  条件判断与循环	121
    5.1  布尔表达式	121
    5.1.1  相等性运算符与关系运算符	122
    5.1.2  逻辑运算符	122
    5.2  if语句	124
    5.2.1  if-else语句	126
    5.2.2  使用语句块	129
    5.2.3  嵌套if语句	131
    5.3  数据比较	133
    5.3.1  浮点数比较	133
    5.3.2  字符比较	133
    5.3.3  比较对象	134
    5.4  while语句	135
    5.4.1  无限循环	139
    5.4.2  嵌套循环	139
    5.4.3  break语句与continue语句	142
    5.5  迭代器	143
    5.5.1  读取文本文件	143
    5.6  ArrayList类	145
    5.7  确定事件源	148
    5.8  管理字体	150
    5.9  复选框	151
    5.10 单选钮	154
    重要概念小结	157
    练习题	157
    编程项目	159
    第6章  其他条件判断与循环	163
    6.1  switch语句	163
    6.2  条件运算符	166
    6.3  do语句	167
    6.4  for语句	169
    6.4.1  for-each循环	172
    6.4.2  各种循环的比较	172
    6.5  对图形使用循环和条件	173
    6.6  图形转换	176
    6.6.1  平移	176
    6.6.2  缩放	177
    6.6.3  旋转	177
    6.6.4  错切	178
    6.6.5  按组进行转换	178
    重要概念小结	181
    练习题	181
    编程项目	182
    第7章  面向对象设计	185
    7.1  软件开发活动	185
    7.2  明确类和对象	186
    7.2.1  类职责的分派	187
    7.3  静态类成员	188
    7.3.1  静态变量	188
    7.3.2  静态方法	188
    7.4  类间关系	190
    7.4.1  依赖关系	190
    7.4.2  同一个类的对象之间的
          依赖性	191
    7.4.3  聚合	195
    7.4.4  this引用	198
    7.5  接口	199
    7.5.1  Comparable接口	203
    7.5.2  Iterator接口	203
    7.6  枚举类型	204
    7.7  方法设计	205
    7.7.1  方法分解	206
    7.7.2  方法参数的传递方式	209
    7.8  方法重载	213
    7.9  测试	214
    7.9.1  评审	215
    7.9.2  缺陷测试	215
    7.10  GUI设计	217
    7.11 鼠标事件	217
    7.12 按键事件	221
    重要概念小结	223
    练习题	223
    编程项目	224
    第8章  数组	227
    8.1  数组元素	227
    8.2  声明和使用数组	228
    8.2.1  边界检查	230
    8.2.2  数组声明方式	233
    8.2.3  数组初始值表	233
    8.2.4  数组作为参数	234
    8.3  对象数组	235
    8.4  命令行实参	242
    8.5  可变长度参数表	243
    8.6  二维数组	245
    8.6.1  多维数组	248
    8.7  多边形和折线	249
    8.8  Color对象数组	250
    8.9  选项框	253
    重要概念小结	255
    练习题	256
    编程项目	257
    第9章  继承	260
    9.1  创建子类	260
    9.1.1  protected修饰符	264
    9.1.2  super引用	264
    9.1.3  多继承	267
    9.2  重写方法	267
    9.2.1  影子变量	269
    9.3  类层次结构	269
    9.3.1  Object类	270
    9.3.2  抽象类	271
    9.3.3  接口层次	272
    9.4  可见性	273
    9.5  继承关系的设计	275
    9.5.1  继承的限制	276
    9.6  JavaFX中的继承	276
    9.7  颜色和日期选择器	278
    9.8  对话框	280
    9.8.1  文件选择器	282
    重要概念小结	284
    练习题	285
    编程项目	285
    第10章  多态性	288
    10.1  后绑定	288
    10.2  利用继承实现多态性	289
    10.3  利用接口实现多态性	297
    10.4  排序	299
    10.4.1  选择法排序	299
    10.4.2  插入法排序	303
    10.4.3  排序算法的比较	304
    10.5  搜索	305
    10.5.1  线性搜索	305
    10.5.2  二分法搜索	308
    10.5.3  搜索算法的比较	309
    10.6  多态性设计	309
    10.7  属性	310
    10.7.1  变化监听器	312
    10.8  滑动条	314
    10.9  微调器	315
    重要概念小结	317
    练习题	318
    编程项目	318
    第11章  异常处理	319
    11.1  异常	319
    11.2  未捕获的异常	320
    11.3  try-catch语句	321
    11.3.1  finally子句	323
    11.4  异常的传递	324
    11.5  异常类层次结构	326
    11.5.1  检查型与非检查型异常	328
    11.6  I/O异常	329
    11.7  工具提示与禁用控件	332
    11.8  滚动面板	334
    11.9  分隔面板和列表视图	336
    重要概念小结	339
    练习题	339
    编程项目	340
    第12章  递归	341
    12.1  递归思想	341
    12.1.1  无穷递归	342
    12.1.2  数学中的递归运算	342
    12.2  递归编程	343
    12.2.1  递归与迭代的比较	344
    12.2.2  直接递归与间接递归	345
    12.3  递归的应用	346
    12.3.1  迷宫旅行	346
    12.3.2  汉诺塔	349
    12.4  平铺图形	353
    12.5  分形	355
    重要概念小结	360
    练习题	360
    编程项目	361
    第13章  集合	363
    13.1  集合与数据结构	363
    13.1.1  分离接口与实现	363
    13.2  数据结构的动态表示	364
    13.2.1  动态结构	364
    13.2.2  动态链表	365
    13.2.3  其他的动态列表	368
    13.3  线性集合	369
    13.3.1  队列	369
    13.3.2  栈	370
    13.4  非线性数据结构	372
    13.4.1  树	372
    13.4.2  图	373
    13.5  Java集合类API	374
    13.5.1  泛型	374
    重要概念小结	375
    练习题	375
    编程项目	376
    附录A  术语表	378
    附录B  数制系统	395
    附录C  Unicode字符集	399
    附录D  Java运算符	401
    附录E  Java修饰符	405
    附录F  Java编码指南	407
    附录G  JavaFX布局面板	411
    附录H  JavaFX Scene Builder	418
    附录I   正则表达式	425
    附录J   javadoc文档生成器	426
    附录K  Java语法	429
    附录L  自测题答案	438
    展开

    前     言

    译  者  序
    诞生于20世纪90年代中期的Java编程语言,开创了一个全新的编程思维模式,并迅速风靡于整个IT业界。从Java开始,涌现出了许多各具特色的面向对象编程工具。Java语言不仅可用于开发大型软件,而且也特别适合于开发Web应用,目前已成为网络时代最重要的程序设计语言之一,并且其开发工具和功能也正随着网络技术的不断发展而同步进行更新。Java语言已经成为事实上适合初学者学习面向对象程序设计的首选语言。
    本书是一本学习Java编程的入门性教材,也是读者初步了解面向对象思想及其实现方法的一本理想读物。全书深入、透彻地分析了Java语言的面向对象机制,指导读者如何在学会设计类和对象前先学会使用类和对象,以大量程序实例体现了面向对象的核心概念(如类、对象、重载、接口及多态性等)和封装、继承等机制,并基于解决问题的思路灵活运用各种Java程序设计技术,详细示范了一些典型算法的实现方法。
    本书注重完整的程序设计实践,每一章都附有大量具有可实践性的程序实例、自测题、练习题、编程项目,以及富有趣味性的图形用户界面设计实例,以着重培养读者的软件设计能力和解决问题的能力。有些章末尾的“软件失误案例”虽然短小,但它们是来自于现实世界的惨痛教训,其目的在于培养读者(未来的程序员)“质量高于一切”的思想,强调良好的软件设计思想和严谨合理的设计规范的重要性。
    各章末尾的“图形设计之路”部分,已经全部重新编写,为图形设计的教学提供了较大的灵活性,它们可作为相对独立的一部分根据需要在教学上进行取舍。
    本书最大的更新,在于讲解如何用最新的开发工具JavaFX设计图形用户界面,它全面替换了以前使用的抽象窗口工具集(AWT)和Swing,使设计GUI变得更容易,功能更强大。并且还对项目题进行了调整,从而更加适应教学的要求。此外,对占本书相当篇幅的附录进行了全面更新,以反映Java语言本身的调整并与正文各章相呼应。本书还为学生和主讲教师提供了丰富的配套资源。
    全书共分13章及12个附录,包括计算机系统概述、数据与表达式、类与对象、编写类、条件判断与循环(两章)、面向对象设计、数组、继承、多态性、异常处理、递归和集合,附录则主要提供术语表及练习题答案等。全书由洛基山主持翻译工作。前言、第2~4章由首都经济贸易大学刘丽丽翻译;第7~9章由西北农林科技大学闫锋欣翻译;第10~12章由北京工商大学张君施翻译;张莉翻译了第13章及附录A和附录B;附录C~F由徐景辉翻译;陈艳羽翻译了附录G~K;常征翻译了第1章、附录L以及各章的自测题、练习题、编程项目和自测题答案;陕西师范大学孟永宏翻译第5~6章和部分附录;蔡志强翻译“软件失误案例”和部分自测题;全书最后由洛基山负责修订和统稿。
    由于译者水平有限,并且各种专业术语在业界尚无严格统一的译法,如果译稿中有不妥或错误之处,恳请广大读者批评指正。
    
    
     
    前    言
    欢迎使用本书第九版。多年来,本书能够满足广大师生的需求并为教学服务,这使我们深感欣慰。这一版本做了进一步的内容组织和调整,完善了关键技术问题的重点分解和概念解释。
    本版的改进
    这一版最大的变化,是彻底重写了书中的“图形设计之路”部分,以充分利用JavaFX API。Oracle已经不再支持Swing。现在,JavaFX 已经成为开发图形和图形用户界面(GUI)的首选方法,因此本书也将采用它。
    书中的更新如下:
    ? 涵盖JavaFX图形形状。
    ? 讲解JavaFX控件,包括按钮、文本框、复选框、单选钮、选项框、颜色选择器、日期选择器、滚动条以及微调器等。
    ? 使用Java 8的方法引用和lambda表达式来定义事件处理器。
    ? 探究JavaFX的类层次。
    ? 解释JavaFX中的属性及属性绑定。
    ? 优化了各章末尾的练习题以及编程项目题。
    ? 新增加的附录G,讲解了JavaFX的布局面板。
    ? 新增加的附录H,介绍了JavaFX Scene Builder软件。
    关于JavaFX有两个令人激动的部分。首先,它提供了比Swing更清晰的GUI开发方法。用JavaFX开发的程序,会比用Swing开发的更短、更易理解。
    其次,与Swing相比,JavaFX更遵循面向对象的核心原则。例如,所有的图形,都是用包含基本数据元素的类体现的,比如包含半径值的Circle类。第3章讲解的有关各种形状的类,都是经过精心设计的基本类,只需学生具备对类和对象的基本理解即可。
    通过Java 8方法引用,为定义事件处理器提供了一种容易理解的途径。或者,学生也可以使用(底层的)lambda表达式,定义事件处理器。
    关于JavaFX的布局面板,在书中的一些示例中解释;有关它的完整描述,在附录G中给出。我们认为,与Swing布局管理器相比,JavaFX布局面板更好,书中的一章里会专门解释。
    书中提供的所有GUI,都是用Java代码“手工”编码出来的。对于初学者而言,这样做很重要。附录H讲解的是JavaFX Scene Builder软件,它能进行鼠标拖放操作。但是,本书正文中并没有使用它。
    除了与JavaFX相关的改变,本书还更新了一些示例和讨论的内容,以满足当今的教学需要。
    除了为学生提供本书,我们也很乐意听到读者对本书的评价和疑问。
    
    本书的基石
    本书是基于下面的基本思想编写的,相信这有助于使其成为一本优秀的教材。
    ? 真正的面向对象。一本真正介绍完全面向对象方法的教材,必须使用对象语言,即所有问题都应该用面向对象的术语来讨论。但这并不意味着必须对第一个程序就讨论多个类和方法的编写方式,学生应当在学会编写对象之前先了解如何使用对象。本书采用一种自然的学习进程,使学生逐步达到具有设计实际的面向对象解决方案的能力。
    ? 良好的程序设计实践。本书的主要目的不是教学生如何编程,而是讲解如何写出好的软件。二者是有差别的。编写软件并不是按照说明完成一套动作,一个好程序也远非仅仅是一些语句的集合。本书汇集了一些可作为良好程序设计技巧基础的实践经验,它们不仅应用于本书所有的实例,而且还在讨论中进一步强化。学生将学会如何解决问题以及如何实现设计方案。全书贯穿了软件工程基本技术的介绍,“软件失误案例”通过生动的实例,展示不遵守这些程序设计实践原则所带来的后果,进一步复习了软件工程基本技术课程。
    ? 示例程序。学生将通过程序实例来学习。本书通过大量已完整实现的实例来讲解特定的概念。书中穿插列举了易理解的小例子和实用的大例子,二者相辅相成,并对图形和非图形实例的采用进行了合理的选择。
    ? 图形与图形用户界面(GUI)。图形能够激发学生极大的学习兴趣,而且图形设计可以充当面向对象应用的绝佳实例。因此,本书每一章都安排了精心设计的几部分,称为“图形设计之路”。本书完整讲解了JavaFX API,它提供对Java图形和GUI的全面支持,是首选的开发工具。随着图形设计主题讨论的开展,学生将很自然地学会以适当的方式创建GUI。对于不需要涉及图形设计的学生,则可以忽略“图形设计之路”的内容。
    各章概述
    第1章(计算机系统概述)一般性地介绍计算机系统,包括计算机基本结构和硬件、网络、程序设计及语言翻译。本章对Java也进行了介绍,并讨论了通用程序开发的基础和面向对象编程。这一章广泛涵盖了学生所要熟悉的开发环境介绍。
    第2章(数据与表达式)探讨Java程序中使用的一些基本数据类型和计算表达式的用法,还讨论了数据类型间的转换,以及如何借助标准的Scanner类与用户进行交互式输入。
    第3章(类与对象)讲解预定义类的使用及其对象的创建方法,这些类和对象用于处理字符串、产生随机数、执行复杂计算和格式化输出。此外还讨论了枚举数据类型。
    第4章(编写类)分析了与类和方法的编写有关的问题,包括实例数据、可见性、引用范围、方法参数和返回类型。此外还讨论了封装和构造方法。与编写类相关的其他问题在第6章讨论。
    第5章(条件判断与循环)讨论用于判断的布尔表达式的用法,然后详细地讲解了if语句和while循环语句。一旦建立了循环,就可引入迭代的概念,并进一步讨论用Scanner类不断接收、解析输入数据以及读取文本文件的方法。最后,介绍可用于管理大量对象的ArrayList类。
    第6章(其他条件判断与循环)讨论第5章未涉及的其他Java条件语句(switch)和循环语句(do,for),包括for循环语句的增强版本。for-each循环语句也可用于处理迭代和ArrayList对象。
    第7章(面向对象设计)进一步深入和扩展了关于类的设计问题的讨论,包括解决问题时需要确定类和对象的识别技术,以及类与对象间的关系。本章还探讨了静态类成员、接口以及枚举型类的设计。这一章对方法设计和方法重载也进行了讨论。
    第8章(数组)详细讲解了数组以及数组的处理。将作为最基本的程序设计数据结构的数组与高层次的对象管理方法进行了对比分析。此外,还讨论了命令行参数、可变长度参数表以及多维数组。
    第9章(继承)讲解类的派生及其相关概念,例如类层次、重写和可见性。本章还强调了应合理使用继承性,以及在软件设计中使用继承的原则。
    第10章(多态性)探讨了绑定的概念以及绑定与多态性的关系。接着,讲解了如何使用继承或接口实现多态性,并利用排序示范了多态性。最后,讨论了有关多态性的程序设计问题。
    第11章(异常处理)关注Java标准库中用于定义异常的类层次结构,以及定义用户异常对象的方法。同时还讨论了处理输入/输出异常时的方法,并分析了一个编写文本文件的程序示例。
    第12章(递归)讲解递归的概念、递归的实现以及合理使用递归的方法,并利用几个不同应用领域的程序实例,演示了递归技术如何使得某些特定问题解决得更完美。
    第13章(集合)涉及集合的概念及其基本数据结构,并进一步深入探讨了抽象概念和经典的数据结构。此外,还介绍了泛型。本章可作为CS2(计算机科学课程第二阶段)的入门性内容。
    补充资料 
    学生的在线资源
    可从本书的配套网站www.pearsonhighered.com/cs-resources获取如下的学生在线资源:
    ? 书中所有程序的源代码
    ?  Java开发环境的链接
    在线练习和评估 
    MyProgrammingLab(编程实验室)可帮助学生全面掌握程序设计的逻辑性、语义和句法。在MyProgrammingLab中,学生可以进行实际的练习并即时获得问题反馈信息,从而可提高那些常常对一些常用的基本概念和高级程序设计语言范例困惑的初学者的编程能力。
    MyProgrammingLab是一个辅助学生自主学习和完成课外作业的工具,其中包括配合本书教学内容和组织结构的数百个小型练习题。对于学生,该工具可对学生提交的代码自动检查逻辑和语法错误,并提供明确的错误提示信息,使学生能够分析出错在何处、为什么出错。对于教师,该工具提供了一个综合性的记分册,可跟踪记录学生的正确答案和错误答案,并可保存学生提交的代码供教师审阅。
    MyProgrammingLab提供给本书用户使用,实现该工具的合作方是TC(Turing’s Craft),即CodeLab交互式程序设计训练系统的开发者。通过查看来自教师和学生的反馈信息,或在学习本书内容时使用该工具(访问网站www.myprogramminglab.com),可以全面了解MyProgrammingLab的功能和用法。
    教师资源 
    下面的补充材料仅供教师使用。访问Pearson教师资源中心(www.pearsonhighered.com/irc),可以得到如何获取下述资源的信息:
    ? 幻灯片文件——使用PowerPoint制作的幻灯片
    ? 各章末尾练习题答案
    ? 各章末尾编程项目答案
    本书特点
    重要概念  全书用“重要概念”文本框显示基础概念和重点内容,并在各章末尾对这些概念进行了总结。
    程序示例  所有的程序示例都进行了编号,并在程序后面给出了程序的输出结果、运行实例或者屏幕截图。程序中的代码用不同的灰度进行区分,以突出注释和保留字。
    语法流程图  书中以特殊的流程图方式讨论了Java语言的语法元素,语法流程图清晰地描述了一条语句或语句构造的有效格式。Java语言的全部语法流程图,在附录K中给出。
    图形设计之路  所有关于图形与GUI处理的讨论,都安排在每章的最后几节中,这部分内容称为“图形设计之路”。如果忽略这部分内容,也不会影响本书的完整性。当然,也可以根据需要专门关注“图形设计之路”的内容。每个“图形设计之路”小节的内容,都与其所在章的讨论主题相关。
    重要概念小结  每章末尾都给出了该章重要概念的小结。
    自测题和答案  每章给出的自测题是对该章建立的基本概念和术语的复习,并且可以使学生评估自己对该章学习内容的掌握程度。自测题的答案在附录L中给出。
    练习题  这些阶段性的练习题涉及计算、分析或编写代码段,它们要求对本章内容有全面的理解。尽管练习题可能涉及代码编写,但通常并不需要上机实践。
    编程项目  编程项目要求设计和实现Java程序,它们的难度各不相同。
    MyProgrammingLab  学生可以进行实际的练习并即时获得个性化的问题反馈信息。对于那些对基本概念和高级程序设计语言范例感到困惑的初学者而言,MyProgrammingLab可提高他们的编程能力。
    软件失误案例  一些穿插在各章之间的短文,讨论了现实世界中软件设计的种种缺陷,激励学生从编程学习的开始就注意采用良好的软件设计原则。
    致谢
    非常感激世界各地的教师和学生们对本书以前各个版本提出的宝贵意见与建议。我们很高兴地看到教师对学生的深切关心和学生对知识的渴求,并欢迎你们继续对本书给出评价和质疑。
    特别感谢Brigham Young大学的Robert Burton为本书提供的热心帮助、深刻见解及密切关注。多年来,Robert一直不断地提出有助于完善和改进本书的有价值的反馈意见。
    在将本书内容更新至JavaFX的过程中,瑞士西北部Applied Sciences大学的Bradley Richards提供了有用的建议和资源。Simon Fraser大学的Brian Fraser也提出了一些非常好的反馈意见,有助于澄清一些问题。我们深切感受到,与计算机教育者之间的这种交流,的确非常有益。
    感谢Villanova大学的Dan Joyce,是他完成了最初的自测题的编写工作,并确保有足够的自测题覆盖本书中每一个相关的主题。
    我们不断地惊叹于Pearson出版社为本书付出的才智和努力。本书编辑Matt Goldstein具有惊人的洞察力和责任心;他的助手Kristy Alaura一直给我们提供帮助和支持;市场部经理Demetrius Hall使我们确信,教师们能够理解和认同本书在教学方法方面的优势;天才Joyce Wells为本书设计了封面;Scott Disanno和Carole Snyder负责本书的生产;Lakeside Editorial Services公司的Louise Capulli是本书的项目经理,她每天都在为我们提供帮助。我们感谢所有确保这本书达到高质量出版标准的人们。
    特别要感谢下面这些人,他们通过兴趣小组、访谈、评论等不同方式为本书提供了有价值的建议。他们以及其他许多的教师和朋友,都为本书提供过很好的反馈。这些人的名单如下:
    Elizabeth Adams			James Madison University
    Hossein Assadipour			Rutgers University
    David Atkins				University of Oregon
    Lewis Barnett				University of Richmond
    Thomas W. Bennet			Mississippi College
    Gian Mario Besana			DePaul University
    Hans-Peter Bischof			Rochester Institute of Technology
    Don Braffitt				Radford University
    Robert Burton				Brigham Young University
    John Chandler				Oklahoma State University
    Robert Cohen				University of Massachusetts,Boston
    Dodi Coreson				Linn Benton Community College
    James H. Cross II			Auburn University
    Eman El-Sheikh			University of West Florida
    Sherif Elfayoumy			University of North Florida
    Christopher Eliot			University of Massachusetts,Amherst
    Wanda M. Eanes			Macon State College
    Stephanie Elzer				Millersville University
    Matt Evett					Eastern Michigan University
    Marj Feroe				Delaware County Community College,Pennsylvania
    John Gauch				University of Kansas
    Chris Haynes				Indiana University
    James Heliotis				Rochester Institute of Technology
    Laurie Hendren				McGill University
    Mike Higgs				Austin College
    Stephen Hughes			Roanoke College
    Daniel Joyce				Villanova University
    Saroja Kanchi				Kettering University
    Gregory Kapfhammer		Allegheny College
    Karen Kluge				Dartmouth College
    Jason Levy				University of Hawaii
    Peter MacKenzie			McGill University
    Jerry Marsh				Oakland University
    Blayne Mayfield			Oklahoma State University
    Gheorghe Muresan			Rutgers University
    Laurie Murphy Pacific		Lutheran University
    Dave Musicant				Carleton College
    Faye Navabi-Tadayon		Arizona State University
    Lawrence Osborne			Lamar University
    Barry Pollack				City College of San Francisco
    B. Ravikumar				University of Rhode Island
    David Riley				University of Wisconsin (La Crosse)
    Bob Roos					Allegheny College
    Carolyn Rosiene			University of Hartford
    Jerry Ross Lane			Community College
    Patricia Roth				Southeastern Polytechnic State University
    Carolyn Schauble			Colorado State University
    Arjit Sengupta				Georgia State University
    Bennet Setzer				Kennesaw State University
    Vijay Srinivasan			JavaSoft,Sun Microsystems,Inc.
    Stuart Steiner				Eastern Washington University
    Katherine St. John			Lehman College,CUNY
    Alexander Stoytchev			Iowa State University
    Ed Timmerman				University of Maryland,University College
    Shengru Tu				University of New Orleans
    Paul Tymann				Rochester Institute of Technology
    John J. Wegis				JavaSoft,Sun Microsystems,Inc.
    Ken Williams				North Carolina Agricultural and Technical University
    Linda Wilson				Dartmouth College
    David Wittenberg			Brandeis University
    Wang-Chan Wong			California State University (Dominguez Hills)
    还要感谢我的朋友和以前在Villanova大学工作的同事,他们提供了很多建设性意见,这些同事包括Bob Beck、Cathy Helwig、Anany Levitin、Najib Nadi、Beth Taddei以及Barbara Zimmerman。还要感谢Pete DePasquale,他以前在New Jersey学院工作,现供职于SailThru公司。
    还有许多人以各种方式提供了帮助,包括Ken Arnold、Mike Czepiel、John Loftus、Sebastian Niezgoda和Saverio Perugini。在此还向所有遗漏了名字的朋友们致以深深的歉意。
    美国计算机学会(ACM)的计算机科学教育特别兴趣组(SIGCSE)是一个巨大的教育信息交流机构,他们的会议给来自不同层次与不同类型的学校的教师提供了交流教育新观点、新思路和资源的机会。对于从事某一计算机领域的教育工作者来说,如果还未加入SIGCSE,就会错过参与这种教育信息交流的机会。
    展开

    作者简介

    本书暂无作者简介
  • 样 章 试 读
  • 图 书 评 价 我要评论
华信教育资源网