You are not signed in. Sign in.

List Books: Buy books on ListBooks.org

Java Foundations: Introduction to Program Design and Data Structures » (2nd Edition)

Book cover image of Java Foundations: Introduction to Program Design and Data Structures by John Lewis

Authors: John Lewis, Peter DePasquale, Joseph Chase
ISBN-13: 9780132128810, ISBN-10: 0132128810
Format: Other Format
Publisher: Addison Wesley
Date Published: March 2010
Edition: 2nd Edition

Find Best Prices for This Book »

Author Biography: John Lewis

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.

Book Synopsis

Inspired by the success of their best-selling introductory programming text, Java Software Solutions, authors Lewis, DePasquale, and Chase now release Java Foundations, Second Edition. This text is a comprehensive resource for instructors who want a two-or three-semester introduction to programming textbook that includes detail on 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.

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

Subjects