Features:
Full color - Program listings include highlighting of the new features presented and syntax coloring of code to help readers better interpret the code.
Signature \"Live Code Approach\" - Language features are presented in the context of complete working programs.
- Features thousands of lines of code in hundreds of complete working programs.
- Enables students to confirm that programs run as expected.
- Students can also manipulate the code from the book's Companion Website or from the author's Website.
Outstanding, consistent and applied pedagogy:
- Icons throughout identify hundreds of Software Engineering Observations; Good Programming Practices; Common Programming Errors; Portability Tips; Performance Tips, Testing and Debugging Tips, and Look-and-Feel Observations.
- Provides hundreds of valuable programming tips and facilitates learning.
Extensive set of interesting exercises and substantial projects that enables students to apply what they've learned in each chapter.
Also available with the Multimedia Cyber Classroom:
- Provides extra hands-on experience and study aids for no additional cost.
- Includes:
. Many hours of detailed, expert video walkthroughs of many of the book's live-code examples;
. Post-assessment exams with hundreds of short answer questions (all with answers);
. Hundreds of self-review exercises drawn from the text (with answers);
. Hundreds of programming exercises from the main text (these exercises don't have answers in the main text, but half of these exercises have answers in the Java Multimedia Cyber Classroom);
. Hundreds of tips that are marked with icons and show how to write code that's portable, reusable, and optimized for performance; and full-text searching and hyperlinking.
New to this Edition:
Begins with a rich treatment of procedural programming, including two full chapters on control statements and 200+ exercises.
It offers the option to cover objects near the end of the CS1 course or at the beginning of CS2. The book emphasizes top-down, stepwise refinement with pseudocode.
Uses UML activity diagrams instead of older flowcharts.
Using objects before writing your own classes (required built-in classes): Students will eventually need to learn object-oriented programming. While learning procedural programming, students will use various built-in classes and objects from the Java APIs. Students will:
- Use Scanner objects to read input from the keyboard.
- Use the System.out object to display text output in a command window.
- Use String objects to manage and manipulate string information.
- Use Formatter, Scanner, and File Objects to manipulate text files on disk.
Using objects before writing your own classes (optional GUI and graphics built-in classes): The optional GUI and Graphics track provides a fun way for students to learn about manipulating objects while learning procedural programming. Students will:
- Use various GUI classes to build simple graphical user interfaces.
- Use a Graphics object to draw shapes in a window using various procedural programming techniques.
The online Multimedia Cyber Classroom electronic learning support is fully updated. The new version includes 10+ hours of Camtasia-based VideoNotes presented by Paul Deitel, the author of Pearson's wildly successful Java and C# LiveLessons products.
New \"Making a Difference\" exercise sets encourage students to associate computers and the Internet with solving problems that really matter to individuals, communities, countries and the world.
- These new exercises encourage students to think for themselves as they explore complex social issues and increase awareness of important issues the world is facing.
- Many of the new exercises require students to conduct research on the web and weave the results into their problem-solving process.
The optional object-oriented design/UML 2 automated teller machine (ATM) case study is refined and reorganized into two optional chapters that present the ATM's design and complete code implementation.
Java's new Nimbus graphical user interface (GUI), introduced in Java SE 6 update 10, is now used throughout the book.
The popular Eclipse and Netbeans open source integrated development environments (IDEs) are covered more extensively via online support materials.
PowerPoint slides now contain an execute button for each program listing as well as one or more buttons for each source code slide that enable the instructor to bring up the source code in popular IDEs.
Applet treatment is enhanced to include material on Java Web Start and the new applet features introduced in Java SE 6 update 10, such as applets that can be dragged from your browser to your desktop then launched from the desktop in the future.
Significant treatment of testing and debugging includes unit testing with JUnit.
Defining occurrence page numbers for each term have been added in the terminology lists for quick reference.
Most exercises are now titled.
Table of Contents
(Draft TOC - May change before publication)
Procedural Programming
1. Introduction and Basic Java Programming
2. Control Statements: Part 1
3. Control Statements: Part 2
4. Methods and an Introduction to Recursion
5. Arrays
6. Introduction to Strings and Files
Object-Oriented Programming
7. Introduction to Classes and Objects
8. Classes and Objects: A Deeper Look
9. Object-Oriented Programming: Inheritance
10. Object-Oriented Programming: Polymorphism
11. Exception Handling
(Optional) Object-Oriented Design with the UML
12. (Optional) ATM Case Study, Part 1: Object-Oriented Design with the UML
13. (Optional) ATM Case Study, Part 2: Implementing an Object-Oriented Design
Graphics, GUI, Applets and Multimedia
14. GUI Components: Part 1
15. Graphics and Java 2D
23. Applets and Java Web Start
24: Multimedia: Applets and Applications
25. GUI Components: Part 2
Strings, Files, and Streams
16. Strings, Characters, and Regular Expressions
17. Files, Streams, and Object Serialization
Data Structures
18. Recursion
19. Searching, Sorting, and Big O
20. Generic Collections
21. Generics
22. Data Structures
Multithreading and Networking (Online Chapters)
26. Multithreading
27. Networking
Database-Driven Desktop and Web Application Development (Online Chapters)
28. Accessing Databases with JDBC
29. JavaServer Faces (JSF) Web Applications
30. Ajax-Enabled JSF Web Applications
31. JAX-WS Web Services
Appendices
A - Operator Precedence Chart
B - ASCII Character Set
C - Keywords and Reserved Words
D - Primitive Types
E - Number Systems
F - GroupLayout
G - Java Desktop Integration Components
H - Mashups
I - Unicode
J - Using the Java API Documentation
K - Creating Documentation with javadoc
L - Bit Manipulation
M - Formatted Output
N - UML 2: Additional Diagram Types
O - Labeled break and continue Statements
P - Design Patterns
Q - Using the Debugger.