读书人

Java程序设计一种跨学科的方法

发布时间: 2010-02-13 15:47:05 作者:

 Java程序设计一种跨学科的方法


基本信息出版社:清华大学出版社
页码:488 页
出版日期:2008年12月
ISBN:7302183287/9787302183280
条形码:9787302183280
版本:第1版
装帧:平装
开本:16
正文语种:中文
丛书名:世界著名计算机教材精选

内容简介 《Java程序设计一种跨学科的方法》由计算机著名专家Robert Sedgewick编写。《Java程序设计一种跨学科的方法》根据学习编程的四个阶段(基本元素、函数、面向对象程序设计、算法和数据结构)来组织。基本元素包括变量、赋值语句、数据的内置类型、控制流(条件和循环)、数组和输入输出、包括图和声音。函数包括库函数和递归函数,将程序划分成可以独立调试、维护和复用的程序段。然后介绍如何使用、创建和设计数据类型。最后介绍了经典的排序和搜索算法,同时也介绍了基本的数据结构(包括堆栈、队列和符号表)及它们的应用,强调了使用科学方法来理解实现的性能特性。《Java程序设计一种跨学科的方法》示例丰富,涉及了Java在各种学科之中的应用,具有很高的参考价值。高等院校计算机及相关专业的研究生和本科生,从事编程工作的人员。
《Java程序设计一种跨学科的方法》适用于高等院校计算机及相关专业的研究生和本科生,以及从事编程工作的专业人员。
作者简介 Robert Sedgewick,普林斯顿大学计算机科学系教授,在美国斯坦福大学获得博士学位,师从算法与程序设计大师Donald E.Knuth教授。他所著作的《算法》系列书在计算机界有着举足轻重的影响力。
编辑推荐 《Java程序设计一种跨学科的方法》特色:接学习编程的四个阶段来组织《Java程序设计一种跨学科的方法》。示例丰富,涉及了Java在各种学科之中的应用,具有很高的参考价值。内容齐备的配套网址,编码示例,附加练习等内容可以从http/www.aw.com/sedgewick Wayre下载。
目录
第1章 程序设计的元素
1.1 第一个程序
1.1.1 Java 程序设计
1.1.2 输入与输出
问题与回答(Q&A)
练习
1.2 内置数据类型
1.2.1 定义
1.2.2 字符和字符串
1.2.3 整数
1.2.4 浮点数
1.2.5 布尔型
1.2.6 比较
1.2.7 库方法和API
1.2.8 类型转换
小结
问题与回答(Q&A)
练习
创新练习
1.3 条件与循环
1.3.1 if 语句
1.3.2 while循环
1.3.3 for循环
1.3.4 嵌套
1.3.5 应用
1.3.6 其他条件和循环结构
1.3.7 死循环
小结
问题与回答(Q&A)53Java程序设计——一种跨学科的方法
练习
创新练习
1.4 数组
1.4.1 在Java中的数组
1.4.2 优惠券收购
1.4.3 Eratosthenes的素数筛选
1.4.4 二维数组
1.4.5 示例: 自回避随机行走
小结
问题与回答(Q&A)80
练习
创新练习
1.5 输入与输出
1.5.1 鸟瞰功能
1.5.2 标准输出
1.5.3 标准输入
1.5.4 重定向和管道
1.5.5 标准图画
1.5.6 标准音频
问题与回答(Q&A)
练习
创新练习
1.6 案例研究: 随机Web冲浪
1.6.1 输入格式
1.6.2 过渡矩阵
1.6.3 模拟
1.6.4 混合马尔可夫链
1.6.5 经验
练习
创新练习

第2章 函数与模块
2.1 静态方法
2.1.1 使用和定义静态方法
2.1.2 静态方法的属性
2.1.3 实现数学函数
2.1.4 使用静态方法组织代码
2.1.5 用数组实现静态方法
2.1.6 示例:声波的叠加
问题与回答(Q&A)
练习
创新练习
2.2 库和客户端
2.2.1 使用在其他程序中的静态方法
2.2.2 库
2.2.3 随机数
2.2.4 数组的输入和输出
2.2.5 迭代函数系
2.2.6 标准统计
2.2.7 模块化程序设计
问题与回答(Q&A)
练习
创新练习
2.3 递归
2.4 案例研究:渗滤

第3章 面向对象程序设计
3.1 数据类型
3.2 创建数据类型
3.3 设计数据类型
3.4 案例研究: N体模拟

第4章 算法与数据结构
4.1 性能
4.2 排序与搜索
4.3 堆栈与队列
4.4 符号表
4.5 案例研究:小世界
后记
……
序言 对于传统的CS1课程来说这本书是跨学科的方法。在本书中,作者重点讲述了从材料科学、基因组、天体物理学到网络系统等各学科中计算的角色。这种方法主要是向学生强调在当今世界中,数学、科学、工程和计算是紧密联系的这一重要思想。同时CS1课程的设计就是面向大学一年级的学生,他们都对数学、科学或者工程学和计算科学感兴趣,这本书把科学与应用放在首位,并说明语言是怎么样的工具。这就是教授程序设计入门课程的最有趣的开始点。
交叉学科的方法是Java程序设计极好的入门,这本书强调了在熟悉场景是的应用,例如物理和生物科学、工程学和商务计算。当阐明更广阔的计算时,这些真实世界的探索形成了计算机科学的概念和程序设计技能的基础。
另外这本书的主要特色:
熟悉的应用:来自于高中数学和科学的熟悉应用有助于学习基本的计算机科学概念,并且有助于他们意识到程序设计是科学研究的根本。
对象在其中的方法:对象在其中的方法教给学生基本的控制结构和函数,然后指导他们如何使用、创建和设计类。
完全的程序设计模型:完全的程序设计模型包括用于输入、画图、声音和图像处理的标准库,学生可以从他们课程最开始时就开始应用和使用这些库。
完整的参考网站:包括极具特色的扩展Java程序设计示例、额外的练习和相关网站资料的链接,在www.aw.com/SedgewickWayne都可以找到并利用。
本书根据学习编程的四个阶段来组织:基本元素、函数、面向对象程序设计、算法和数据结构。从浅入深,逐步推进,非常系统和实用。另外,在科学和工程学中的应用是正文的一个主要特点。书中介绍每个需要强调的程序设计概念都是通过分析它对具体应用的影响来进行的。示例丰富,并涉及到多个学科。值得一提的是本书的练习和创新练习,真正体现了跨学科的方法,涉及应用数学、物理和生物科学、计算机科学、物理系统、数字方法、数据可视化、声音合成、图像处理,金融模拟和信息技术等。
我们在本书翻译的过程中力求忠于原著,在翻译过程中为作者丰富的跨学科知识所震撼,这是一本任何学科都能使用的Java程序设计的好书。另外除了基础之外,它还涉及到许多新的研究领域:如数据挖掘、渗滤和小世界等等,能激发学生强烈的对科学的求知欲,并为以后的专业课的学习打下坚实的基础。
参加本书翻译的为葛秀慧、田浩、张桂香、王顶、刘秋红、刘朝晖、焦仁普、朱书敏、盖俊飞、田志浩、李超、郭立甫等。由于本书涉及到各个领域的专业知识,如数据挖掘方面,内容全面,覆盖范围广,加之译者水平有限,书中的错误和不妥之处在所难免,敬请广大读者批评指正。
特别要向辛勤工作的清华大学出版社龙铭编辑致以深深的谢意,同时也感谢为这本书付出辛勤劳动的许多工作人员。
文摘 第1章 程序设计的元素
在这一章,我们的目标是使你深信编写程序比写文章(例如写段落或文章)更容易。写散文是很难的:我们在学校花了多年时间来学习如何进行散文创作。相比之下,仅仅一些构建模块就足以使你能编写程序,这些程序可以帮助我们解决各种有趣的(但除去不可接近的)问题。在这一章中,我们带你通过这些构建模块来开始Java程序设计,同时还学习各种各样的有趣程序。在短短数周里,你将能够通过编写程序来表达自己。就像写散文的能力一样,编程能力是一个终身的技能,它可以使你不断完善并能更好地融入未来。
在本书中,你将学习Java程序设计语言,对你而言,举例来说,学习这门语言的任务会比较容易,至少比学习一门外语容易得多。事实上,程序设计语言的特点是不超过几十个的词汇和语法规则。在本书中我们涉及的大部资料都可以用C语言、C++语言或任何其他现代程序设计语言来编写。但我们都特别使用Java来描述一切,以便使你能够立即开始创建和运行程序。一方面,我们将集中精力学习程序,而不是学习Java的细节。另一方面,程序设计具有挑战性的部分是应该了解哪些细节与具体条件相关∥Java正在被广泛使用,使用Java语言学习编程将使你能在许多计算机(如你自己的计算机)上编写程序。同时,使用Java学习编程可以更容易地学习其他语言,包括低级语言(如c语言)和专门语言(例如MATLAB)。
1.1 第一个程序
在本小节中,我们通过必要的基本步骤来得到一个简单程序的运行,带你进入Java程序设计的世界。Java系统是一个应用程序的集成,但又不像你所习惯使用的许多其他应用程序(如文字处理软件、电子邮件程序和因特网浏览器)。正如任何应用程序一样,要使用Java,你必须肯定Java已经在你的计算机上安装妥当,许多计算机都预装了Java,或者你可以很轻松地下载Java。另外,你还需要一个文本编辑器和终端应用。
后记 在结束部分,通过简要描述在计算世界中你可能遇到的一些基本的元素,我们将在更广阔的上下文中来使你获取新的程序设计知识。我们非常希望这信息将使你更想使用自己的程序设计知识作为平台来学习在自己周围世界中的更多计算角色。
你现在已经知道如何编程。就像当你学会驾驶汽车,在去学驾驶SUV一样,不会很困难的,在不同的语言中学会编程对你而言也不会很难。许多科学家通常为各种各样的不同目的使用几种不同的语言。第1章和第2章的基本数据类型、条件、循环和函数抽象(在计算的数十年中,它们为程序员提供了很好的服务),第3章中的面向对象的程序设计技术方法(现代程序员使用)是在许多程序设计语言中都能找到的基本模型。在第4章中使用它们和基本数据类型的技能将使你能处理库、项目开发环境和所有各种各样的专业应用。在设计复杂系统中你会更好的意识到抽象的力量并理解它们是如何工作的。
计算机科学研究的不仅仅是学会编程。既然你已熟悉程序设计和精通计算,那么你已有充分的准备去学习上个世纪杰出的智力成就,我们这个时代的一些最重要但仍未解决的问题,以及在围绕我们的计算基础架构演变过程中它们所扮演的角色。或许这更加有意义,就像我们在整本书中所暗示的,在理解自然中,计算正在扮演着日益重要的角色,从基因组到分子动力学,到天体物理学。对计算科学基本规则的进一步研究肯定使你受益匪浅。
读书人网 >程序设计

热点推荐