|

Addison-Wesley / Prentice Hall

Computer Science

My Instructor Resource Center :  Log in or request access

Object of Java, The: Introduction to Programming Using Software Engineering Principles, 2/E
David D. RileyUniversity of Wisconsin, LaCrosse

ISBN-10: 0321331583
ISBN-13:  9780321331588

Publisher:  Addison-Wesley
Copyright:  2006
Format:  Paper Bound w/CD-ROM; 880 pp
Published:  09/14/2005
Status: Out of Print


We're sorry, this product is no longer available.
Please contact your Pearson rep if you are using this product and need instructor resources.

The Object of Java takes an "objects-centric" approach to problem solving and programming using Java. This new edition takes full advantage of the new features of Java 5.0, and has replaced the use of the aLibrary package with increased emphasis on awt and swing. 

 

This book takes an objects first approach, and also focuses on the skills and discipline of software engineering that are needed for good programming.  Since specifications are critical for conveying code behavior in the object-oriented model, discussions of method preconditions and postconditions, and class invariants are used consistently to document examples and to define example classes.  It also uses the notion of patterns to identify numerous expressions, instructions, algorithms and designs that serve to pattern program segments.

 

.

  • Emphasizes the Software Engineering skills necessary to be a good programmer.

 

  • Uses standard awt and swing classes.

 

  • Takes advantage of the new features of Java 5.0 including integration of standard container classes, enumerated types, autoboxing, and generic types.

 

  • Inheritance introduced early and covered in later chapters. 

 

  • Software Engineering Hint boxes offer a collection of software developer "best practices" such as how to format a language construct for good programming style, or the way that good programmers approach a common design problem.

 

  • Makes extensive use of the Unified Modeling Language (UML) for diagramming notation.  Using UML diagrams expose students to the same notations that have now become standard in the software development industry.

  • Uses standard awt and swing classes.

 

  • Takes full advantage of the new features of Java 5.0 including complete coverage of built-in container classes in Java 5.0, enumerated types, automatic boxing and unboxing, enhanced for loop, generic types, and variable length parameter list.

 

  • Inheritance introduced early and covered in later chapters. 

Contents

Preface

Preface for the Student

Chapter 1 - Objects and Classes

1.1 Objects Everywhere

1.2 Objects in Software

1.3 Anatomy of a Software Class

1.4 The Difference between Objects and Classes

1.5 Edit, Compile, and Run

1.6 Introduction to Software Engineering

1.7 A Sample of Object-Oriented Software Development

 

Chapter 2 - Introduction to Java Objects

2.1 Syntax Diagrams

2.2 The Method Call

2.3 Instruction Sequences

2.4 Constructing and Assigning Objects

2.5 Coding Patterns and Swapping

2.6 Putting It Together in a Java Class

2.7 Programming by Contract

2.8 Comments

2.9 Observing Execution

2.10 Refining Algorithms–Divide and Conquer

2.11 Selecting Identifiers

2.12 A Second Example of Refinement

2.13 Calling Methods with Parameters

 

Chapter 3 - Introduction to Design and Implementation

3.1 Introduction to Standard Classes

3.2 Import Declarations

3.3 javax.swing.JFrame

3.4 java.awt.Label

3.5 Nonstandard Classes (Rectangle, Oval, and Line)

3.6 Prototyping

3.7 Debugging: Commenting Out Code and Using System.out.println

 

Chapter 4 - Methods

4.1 The Need for a Subprogram

4.2 Private Parameterless Methods

4.3 Using Parameters

4.4 Local Variables

4.5 Non-Void Methods

4.6 Standard Non-Void Methods

4.7 Introduction to Event Handling

4.8 Postcondition Notation

4.9 java.awt.Container–A Design Example

 

Chapter 5 - Primitive Data

5.1 Primitive Types

5.2 Primitive Integer Data Types

5.3 Differences between Primitives and References

5.4 Real Numbers (float and double Types)

5.5 System.out.println Revisited

5.6 Mixed Type Numeric Expressions

5.7 Primitive Methods (Including Math)

5.8 Constants (final)

5.9 Numeric Expression Patterns

5.10 char Data Type

5.11 Design Example–Dynamic Histogram

 

Chapter 6 - Supplier Classes

6.1 Clients and Suppliers in Software

6.2 Another Client

6.3 Suppliers

6.4 Scope and Lifetime

6.5 Class Interface Design Principles

6.6 Separating Read and Write Access

6.7 Method Overloading

6.8 this

6.9 Enumerated Data Types

6.10 String

6.11 JTextField (Optional)

 

Chapter 7 - Logic and Selection

7.1 The if instruction

7.2 Relational Expressions

7.3 Boolean Expressions

7.4 Conditional Evaluation

7.5 Predicates

7.6 The Use of implies

7.7 Nesting if Instructions

7.8 Multiway Selection

7.9 The switch Instruction

7.10 Software Testing

7.11 Logic and Programming (Optional)

7.12 Assertions Revisited

 

Chapter 8 - Inheritance

8.1 Extends

8.2 Class Relations: contains_a and is_a

8.3 Specialization and Extension–javax.swing.JComponent

8.4 Protected Scope

8.5 Inheriting for Event Handling

8.6 Animating by Inheriting EventTimer (Optional)

8.7 Design Example with Sliders and Text Fields (Optional)

8.8 Summary

 

Chapter 9 - Polymorphism

9.1 Inheritance Hierarchies

9.2 Type Conformance

9.3 Subtype Polymorphism

9.4 Abstract Classes

9.5 The Object Class

9.6 Equality by Content and by Identity

9.7 Using Interfaces

 

Chapter 10 - Repetition

10.1 The while Loop

10.2 Counting Loops

10.3 Sentinel Loops

10.4 Loop Design Cautions

10.5 Nested Loops

10.6 The do Loop

10.7 The for Loop

10.8 Loop Invariants

10.9 Looping and Event Handling

10.10 Testing and Loops

 

Chapter 11 - Containers

11.1 Containers

11.2 Generic Containers

11.3 Wrapper Classes and Autoboxing/Unboxing

11.4 Lists

11.5 List Traversal

11.6 Linear Searching

11.7 Sorting by Insertion

11.8 Generic Sorting (Optional)

 

Chapter 12 - Introduction to Arrays

12.1 One-Dimensional Arrays

12.2 Keeping Indices in Bounds

12.3 Sequential Processing with for Loops

12.4 Treating Arrays in Aggregate

12.5 Tables

12.6 Arrays with Reference Items

12.7 Arrays and Objects

12.8 Sorting–the Selection Sort

12.9 Two-Dimensional Arrays

 

Chapter 13 - File Input and Output

13.1 Files

13.2 The Java File Class

13.3 I/O Exceptions

13.4 Input and Output

13.5 DataInputStream and DataOutputStream

13.6 Text Files

13.7 Terminal-Style I/O (Optional)

13.8 Persistent Objects (Optional)

13.9 JFileChooser (Optional)

 

Chapter 14 - Recursion

14.1 Recursive Definition

14.2 From Recursive Definition to Method

14.3 Recursive Methods

14.4 Recursive Execution

14.5 Recursion and Repetition

14.6 More Complicated Forms of Recursion

 

Chapter 15 - Applications and Applets

15.1 static Variables

15.2 static Methods

15.3 Applications

15.4 Applets

15.5 Creating Packages (Optional)

15.6 Using Packages

 

Appendix A Introduction to Computing Systems

Appendix B Java Syntax Diagrams

Appendix C Precedence of Java Operations

Appendix D Library Software

Appendix E UML Notation

Appendix F Programming Using Windows

 

Index

Shelving Tag: Programming Languages/Java™

 

The Object of Java, 2/e

David D. Riley, University of Wisconsin-LaCrosse

ISBN 0-321-33158-3

 

The Object of Java uses an “object-centric” approach to give students a solid introduction to the power of programming with Java. This edition fully incorporates features of the Java 5.0 language, along with the use of Java’s awt and swing classes, providing students with an opportunity to practice the skills and techniques that serve as the building blocks of modern software development.

The Object of Java, Second Edition features:

  • Greater emphasis on objects–goes beyond an “early-objects” focus, making objects a theme from the very start. Includes examples and exercises that explore object-oriented programming and clarifies how it applies to software engineering.
  • Software engineering focus–weaves software engineering programming skills into every topic. Incorporates the use of Unified Modeling Language (UML), pattern-based programming, and pre- and post-conditions.
  • New Java 5.0–the advantages of this language upgrade include the use of generics, the assert statement, enumerated data types, the Scanner class, and discussions on the for loop statement.
  • Swing and awt–preserves and enhances the text’s fundamental reliance on Java’s “real” external classes and gentle introduction to applications with graphical user interfaces (GUIs).
  • Over 80 complete program examples.

 

David D. Riley is a professor in the Department of Computer Science at the University of Wisconsin-La Crosse, where he teaches programming for beginners and for experienced programmers. His areas of specialty include object-oriented software development, software engineering, and computer security. He holds a Ph.D. in computer science from the University of Iowa. Professor Riley is the author of other programming books, including The Object of Data Abstraction and Structures Using Java.

 

For more information about Addison-Wesley computing books visit aw.com/computing.

Online Powerpoint Figure Slides, 2/E
Riley
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321336003 | ISBN-13: 9780321336002
    View Downloadable Files

Online Solutions, 2/E
Riley
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321336011 | ISBN-13: 9780321336019
    View Downloadable Files

Online Source Code, 2/E
Riley
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321336038 | ISBN-13: 9780321336033
    View Downloadable Files

CS Support-Student Support Material
Addison-Wesley
©2008 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321446852 | ISBN-13: 9780321446855


Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.