Object-Oriented Programming in Java: A Graphical Approach, Preliminary Edition
Kathryn E. Sanders, Rhode Island College
Andy van Dam, Brown University

ISBN-10: 0321245741
ISBN-13: 9780321245748

Publisher: Addison-Wesley
Copyright: 2006
Format: Paper Bound w/CD-ROM; 640 pp
Published: 08/29/2005

Suggested retail price: $103.00
Buy from myPearsonStore



This first truly innovative introduction to Java programming by world-renowned teacher and computer scientist Andy van Dam and Kate Sanders brings realistic, object-oriented programming to the forefront. This early foray into object-oriented programming, not simply objects, from encapsulation through polymorphism supports the real-world applications of Java and enforces good, structured programming habits that will stay with students for a lifetime.

 

Its distinctive graphical approach, replete with graphics-based examples and exercises, provides valuable motivation for first-time programmers and captures students’ attention through visually appealing applications. This book gives students the opportunity to gain realistic experience of writing larger programs that are systems of cooperating objects.  It incorporates the newest Java 5.0 features including the standard Scanner class and offers extensive data structures coverage (stacks, queues, linked lists and trees).

  • Co-authored by “award-winning” educator and computer scientist Andy van Dam
  • Focus on object-oriented design which provides students with the realistic   experience of writing programs that are systems of cooperating objects
  • Early coverage of all important object-oriented concepts, including polymorphism, so that students are immersed in this methodology from the beginning
  • An extensive use of graphical user interface and graphics examples, which are important (and interesting) for students to understand
  • Realistic and runnable programming examples
  • Visually appealing application programs including animations and games
  • Complete chapter on design patterns
  • Data Structure topics including stacks, queues, linked lists and trees
  • Introduction to searching and sorting algorithms and analysis of algorithms
  • Numeric and text-based computing covered in second part of book

 

 

 

Contents

 

Preface

 

Chapter 0            Background

                0.1              Introduction

0.2              Computer hardware

0.3              Computer software

0.4              Programming languages and Java

0.5              Executing a program

0.6              Software tools for programming

0.7              How compilation works in Java

0.8              The process of writing programs

0.9              What if your program doesn’t work?

Summary

Self-Check Questions

Exercises

 

Chapter 1            Introduction to Objects

1.1              Introduction

1.2              Concepts

1.3              Mechanics

1.4              Working Out with Objects: getting starting with Java

Summary

Self-Check Questions

Exercises

Programming Projects

New Style Conventions

 

Chapter 2            Methods with Parameters

2.1              Introduction

2.2              Concepts

2.3              Mechanics

2.4              Working Out with Objects: the talking sun

2.5              Working Out with Composite Objects: the Snowman

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 3            Inheritance

3.1              Introduction

3.2              Concepts

3.3              Mechanics

3.4              Working Out with Inheritance: the Blobs

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 4            Interfaces

4.1              Introduction

4.2              Concepts

4.3              Mechanics

4.4              Working Out with Interfaces: a movable sun

4.5              Working Out with Interfaces and Composite Shapes: a movable hat

4.6              Recipes

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 5            Polymorphism

5.1              Introduction

5.2              Concepts

5.3              Mechanics

5.4              Working Out with Polymorphism: the sketch pad

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 6           Introduction to Arithmetic and Conditional Statements

                6.1             Introduction

6.2             Concepts

6.3             Mechanics

6.4             Working Out with arithmetic and conditionals: Daisy,Daisy, give me your answer do

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 7            Two-Dimensional Graphical Shapes

7.1              Introduction

7.2              Concepts

7.3              Working Out with Windows and Shapes - FirstApp revisited

7.4              Working Out with Events and Animation - the bouncing ball

7.5              Working Out with Events and Composite Shapes - the fish tank

7.6              Working Out with Design - building our own Wheels

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 8            Graphical User Interfaces and Event-Handling

                8.1              Introduction

8.2              Concepts

8.3              Mechanics

8.4              Working out with GUI: a user-controlled bouncing ball

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 9            Design Patterns

9.1              Introduction

9.2              Concepts

9.3              Mechanics

9.4              Working out with the Holder Pattern - part of a drawing program

9.5              Working out with the Proxy Pattern - race cars

9.6              Working out with the Composite Pattern - the space alien

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 10         Advanced Arithmetic and Conditional Statements

10.1          Introduction

10.2          Concepts

10.3          Mechanics

10.4          Working out with floating point numbers, nested conditionals, and random numbers - ColorBounceApp

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 11         Loops

11.1          Introduction

11.2          Concepts

11.3          Mechanics

11.4          Working out with: ButterflyApp

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 12         Recursion

12.1          Introduction

12.2          Concepts

12.3          Mechanics

12.4          Working out with Recursion: SpiralApp

12.5          Working out with Recursion: TreeApp

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 13         Arrays, Vectors, and ArrayLists

13.1          Introduction

13.2          Concepts

13.3          Mechanics

13.4          Working out with: Arrays: ClickApp

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 14         Introduction to Data Structures

14.1          Introduction

14.2          Concepts

14.3          Mechanics

14.4          Working Out with Data Structures: Driver programs

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 15         Trees

15.1          Introduction

15.2          Concepts

15.3          Mechanics: Binary Search Trees

15.4          Working Out with Trees: Driver Program

Summary

Self-Check Questions

Exercises

 

Chapter 16         Sorting and Searching

16.1          Introduction

16.2          Concepts

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 17         Strings and Text I/O

17.1          Introduction

17.2          Concepts

17.3          Mechanics: Strings

17.4          Working out with Strings: GUI Text I/O

Summary

Self-Check Questions

Exercises

Programming Projects

 

Chapter 18         Console I/O, File I/O, and Exceptions

18.1          Introduction

18.2          Concepts

18.3          Mechanics

18.4          Working Out with File I/O: Saving and restoring objects

Summary

Self-Check Questions

Exercises

Programming Projects

 

Index

This principle-driven introduction to programming with Java and its standard Swing graphics library by world-renowned computer science professor Andy van Dam and professor Kate Sanders emphasizes object-oriented design and programming. It covers all important object-oriented programming mechanisms at the beginning of the book-from encapsulation through inheritance, interfaces, and polymorphism. It uses numerous executable examples to teach modularization and other good programming habits that will stay with students for a lifetime. Most of the programming examples and exercises take advantage of the visual appeal of interactive graphics to provide essential motivation for first-time programmers.

With Object-Oriented Programming in Java: A Graphical Approach, students will:

• Use an approach to learning object-oriented design and programming that has been tested for a decade and used successfully at multiple universities.

• Experience reading and writing non-trivial, interactive programs that are systems of cooperating objects.

• Capitalize on the powerful features of Java 5.0 including Swing class, generics, and static imports.

• Get a good introduction to fundamental data structures (stacks, queues, linked lists and trees) and a complete chapter on design patterns.

"Strong Object-Oriented Design skills in combination with experience working on non-trivial projects are a requirement for succeeding in today’s software industry. Students who follow the approach of this book are bound to be successful later in their software careers; you need only see the number of former Andy van Dam students at current industry powerhouses to believe it!" -Matt Chotin, Sr. Software Engineer, Macromedia and former student of Andy van Dam

"Graphics are a useful motivator because students enjoy graphics far more than text or arithmetic examples, and graphics are inherently object-oriented." -Karl R. Wurst, Worcester State College

"Andy van Dam and Kate Sanders do a great job of hitting Objects first-teaching OO early and letting the procedural stuff come along naturally. I have seen a number of texts that claim they do this, but I haven't seen anyone who does it like these authors do."-Ben Shaffer, University of Northern Iowa

View a Sample Chapter PDF:

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 for pricing and ordering information.

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, browse our available packages below, or contact your Pearson Higher Education representative to create your own package.



Copyright ©2009 Pearson Education. All rights reserved. Legal Notice | Privacy Policy | Permissions