HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
In The Art and Science of Java, Stanford professor and well-known leader in CS Education Eric Roberts emphasizes the student-friendly exposition that led to the success of The Art and Science of C. By following the recommendations of the Association of Computing Machinery’s Java Task Force, this first edition text adopts a modern objects-first approach that introduces students to useful hierarchies from the very beginning. Packages are translated into a minimally complex collection of pedagogical resources that make it easier to teach Java while retaining the language’s industrial strength.
Chapter 1. Introduction
1.1 A Brief History of Computing
1.2 What Is Computer Science?
1.3 A Brief Tour of Computer Hardware
1.4 Algorithms
1.5 Stages in the Programming Process
1.6 Java and the Object-Oriented Paradigm
1.7 Java and the World Wide Web
Chapter 2. Programming by Example
2.1 The “Hello World” Program
2.2 Perspectives on the Programming Process
2.3 A Program to Add Two Numbers
2.4 Programming Idioms and Patterns
2.5 Classes and Objects
2.6 Graphical Programs
Chapter 3. Expressions
3.1 Primitive Data Types
3.2 Constants and Variables
3.3 Operators and Operands
3.4 Assignment Statements
3.5 Boolean Expressions
3.6 Designing for Change
Chapter 4. Statement Forms
4.1 Statement Types in Java
4.2 Control Statements and Problem Solving
4.3 The if Statement
4.4 The switch Statement
4.5 The while Statement
4.6 The for Statement
Chapter 5. Methods
5.1 A Quick Overview of Methods
5.2 Writing Your Own Methods
5.3 Mechanics of the Method-Calling Process
5.4 Decomposition
5.5 Algorithmic Methods
Chapter 6. Objects and Classes
6.1 Using the RandomGenerator Class
6.2 The javadoc Documentation System
6.3 Defining Your Own Classes
6.4 Representing Student Information
6.5 Rational Numbers
6.6 Extending Existing Classes
Chapter 7. Objects and Memory
7.1 The Structure of Memory
7.2 The Allocation of Memory to Variables
7.3 Primitive Types versus Objects
7.4 Linking Objects Together
Chapter 8. Strings and Characters
8.1 The Principle of Enumeration
8.2 Characters
8.3 Strings as an Abstract Idea
8.4 Using the Methods in the String Class
8.5 A Case Study in String Processing
Chapter 9. Object-Oriented Graphics
9.1 The acm.graphics Model
9.2 Structure of the acm.graphics Package
9.3 Using the Shape Classes
9.4 Creating Compound Objects
Chapter 10. Event-Driven Programs
10.1 The Java Event Model
10.2 A Simple Event-Driven Program
10.3 Responding to Mouse Events
10.4 Responding to Keyboard Events
10.5 Creating a Simple GUI
10.6 The Swing Interactor Hierarchy
10.7 Managing Component Layout
10.8 Using the TableLayout Class
Chapter 11. Arrays and ArrayLists
11.1 Introduction to Arrays
11.2 Internal Representation of Arrays
11.3 Passing Arrays as Parameters
11.4 Using Arrays for Tabulation
11.5 Initialization of Arrays
11.6 Multidimensional Arrays
11.7 Image Processing
11.8 The ArrayList Class
Chapter 12. Searching and Sorting
12.1 Searching
12.2 Sorting
12.3 Assessing Algorithmic Efficiency
12.4 Using Data Files
Chapter 13. Collection Classes
13.1 The ArrayList Class Revisited
13.2 The HashMap Class
13.3 The Java Collections Framework
13.4 Principles of Object-Oriented Design
Chapter 14. Looking Ahead
14.1 Recursion
14.2 Concurrency
14.3 Using the Network
14.4 Programming Patterns