Java Software Solutions, Global Edition

Series
Pearson
Author
John Lewis / William Loftus  
Publisher
Pearson
Cover
Softcover
Edition
9
Language
English
Total pages
800
Pub.-date
January 2018
ISBN13
9781292221724
ISBN
1292221720
Related Titles



Description

For courses in Java programming

 

Empowers students to write useful, object-oriented programs

Java Software Solutions establishes a strong foundation of programming techniques to foster well-designed object-oriented software. Heralded for its integration of small and large real-world examples, the worldwide best-selling text emphasizes problem-solving and design skills and introduces students to the process of constructing high-quality software systems. The 9th Edition features a sweeping overhaul of Graphics Track coverage, to fully embrace the JavaFX API. This fresh approach enriches programmers’ understandings of core object-oriented principles. The text uses a natural progression of concepts, focusing on the use of objects before teaching how to write them—equipping students with the knowledge and skill they need to design true object-oriented solutions.

 

Pearson MyLabTM Programming not included. Students, if MyLab is a recommended/mandatory component of the course, please ask your instructor for the correct ISBN and course ID. MyLab should only be purchased when required by an instructor. Instructors, contact your Pearson rep for more information.


MyLab is an online homework, tutorial, and assessment product designed to personalize learning and improve results. With a wide range of interactive, engaging, and assignable activities, students are encouraged to actively learn and retain tough course concepts.

Features

This title is a Pearson Global Edition. The Editorial team at Pearson has worked closely with educators around the world to include content which is especially relevant to students outside the United States.

 

 

An object-oriented approach teaches students to write good software in addition to programming skills  

·    A measured approach to objects teaches students how to use objects before teaching how to write them.

·    Sound programming practices show students how to write good software, not just how to program. Through examples and discussions, students learn how to solve problems and implement solutions using foundational software-engineering techniques.

·    NEW! Fully embrace the JavaFX API with a sweeping overhaul of Graphics Track sections

o JavaFX coverage provides a much cleaner approach to GUI development, embracing core object-oriented principles better than its predecessor, Swing.

o Full coverage of the JavaFX approach featuring graphical shapes and controls, including buttons, text fields, checkboxes, radio buttons, choice boxes, color pickers, date pickers, dialog boxes, sliders, and spinners.

o Java 8 method references and lambda expressions create an easy-to-understand approach to defining event handlers.

o An in-depth exploration of the JavaFX class hierarchy provides deeper context for why JavaFX is now the preferred approach for developing graphics and graphical user interfaces (GUIs) in Java.

o A detailed explanation of JavaFX properties and property binding gives a closer look at the API’s ins and outs.

o REVISED! End-of-chapter exercises and programming projects have been updated to better reflect the JavaFX approach.

·    Fully implemented examples demonstrate crucial concepts. Because students learn best through examples, small, readily understandable examples are intertwined with larger, more realistic ones.

·    UPDATED! All GUI development in the book is done “by hand” to give beginners an easy-to-grasp look at Java coding.

·    UPDATED! Fresh examples and discussions throughout the book improve pedagogy and keep students engaged with relevant references.

·    An optional Graphics Track section covers graphics and GUIs at the end of each chapter, allowing for flexibility of coverage.

 

 

Enhance learning with in-text features

·    Key Concept boxes highlight fundamental ideas and important guidelines at the end of each chapter.

·    Listings clearly present programming examples, using the program output, a sample run, or screenshot display.

·    Syntax Diagrams discuss syntactic elements of the Java language in special highlighted sections, with diagrams that clearly identify the valid forms for a statement or construct. Diagrams for the entire Java language can be found in Appendix L.

·    Graphics Track discussions, found at the end of each chapter, cover all processing that involves graphics and GUIs. This material relates to the main topic of its corresponding chapter, and can be skipped without loss of continuity--or focused on as desired.

·    Summaries of Key Concepts are included at the end of each chapter to outline important ideas discussed in the text.

·    Self-Review Questions and Answers allow students to assess their own grasp of the material, through short-answer questions about fundamental ideas and terms. Intermediate problems and exercises require computations, code fragment analysis or writing, and a thorough grasp of chapter content--further testing student knowledge and ability throughout the text.

·    Programming Projects vary in level of difficulty, requiring the design and implementation of Java programs.

·    VideoNotes presented by the author, explain topics visually through informal videos in an easy-to-follow format--giving students the extra help they need to understand important concepts. Special icons indicate which in-chapter topics and end-of-chapter Programming Projects are available as VideoNotes.

·    Between-chapter Software Failure vignettes discuss real-world flaws and failures in software design, encouraging students to adopt sound design practices.

 

 

 

Pearson MyLabTM Programming not included. Students, if MyLab is a recommended/mandatory component of the course, please ask your instructor for the correct ISBN and course ID. MyLab should only be purchased when required by an instructor. Instructors, contact your Pearson rep for more information.

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

·    EXPANDED! 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.

·    UPDATED! 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.

·    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.

·    NEW! 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    

 

·    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.

New to this Edition

·    Fully embrace the JavaFX API with a sweeping overhaul of Graphics Track sections

o JavaFX coverage provides a much cleaner approach to GUI development, embracing core object-oriented principles better than its predecessor, Swing.

o Full coverage of the JavaFX approach featuring graphical shapes and controls, including buttons, text fields, checkboxes, radio buttons, choice boxes, color pickers, date pickers, dialog boxes, sliders, and spinners.

o Java 8 method references and lambda expressions create an easy-to-understand approach to defining event handlers.

o An in-depth exploration of the JavaFX class hierarchy provides deeper context for why JavaFX is now the preferred approach for developing graphics and graphical user interfaces (GUIs) in Java.

o A detailed explanation of JavaFX properties and property binding gives a closer look at the API’s ins and outs.

o End-of-chapter exercises and programming projects have been updated to better reflect the JavaFX approach.

·    All GUI development in the book is done “by hand” to give beginners an easy-to-grasp look at Java coding.

·    Fresh examples and discussions throughout the book improve pedagogy and keep students engaged with relevant references.

 

Pearson MyLabTM Programming not included. Students, if MyLab is a recommended/mandatory component of the course, please ask your instructor for the correct ISBN and course ID. MyLab should only be purchased when required by an instructor. Instructors, contact your Pearson rep for more information.

·    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. The Exercise Editor is easy to use and gives you the option to select different programming languages and exercise types.

·    VideoNotes 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.

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

  • Students’ average submission rate
  • Students’ average number of attempts until correct

Table of Contents

1. Introduction

1.1 Computer Processing

1.2 Hardware Components

1.3 Networks

1.4 The Java Programming Language

1.5 Programming Development

1.6 Object-Oriented Programming

 

2. Data and Expressions

2.1 Character Strings

2.2 Variables and Assignment

2.3 Primitive Data Types

2.4 Expressions

2.5 Data Conversion

Software Failure: NASA Mars Climate Orbiter and Polar Lander

 

3. Using Classes and Objects

3.1 Creating Objects

3.2 The String Class

3.3 Packages

3.4 The Random Class

3.5 The Math Class

3.6 Formatting Output

3.7 Enumerated Types

3.8 Wrapper Classes

3.9 Introduction to JavaFX

3.10 Basic Shapes

3.11 Representing Colors

 

4. Writing Classes

4.1 Classes and Objects Revisited

4.2 Anatomy of a Class

4.3 Encapsulation

4.4 Anatomy of a Method

4.5 Constructors Revisited

4.6 Arcs

4.7 Images

4.8 Graphical User Interfaces

4.9 Text Fields

Software Failure: Denver Airport Baggage Handling System

 

5. Conditionals and Loops

5.1 Boolean Expressions

5.2 The If Statement

5.3 Comparing Data

5.4 The While Statement

5.5 Iterators

5.6 The ArrayList Class

5.7 Determining Event Sources

5.8 Managing Fonts

5.9 Checkboxes

5.10 Radio Buttons

Software Failure: Therac-25

 

6. More Conditionals and Loops

6.1 The Switch Statement

6.2 The Conditional Operator

6.3 The Do Statement

6.4 The For Statement

6.5 Using Loops and Conditionals with Graphics

6.6 Graphic Transformations

 

7. Object-Oriented Design

7.1 Software Development Activities

7.2 Identifying Classes and Objects

7.3. Static Class Members

7.4 Class Relationships

7.5 Interfaces

7.6 Enumerated Types Revisited

7.7 Method Design

7.8 Method Overloading

7.9 Testing

7.10 GUI Design

7.11 Key Events

Software Failure: 2003 Northeast Blackout

 

8. Arrays

8.1 Array Elements

8.2 Declaring and Using Arrays

8.3 Arrays of Objects

8.4 Command-Line Arguments

8.5 Variable Length Parameter Lists

8.6 Two-Dimensional Arrays

8.7 Polygons and Polylines

8.8 An Array of Color Objects

8.9 Choice Boxes

Software Failure: LA Air Traffic Control

 

9. Inheritance

9.1 Creating Subclasses

9.2 Overriding Methods

9.3 Class Hierarchies

9.4 Visibility

9.5 Designing for Inheritance

9.6 Inheritance in JavaFX

9.7 Color and Date Pickers

9.8 Dialog Boxes

Software Failure: Ariane 5 Flight 501

 

10. Polymorphism

10.1 Late Binding

10.2 Polymorphism via Inheritance

10.3 Polymorphism vis Interfaces

10.4 Sorting

10.5 Searching

10.6 Designing for Polymorphism

10.7 Properties

10.8 Sliders

10.9 Spinners

 

11. Exceptions

11.1 Exception Handling

11.2 Uncaught Exceptions

11.3 The Try-Catch Statement

11.4 Exception Propagation

11.5 The Exception Class Hierarchy

11.6 I/O Exceptions

11.7 Tool Tips and Disabling Controls

11.8 Scroll Panes

11.9 Split Panes and List Views

 

12. Recursion

12.1 Recursive Thinking

12.2 Recursive Programming

12.3 Using Recursion

12.4 Tiled Images

12.5 Fractals

 

13. Collections

13.1 Collections and Data Structures

13.2 Dynamic Representations

13.3 Linear Collections

13.4 Non-Linear Data Structures

13.5 The Java Collections API

 

Appendix A: Glossary

Appendix B: Number Systems

Appendix C: The Unicode Character Set

Appendix D: Java Operators

Appendix E: Java Modifiers

Appendix F: Java Coding Guidelines

Appendix G: JavaFX Layout Panes

Appendix H: JavaFX Scene Builder

Appendix I: Regular Expressions

Appendix J: Javadoc Documentation Generator

Appendix K: Java Syntax

Appendix L: Answers to Self-Review Questions

Index