The Object of Java fully embraces the object-oriented paradigm by taking an objects-centric approach to presenting problem solving and programming. Readers begin with four complete chapters focusing on objects, classes and methods. The presentation of primitive data occurs in Chapter 5, ensuring the necessary prior exposure to object declaration, object instantiation, assignment, method calling, parameter passage, class diagrams and object diagrams. The topics of aggregation and inheritance occur earlier than in many other CS1 books. In order to accommodate this placement of topics, control structures are covered later than in other books. Through many semesters of class-testing this objects-centric approach, students have developed a high degree of competence with both object-oriented features and the "classic" language features such as numeric expressions and control structures.
This book focuses on the skills and disciplines of software engineering that are needed for good programming. Since specifications are critical for conveying code behavior in the object-oriented model, discussions of method preconditions and postconditions, and class invariants are used consistently to document examples and to define example classes. The Unified Modeling Language is used extensively as the specification language. The book also uses the notion of patterns to identify numerous expressions, instructions, algorithms and designs that serve to pattern program segments.
This BlueJ version integrates the use of BlueJ throughout the presentation. Explanation of BlueJ facilities for programming, testing and debugging are included along with these topical discussions. An appendix that demonstrates key BlueJ features is also included.
Features + Benefits
- Integrates the use of BlueJ throughout the book.
- Presents Java by using "objects throughout" to get students immersed in an object-oriented mindset.
- Emphasizes the Software Engineering skills necessary to be a good programmer.
- Software Engineering Hint boxes offer a collection of software developer "best practices" such as how to format a language construct for good programming style, or the way that good programmers approach a common design problem.
- Instills the importance of specification by making extensive use of preconditions and postconditions.
- Uses the Unified Modeling Language (UML) for all diagramming notation. Using UML diagrams expose students to the same notations that have now become standard in the software development industry.
- Highlights commonly used patterns in many expressions, instructions, algorithms, and designs inside rectangles so that the reader may become familiar with a commonly-required solution and learn how and when it is applicable.
- Features the importance of testing by devoting special sections to ensure that readers develop basic debugging skills, and knowledge of simple path testing and black-box testing.
- The Java Inspector boxes in each chapter provide practical "how to" ideas of what to check, review, and walk-through before completing a program and also serve as a review of important material from the chapter.