1. Unified Modeling Language graphical notations throughout — Describes classes and their relationships; teaches students design and development of Java programs using the industry standard modeling technique.
2. Practical examples on gaming (simulating lottery, interactive quiz, Sudoku), business/financial (computing loan payments, taxes, and printing payroll statements), science (body mass index, wind chill temperature) — Replaces pure mathematical examples such as computing deviations and matrix multiplications.
3. Superior pedagogical design — Reinforces key concepts with objectives lists, introduction and chapter overviews, easy-to-follow examples, chapter summaries, review questions, programming exercises, and interactive self-tests.
4. The most extensive instructor support package available — Includes interactive and animated slides (Java code can be compiled within the PowerPoint slide), TestGen testbank (with over 2000 multiple-choice questions), solutions to all programming exercises, sample exams and supplemental exercises.
5. Case studies – Offer additional examples for learning the fundamentals of programming, such as writing loops.
6. Carefully chosen, easy-to-follow, representative examples – Include: description of the example, source code, sample run, and example review.
7. Notes and tips throughout — Offer valuable advice and insight on important aspects of program development.
8. Sample exams — Include multiple-choice questions, correct programming errors, trace programs, and write programs.
9. Supplemental exercises with solutions — Give instructors more options when assigning homework or writing exams.10. VideoNotes — VideoNotes are step-by-step video tutorials that illustrate the programming concepts presented in the textbook. Students can use VideoNotes to reinforce lecture/lab teachings and when instructors and TAs are not available. Students can see additional examples of key topics, and view the entire programming and problem-solving process whenever they need help. MyProgrammingLab, Pearson's new online homework and assessment tool, is available with this edition. Through the power of practice and immediate personalized feedback, MyProgrammingLab helps students fully grasp the logic, semantics, and syntax of programming. 10.1A self-study and homework tool, a MyProgrammingLab course consists of hundreds of small practice problems organized around the structure of this textbook. For students, the system automatically detects errors in the logic and syntax of their code submissions and offers targeted hints that enable them to figure out what went wrong–and why. For instructors, a comprehensive gradebook tracks correct and incorrect answers and stores the code inputted by students for review.
Ch1: Introduction to Computers, Programs, and Java
Ch2: Elementary Programming
Ch6: Single-Dimensional Arrays
Ch7: Multidimensional Arrays
Ch8: Objects and Classes
Ch10: Thinking in Objects
Ch11: Inheritance and Polymorphism
Ch12: GUI Basics
Ch14: Exception Handling and Text I/O
Ch15: Abstract Classes and Interfaces
Ch16: Event-Driven Programming
Ch17: GUI Components
Ch18: Applets and Multimedia
Ch19: Binary I/O
Ch22: Lists, Stacks, Queues, and Priority Queues
Ch23: Sets and Maps
Ch24: Developing Efficient Algorithms
Ch26: Implementing Lists, Stacks, and Queues, and Priority Queues
Ch27: Binary Search Trees
Ch29: AVL Trees
Ch30: Graphs and Applications
Ch31: Weighted Graphs and Applications
Ch32: Multithreading and Parallel Programming
Ch34: Java Database Programming
Bonus Chapters 35—49 are available on the Companion Website
Ch36: JavaBeans and Bean Events
Ch37: Containers, Layout Managers, and Borders
Ch38: Menus, Toolbars, and Dialogs
Ch39: MVC and Swing Models
Ch40: JTable and JTree
Ch41: Advanced Database Programming
Ch43: JavaServer Pages
Ch44: JavaServer Faces
Ch45: Web Services
Ch46: Remote Method Invocation
Ch47: 2-4 Trees and B-Trees
Ch48: Red-Black Trees
Ch49: Java 2D
Appendix A Java Keywords
Appendix B The ASCII Character Set
Appendix C Operator Precedence Chart
Appendix D Java Modifiers
Appendix E Special Floating-Point Values
Appendix F Number Systems
Appendix G Bitwise Operations