New JDK 7 Features

This edition introduces new features in JDK 7. All the new features are presented in separate sections. Instructors can choose to skip it.

Complete Revision

This edition is completely revised in every detail to enhance clarity, content, presentation, examples, and exercises.

New Examples and Exercises

This edition provides many new examples and exercises to motivate and stimulate student interest in programming.

Key Points

Each section starts with a Key Point that highlights the important concepts covered in the section.

Check Points

Check Points provide review questions to help students track their progress and evaluate their learning after a major concept or example is covered.

Test Questions

Each chapter provides test questions. They are are grouped by sections for students to do self-test. The questions are graded online.

Basic GUI and Graphics Early

The design of the API for Java GUI programming is an excellent example of how the object-oriented principle is applied. Students learn better with concrete and visual examples. So basic GUI/Graphics is moved before introducing abstract classes and interfaces. You can however still choose to cover abstract classes and interfaces before GUI.

Text I/O Combined with Exception Handling

Text I/O is now combined with exception handling to form a new chapter.

Numeric Classes Early

The numeric wrapper classes, BigInteger, and BigDecimal are now introduced in Chapter 10 to enable students to write code using these classes early.

Simple Generics Early

Simple use of generics is introduced along with ArrayList in Chapter 11 and with Comparable in Chapter 15 while the complex detail on generics is still kept in Chapter 21.

Splitting Java Collections Framework in Two Chapters

Chapter 22 is split into two chapters (Chapter 22 and Chapter 23) to make rooms for incorporating three new case studies to demonstrate effective use of data structures.

Developing Efficient Algorithms

Chapter 24 is expanded to introduce algorithmic techniques: dynamic programming, divide-and-conquer, backtracking, and greedy algorithm with new examples to design efficient algorithms.

New Data Structures Materials

A common problem with a data structures course is lack of good examples and exercises. This edition added many new interesting examples and exercises.

Parallel Programming

Parallel programming techniques are introduced in Chapter 32, Multithreading and Parallel Programming.

New JSF Chapter

Chapter 44 is complete new to introduce latest standard on JSF. 

New JUnit Chapter

Chapter 50 is complete new to introduce testing using JUnit.