Java: An Introduction to Problem Solving and Programming, Global Edition

Walter Savitch  
Total pages
October 2018
Related Titles

Product detail

Product Price CHF Available  
Java: An Introduction to Problem Solving and Programming, Global Edition
96.20 approx. 7-9 days

Free evaluation copy for lecturers


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

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.


  • 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 specialised libraries are needed.
  • 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.
  • 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.
  • 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.
  • An introduction to the Timeline and Scene Builder is included.
  • 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.
  • End-of-chapter programs are split into Practice Programs and Programming Projects.
  • 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.

New to this Edition

Also available with Pearson MyLab Programming

MyLab™ Programming is an online learning system designed to engage students and improve results. Pearson MyLab Programming consists of programming exercises correlated to the concepts and objectives in this book. Through practice exercises and immediate, personalized feedback, MyLab  Programming improves the programming competence of beginning students who often struggle with the basic concepts of programming languages.

·    User Interface provides a new streamlined interface based on experienced user feedback. Course creation, configuration, and navigation are now easier than ever.

·    Exercise Editor now allows you to easily create new programming exercises. In addition to assigning the hundreds of programming exercises already available in Pearson MyLab Programming, you can create and assign programming exercises to customize your course.

·    VideoNotes Tutorials provide step-by-step video tutorials specifically designed to enhance the programming concepts presented in Introduction to Java Programming. Students can view the entire problem-solving process outside of the classroom–when they need help the most.

o Five new VideoNotes are included in this edition, for a total of 77 VideoNotes. These VideoNotes walk students through the process of both problem solving and coding to help reinforce key programming concepts. An icon appears in the margin of the book when a VideoNote is available regarding the topic covered in the text.

·    Interactive Practice provides first-hand programming experience in an interactive online environment.

·    Immediate feedback  for incorrect answers give students personalized feedback differentiating logical and compiler errors . The error messages include both the feedback from the compiler and plain English interpretations of likely causes for the incorrect answer.

·    The Plagiarism Detection Tool alerts instructors of potential plagiarism issues by checking:

o Students’ average submission rate

o Students’ average number of attempts until correct

·    Pearson eText gives students access to their textbook anytime, anywhere. In addition to note taking, highlighting, and bookmarking, the Pearson eText offers interactive and sharing features. Rich media options let students watch lecture and example videos as they read or do their homework. Instructors can share their comments or highlights, and students can add their own, creating a tight community of learners in your class.

o The Pearson eText companion app allows existing subscribers to access their titles on an iPad or Android tablet for either online or offline viewing.

·    Dynamic grading and assessment provide auto-grading of student assignments, saving you time and offering students immediate learning opportunities:

o A dynamic roster tracks their performance and maintains a record of submissions.

o The color-coded gradebook gives you a quick glance of your classes' progress. Easily drill down to receive information on a single student's performance or a specific problem. Gradebook results can be exported to Excel to use with your LMS.

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.

o The Swing chapters are still available online.

·    Examples of event-driven programming with the

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