Java: An Introduction to Problem Solving and Programming, 8th edition

Published by Pearson (February 23, 2017) © 2018

  • Walter Savitch University of California, San Diego
  • Kenrick Mock

eTextbook

per month

  • Anytime, anywhere learning with the Pearson+ app
  • Easy-to-use search, navigation and notebook
  • Simpler studying with flashcards
from$111.99

  • Hardcover, paperback or looseleaf edition
  • Affordable rental option for select titles
  • Free shipping on looseleafs and traditional textbooks

MyLab

from$104.99

  • Reach every student with personalized support
  • Customize courses with ease
  • Optimize learning with dynamic study tools

For courses in introductory Computer Science courses using Java, and other introductory programming courses in Computer Science, Computer Engineering, CIS, MIS, IT, and Business.


A Concise, Accessible Introduction to Java Programming

Ideal for a wide range of introductory computer science courses, Java: An Introduction to Problem Solving and Programming, 8th Edition introduces students to object-oriented programming and important concepts such as design, testing and debugging, programming style, interfaces and inheritance, and exception handling. A concise, accessible introduction to Java, the text covers key Java language features in a manner that resonates with introductory programmers. Objects are covered early and thoroughly in the text. The author’s tried-and-true pedagogy incorporates numerous case studies, programming examples, and programming tips, while flexibility charts and optional graphics sections allow instructors to order chapters and sections based on their course needs. This 8th Edition incorporates new examples, updated material, and revisions.

About the Book


Emphasizes problem solving and programming techniques through Java syntax

  • Latest Java Coverage: All of the code in this book has been tested using a pre-release version of Oracle’s Java SE Development Kit (JDK), version 8.0.

    • Any imported classes are standard and in the Java Class Library that is part of Java. No additional classes or specialized libraries are needed.

  • UPDATED! Graphics supplements have changed from Swing to JavaFX, with the exception of JOptionPane. The JavaFX material introduces drawing, layout, event handling, and common UI controls.

    • The Swing chapters are still available online.

  • An introduction to functional programming with Java 8’s lambda expressions is included.

  • NEW! Examples of event-driven programming with the event handler in a separate class, the main application class, an anonymous inner class, and using lambda functions are included.

  • Additional material is included on secure programming (e.g. overflow, array out of bounds), Java 2DTM API, networking and the URL class as further examples of polymorphism in the context of streams.

  • UPDATED! Java applets material has been removed from the printed text, but is still available as an online chapter.

  • Many sections explain important problem-solving and programming techniques,

  • Object-Oriented and Traditional Techniques: Although students are exposed to using classes in Chapters 1 and 2, the defining of objects is delayed until Chapter 5. All of the basic information about objects and classes, including inheritance, is presented by the end of Chapter 8.

  • Language Details and Sample Code: The text provides complete explanations of Java language features and lots of sample code. Programs are presented in their entirety, along with sample input and output.

  • NEW! An introduction to the Timeline and Scene Builder is included.

Flexible coverage that fits your course

  • Flexible Chapter and Topic Ordering, including flexibility charts provided in the preface, enables the ordering of chapters and sections based on professor need.

  • Optional graphics sections at the end of most chapters make it possible to cover GUI programming from the start of the course.

  • Early Introduction to Classes: Some exposure to using classes is given in Chapters 1 and 2. Chapter 5 covers how to define classes. All of the basic information about classes, including inheritance, is presented by the end of Chapter 8. However, some topics regarding classes, including inheritance, can be postponed until later in the course. Although the text introduces classes early, it does not neglect traditional programming techniques, such as top-down design and loop design techniques.

Tried-and-true pedagogy

  • End-of-chapter programs are split into Practice Programs and Programming Projects.

    • Practice Programs require a direct application of concepts presented in the chapter, and solutions are usually short. Practice Programs are appropriate for laboratory exercises.

    • Programming Projects require additional problem solving, and solutions are generally longer than Practice Programs. Programming Projects are appropriate for homework problems.

  • Recaps summarize Java syntax and other important concepts.

  • Remembers highlight important ideas that students should keep in mind.

  • Programming Tips give students helpful advice about programming in Java.

  • Gotchas identify potential mistakes in programming that students might make and should avoid.

  • FAQs provide students answers to frequently asked questions within the context of the chapter.

  • Listings show students complete programs with sample output.

  • Case Studies guide students from problem statement to algorithm development to Java code.

  • Programming Examples provide more examples of Java programs that solve specific problems.

  • Self-Test Questions give students the opportunity to practice skills learned in the chapter. Answers at the end of each chapter give immediate feedback. These questions have a wide range of difficulty levels; some require only a one-word answer, whereas others require the reader to write an entire, but short program.

  • Asides give short commentaries on relevant topics.

  • Student Resources: A bound-in access card to the password-protected Companion website is included with the purchase of a new copy of the textbook. Visit http://www.pearsonhighered.com/savitch to access the following student resources:

    • Source code for programs in the book and for extra examples

    • Student lab manual

About the Book

Emphasizes problem solving and programming techniques through Java syntax

  • Graphics supplements have changed from Swing to JavaFX, with the exception of JOptionPane. The JavaFX material introduces drawing, layout, event handling, and common UI controls.

    • The Swing chapters are still available online.

  • Examples of event-driven programming with the event handler in a separate class, the main application class, an anonymous inner class, and using lambda functions are included.

  • Java applets material has been removed from the printed text, but is still available as an online chapter.

  • An introduction to the Timeline and Scene Builder is included.

Table of Contents

  1. Introduction to Computers and Java
  2. Basic Computation
  3. Flow of Control: Branching
  4. Flow of Control: Loops
  5. Defining Classes and Methods
  6. More About Objects and Methods
  7. Arrays
  8. Inheritance, Polymorphism, and Interfaces
  9. Exception Handling
  10. Streams, File I/O, and Networking
  11. Recursion
  12. Dynamic Data Structures and Generics

Appendices:

  1. Getting Java
  2. Running Applets
  3. Protected and Package Modifiers
  4. The DecimalFormat Class
  5. Javadoc
  6. Differences Between C++ and Java
  7. Unicode Character Codes
  8. Introduction to Java 8 Functional Programming
  9. The Iterator Interface
  10. Cloning
  11. Java Reserved Keywords

Index

Walter Savitch is Professor Emeritus of Computer Science at the University of California at San Diego. His interests include complexity theory, formal language theory, computational linguistics, and the development of computer science education materials, including several leading textbooks. He holds a PhD in mathematics from the University of California at Berkeley.


Need help? Get in touch

MyLab

Customize your course to teach your way. MyLab® is a flexible platform merging world-class content with dynamic study tools. It takes a personalized approach designed to ignite each student's unique potential. And, with the freedom it affords to adapt your pedagogy, you can reinforce select concepts and guide students to real results.

Pearson+

All in one place. Pearson+ offers instant access to eTextbooks, videos and study tools in one intuitive interface. Students choose how they learn best with enhanced search, audio and flashcards. The Pearson+ app lets them read where life takes them, no wi-fi needed. Students can access Pearson+ through a subscription or their MyLab or Mastering course.

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Empower your students, in class and beyond

Meet students where they are with MyLab®, and capture their attention in every lecture, activity, and assignment using immersive content, customized tools, and interactive learning experiences in your discipline.