Objects First with Java: A Practical Introduction Using BlueJ, 6th edition

Published by Pearson (May 2, 2016) © 2017

  • David J. Barnes University of Kent
  • Michael Kolling University of Kent

eTextbook

per month

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

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

A Modern Approach to Functional Programming

Objects First with Java: A Practical Introduction is an introduction to object-oriented programming for beginners. The main focus of the book is general object-oriented and programming concepts from a software engineering perspective.

The first chapters are written for students with no programming experience with later chapters being more suitable for advanced or professional programmers. The Java programming language and BlueJ–the Java development environment – are the two tools used throughout the book. BlueJ's clear visualization of classes and objects means that students can immediately appreciate the differences between them and gain a much better understanding of the nature of an object than they would from simply reading source code. Unlike traditional textbooks, the chapters are not ordered by language features but by software development concepts.

The Sixth Edition goes beyond just adding the new language constructs of Java 8. The book’s exploration of this new language demonstrates a renaissance of functional ideas in modern programming. While functional programming isn’t new in principle, it’s seen a boost in popularity based on the current computer hardware available and the changing nature of projects programmers wish to tackle. Functional language constructs make it possible to efficiently automate currency, make use of multiple cores without much effort on the side of the programmer, are both more elegant and readable, and offer great potential in solving the issue of parallel hardware. Functional programming has become an essential part of the field, and Objects First with Java gives students a basic understanding of an area they’ll need to master in order to succeed in the future.

Objects First with Java: A Practical Introduction provides the following features to facilitate learning

NEW! Introduces Java 8 in functional programming, the fastest adopted new Java language ever.

  • NEW! The functional approach is integrated with previous editions’ “old-style” techniques, emphasizing that functional constructs are most prominent when working with collections of objects using the traditional approach of loops and explicit iteration, and reinforcing the importance of mastering both.
  • NEW! Functionally oriented material is presented at strategic points throughout the text where it can relate to problems addressed by specific constructs.
  • Java was chosen for both its popularity, its ease as an introductory teaching language, and its clean implementation of most important object-oriented concepts. There is also tons of good quality support material on Java available to students.
  • Java language details are only covered in enough depth to place the focus on object-oriented programming.

UPDATED! Flexible organization makes the book adaptable for different course lengths and levels

  • The text can be read in sequence, covering the full scope of material, or by skipping advanced sections, enabling  the reader to gain a solid understanding of object orientation.
  • NEW! Chapters and sections covering new material are clearly marked as “advanced”, and structured in a manner that they can be safely skipped upon first reading.
  • Chapters progress with increasing complexity. While the first few chapters are written for students with no programming experience, later chapters are suitable for more advanced or professional programmers. Programmers who wish to learn object orientation will benefit from the text as well.

Completely integrated use of the BlueJ Java development environment

  • BlueJ is currently being developed and maintained by the Computing Education Research Group at the University of Kent in Canterbury, explicitly as an environment for teaching introductory object-oriented programming. It is better suited to introductory teaching because of its:
    • Simple interface. Beginner students can typically use the BlueJ environment 20 minutes after instruction.
    • Support of Important Teaching Tools, including visualization of class structure.
    • User Ability to directly create objects of any class and then to interact with their methods offers direct experimentation with projects.
    • “Objects First” Approach, which textbook writers have been desiring for many years.

Iterative style and a project-driven approach

  • Repeated important topics, both within and across chapters, allow students to gradually build a more advanced understanding of difficult concepts throughout.
  • Discussion of numerous programming projects and exercises are approached by first presenting a goal and a problem. Students analyze the problem to determine its solution, and language constructs are introduced as necessary solutions.
  • Projects are designed as open-ended problems so that further extensions and improvements can be made as the student progresses.

Pedagogical features enhance student learning

  • Hooks are pointers, often in the form of questions that raise a topic and give references to an appendix or outside material. They allow the reader to choose to explore the topic in further detail.
  • Chapter Questions suggest discussion material related to the topic but not discussed in the book.
  • At least two discussion examples in each chapter are projects discussed in detail to illustrate the important concepts of each chapter through an iterative approach. Each concept is revisited in a different context after it is introduced.
  • Example projects illustrate the different variety of contexts in which concepts can be applied.
  • Chapter Headings are general as to reflect the book’s unique structure along fundamental software development tasks, rather than particular Java language constructs.

Content Updates

  • NEW! Chapter 5 presents the first advanced section (a section that can be skipped if time is short) and introduces functional programming constructs. The functional constructs present an alternative to the imperative collection processing discussed in Chapter 4. The same problems can be solved without these techniques, but functional constructs open some more elegant ways to achieve our goals. This chapter gives an introduction to the functional approach in general, and introduces a few of Java’s language constructs.
  • NEW! Chapter 7 concentrates on one specific – but very special – type of collection: arrays. Arrays processing and the associated types of loops are discussed in detail.

Introduces Java 8 in functional programming, the fastest adopted new Java language ever.

  • The functional approach is integrated with previous editions’ “old-style” techniques, emphasizing that functional constructs are most prominent when working with collections of objects using the traditional approach of loops and explicit iteration, and reinforcing the importance of mastering both.
  • Functionally oriented material is presented at strategic points throughout the text where it can relate to problems addressed by specific constructs.

UPDATED! Flexible organization makes the book adaptable for different course lengths and levels

  • Chapters and sections covering new material are clearly marked as “advanced”, and structured in a manner that they can be safely skipped upon first reading.

Content Updates

  • Chapter 5 presents the first advanced section (a section that can be skipped if time is short) and introduces functional programming constructs. The functional constructs present an alternative to the imperative collection processing discussed in Chapter 4. The same problems can be solved without these techniques, but functional constructs open some more elegant ways to achieve our goals. This chapter gives an introduction to the functional approach in general, and introduces a few of Java’s language constructs.
  • Chapter 7 concentrates on one specific – but very special – type of collection: arrays. Arrays processing and the associated types of loops are discussed in detail.

Brief Contents

Part 1: Foundations of object orientation

  1. Objects and classes
  2. Understanding class definitions
  3. Object interaction
  4. Grouping objects
  5. Functional Processing of Collections (Advanced)
  6. More-sophisticated behavior
  7. Fixed-size collections – arrays
  8. Designing classes
  9. Well-behaved objects

Part 2: Application structures

  1. Improving structure with inheritance
  2. More about inheritance
  3. Further abstraction techniques
  4. Building graphical user interfaces
  5. Handling errors
  6. Designing applications
  7. A case study

Appendices

  1. Working with a BlueJ project
  2. Java data types
  3. Operators
  4. Java control structures
  5. Running Java without BlueJ
  6. Using the debugger
  7. Unit unit-testing tools
  8. Teamwork tools
  9. Javadoc
  10. Program style guide
  11. Important library classes

Need help? Get in touch

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.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.