Always Learning

Java Foundations: Introduction to Program Design and Data Structures
John LewisVirginia Tech
Peter DePasqualeCollege of New Jersey
Joseph ChaseRadford University

ISBN-10: 0321429729
ISBN-13:  9780321429728

Publisher:  Addison-Wesley
Copyright:  2008
Format:  Paper Bound w/CD-ROM; 928 pp
Published:  02/27/2007
We're sorry, this product is no longer available and has been replaced with Java Foundations: Introduction to Program Design and Data Structures, 2/E.

Please contact your Pearson rep if you are using this product and need instructor resources.


Print this content

In this section:


Description

Inspired by the success their best-selling introductory programming text, Java Software Solutions, authors Lewis, DePasquale, and Chase now release Java Foundations. Their newest text is a comprehensive resource for instructors who want a two-semester introduction to programming textbook that includes data structures topics. Java Foundations introduces a Software Methodology early on and revisits it throughout to ensure students develop sound program development skills from the beginning. Control structures are covered before writing classes, providing a solid foundation of fundamental concepts and sophisticated topics.


Features

  • Presents objects in a gradual, natural manner. Concepts that overlap with procedural programming, such as methods and their invocation, are discussed in terms of an object-oriented approach.
  • Loaded with fully implemented color-coded examples, intertwining small examples, and realistic larger examples that are easy to understand.
  • Offers complete chapter on Graphical User Interfaces that includes engaging graphical examples.
  • Exclusive coverage of software-testing and debugging effective practices.
  • Includes separate chapter on Input/Output (I/O) concepts.
  • Provides plenty of opportunity for practice with extensive end-of-chapter questions, exercises, and projects.
  • Each new copy of this text comes with a Student Resource Disk that includes source code, appendices, case studies, JDK 6.0, NetBeans™ IDE, jGrasp™ IDE, TextPad®, Eclipse™ and DrJava.
  • MyCodeMate, available for the First Edition, is a Web-based, textbook-specific homework tool and programming resource for an introduction to programming course. It provides a wide range of tools that students can use to help them learn programming concepts, prepare for tests, and earn better grades in the introductory programming course. Students can work on programming problems from this text or homework problems created by their professors, and receive guided hints with page references and English explanations of compiler errors. Instructors can assign textbook-specific or self-created homework problems, preset style attributes, view students’ code and class compiler error logs, and track homework completion. A complimentary subscription is offered when an access code is ordered packaged with a new copy of this text. Subscriptions may also be purchased online. For more information visit MyCodeMate.


Table of Contents

Chapter 1 Introduction
1.1 The Java Programming Language
1.2 Program Development
1.3 Problem Solving
1.4 Software Development Activities
1.5 Object-Oriented Programming

Chapter 2 Data and Expressions
2.1 Character Strings
2.2 Variables and Assignment
2.3 Primitive Data Types
2.4 Expressions
2.5 Data Conversion
2.6 Reading Input Data
    
Chapter 3 Using Classes and Objects
3.1 Creating Objects
3.2 The String Class
3.3 Packages
3.4 The Random Class
3.5 The Math Class
3.6 Formatting Ouput
3.7 Enumberated Types
3.8 Wrapper Classes

Chapter 4 Conditionals and Loops
4.1 Boolean Expressions
4.2 The if Statement
4.3 Comparing Data
4.4 The switch Statement
4.5 The while Statement
4.6 Iterators
4.7 The do Statement
4.8 The for Statement

Chapter 5 Writing Classes
5.1 Classes and Objects Revisited
5.2 Anatomy of a Class
5.3 Encapsulation
5.4 Anatomy of a Method
5.5 Static Class Members
5.6 Class Relationships
5.7 Method Design
5.8 Method Overloading        

Chapter 6 Graphical User Interfaces
6.1 GUI Elements
6.2 More Components
6.3 Layout Managers
6.4 Mouse and Key Events
6.5 Dialog Boxes
6.6 Some Important Details
6.7 GUI Design

Chapter 7 Arrays
7.1 Array Elements
7.2 Declaring and Using Arrays
7.3 Arrays of Objects
7.4 Command-line Arguments
7.5 Variable-Length Parameter Lists
7.6 Two-Dimensional Arrays

Chapter 8 Inheritance
8.1 Creating Subclasses
8.2 Overriding Methods
8.3 Class Hierarchies
8.4 Visibility
8.5 Designing for Inheritance

Chapter 9 Polymorphism
9.1 Late Binding
9.2 Polymorphism via Inheritance
9.3 Interfaces
9.4 Polymorphism via Interfaces

Chapter 10 Exceptions
10.1 Exception Handling
10.2 Uncaught Exceptions
10.3 The try-catch Statement
10.4 Exception Propagation
10.5 The Exception Class Hierarchy
10.6 I/O Exceptions

Chapter 11 Building, Testing, and Debugging
11.1 Building Larger Applications: JFMail
11.2 Packages
11.3 Building Java Projects
11.4 Testing
11.5 Debugging

Chapter 12 Recursion
12.1 Recursive Thinking
12.2 Recursive Programming
12.3 Using Recursion

Chapter 13 Searching and Sorting
13.1 Searching
13.2 Sorting
13.3 Analysis of Algorithms
13.4 Analyzing Searching and Sorting Algorithms

Chapter 14 Collections and Linked Lists
14.1 Introduction to Collections
14.2 A Bag Collection
14.3 An Array Implementation of a Bag
14.4 Linked Lists
14.5 A Linked Implementation of a Bag

Chapter 15 Stacks and Queues
15.1 Stacks
15.2 Evaluating Postfix Expressions
15.3 Implementing Stacks with Arrays
15.4 Implementing Stacks with Links
15.5 The java.util.Stack Class
15.6 Queues
15.7 Radix Sort
15.8 Implementing Queues with Arrays
15.9 Implementing Queues with Circular Arrays
15.10 Implementing Queues with Links
15.11 Analysis of Stack and Queue Implementations

Chapter 16 Trees
16.1 Tree Terminology
16.2 Tree Traversals
16.3 Strategies for Implementing Trees
16.4 A Binary Tree Implementation
16.5 Decision Trees

Chapter 17 Search Trees and Heaps
17.1 Binary Search Trees
17.2 Binary Search Tree Implementation
17.3 Balance Binary Search Trees
17.4 Heaps
17.5 Heap Implementation
17.5 Heap Sort

Chapter 18 Graphs
18.1 Undirected Graphs
18.2 Directed Graphs
18.3 Weighted Graphs
18.4 Common Graph Algorithms
18.5 Strategies for Implementing Graphs
        
Appendixes
A Glossary
B Number Systems
C The Unicode Character Set
D Java Operators
E Java Modifiers
F Java Graphics
G Java Applets
H Regular Expressions
I Javadoc Documentation Generator
J Java Syntax

Index



Back to top

Print this content

In this section:


Product Tours

myCodeMate -- Your Own TA, Just a Click Away
This text is available with myCodeMate, a completely Web-based, textbook-specific homework and programming resource for your Introduction to Programming course.


Author Bios

John Lewis is the co-author of the Java Software Structures textbooks used for AP computer science classes, the Java Software Solutions textbook, Java Software Structures, and Programming with Alice and Java.  He teaches courses at both Virginia Tech and Radford University. He received his Ph.D. degree from Virginia Tech.

Peter DePasquale is an assistant professor of computer science at the College of New Jersey (TCNJ). He is the author of Addison-Wesley’s Java Backpack Reference Guide and Addison-Wesley’s C++ Backpack Reference Guide.

Joe Chase is an associate professor of computer science at Radford University. He is the co-author of Java Software Structures and Java Software Structures for AP* Computer Science AB.

Back to top

Print this content

In this section:


Websites and Online Courses

MyCodeMate -- Instant Access -- for Java Foundations
Lewis, DePasquale & Chase
©2008  |  Addison-Wesley  |  Website  |  Live
ISBN-10: 0321489373  |  ISBN-13: 9780321489371
More Info

Back to top

Student Access Codes

MyCodemate -- Access Card, 3/E
MyCodeMate
©2005  |  Addison-Wesley  |  Access Code Card  |  Instock
ISBN-10: 0321356977  |  ISBN-13: 9780321356970
More Info

Back to top

Print this content

In this section:

Labs for Java Foundations
Lewis, DePasquale & Chase
©2008  |  Addison-Wesley  |  On-line Supplement  |  Live
ISBN-10: 0321490975  |  ISBN-13: 9780321490971

Show Downloadable Files
 | More Info

PowerPoint Slides for Java Foundations
Lewis, DePasquale & Chase
©2008  |  Addison-Wesley  |  On-line Supplement  |  Live
ISBN-10: 0321489365  |  ISBN-13: 9780321489364

Show Downloadable Files
 | More Info

Project Solutions for Java Foundations
Lewis, DePasquale & Chase
©2008  |  Addison-Wesley  |  On-line Supplement  |  Live
ISBN-10: 0321487524  |  ISBN-13: 9780321487520

Show Downloadable Files
 | More Info

Source Code for Java Foundations
Lewis, DePasquale & Chase
©2008  |  Addison-Wesley  |  On-line Supplement  |  Live
ISBN-10: 0321489357  |  ISBN-13: 9780321489357

Show Downloadable Files
 | More Info

Test Bank and TestGen for Java Foundations
Lewis, DePasquale & Chase
©2008  |  Addison-Wesley  |  On-line Supplement  |  Live
ISBN-10: 0321487532  |  ISBN-13: 9780321487537

Show Downloadable Files
 | More Info

Back to top

MyCodeMate -- Instant Access -- for Java Foundations
Lewis, DePasquale & Chase
©2008  |  Addison-Wesley  |  Website  |  Live
ISBN-10: 0321489373  |  ISBN-13: 9780321489371
More Info

Back to top


Access code cards

MyCodemate -- Access Card, 3/E
MyCodeMate
©2005  |  Addison-Wesley  |  Access Code Card  |  Instock
ISBN-10: 0321356977  |  ISBN-13: 9780321356970
More Info

Back to top

Websites and online courses

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

MyCodeMate -- Instant Access -- for Java Foundations
Lewis, DePasquale & Chase
©2008  |  Addison-Wesley  |  Website  |  Live
ISBN-10: 0321489373  |  ISBN-13: 9780321489371
More Info


Websites and Online Courses

MyCodeMate -- Instant Access -- for Java Foundations
Lewis, DePasquale & Chase
©2008  |  Addison-Wesley  |  Website  |  Live
ISBN-10: 0321489373  |  ISBN-13: 9780321489371
More Info

Back to top

Student Access Codes

MyCodemate -- Access Card, 3/E
MyCodeMate
©2005  |  Addison-Wesley  |  Access Code Card  |  Instock
ISBN-10: 0321356977  |  ISBN-13: 9780321356970
More Info

Print this content

Give your students a choice! PearsonChoices products are designed to give your students more value and flexibility by letting them choose from a variety of text and media formats to best match their learning style and their budget.

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, see the Packages Tab.

  • Pearson Custom Computer Science
    Pearson
    ©2009  |  Addison-Wesley  |  On-line Supplement  |  Live
    ISBN-10: 0135075483  |  ISBN-13: 9780135075487
    Brief Description  |  More Info


Back to top

Log in to the Instructor Resource Center

Login name: 

  Password: 

Forgot login/password?  |  Need to redeem an access code?

        

Instructor Resource Center File Download

This work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from this site should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.

Cancel     I accept, proceed with download

Print this content

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.

Back to top