I always thought of BlueJ as a nasty necessity of my course work. Since then I have discovered Version 4.x. Then coupled with this book I find BlueJ to be a really useful tool.
The book has clear and precisely targeted chapters that run you through object orientated programming with BlueJ. You will have a small conversation to say Eclipse or Netbeans, however, this book really made me appreciate the power of BlueJ. It readable, it's in a compact form that packs so much in a smallish form factor, easy to travel with. Barnes & Kollig make a good addition to any student's collection. However, I would advise the student to use this book before the course work starts. The diagrams and project based work really helped me prepare for the actual course work, the goals of which were to teach the fundamentals of OOB.
Worth every penny..Paul C
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.