The book is clearly aimed at undergraduate first-year students and it does sort of look like a book that is bought within two weeks of starting a new course at college. The cover is designed with a navy blue overall-covered cartoon mouse yelling furiously at a very bemused elephant, of which all that is illustrated by the artist is its trunk. Unfortunately this great artist is not named anywhere in the book, but if the cover is designed to attract students, then they will not feel at all let down by picking up this tome. It is a book that they [the students] will certainly use throughout the year. I suspect that Bruce Eckel's Thinking in Java would be the one book for a masters course, because that one deals with learning Java programming in great detail. Java for students on the other hand assumes that you have no prior experience of computer programming at all.
Considering the aim of the book to teach computer programming from first principles (in the Java language), it certainly looks like a tall order to do in even 554 pages. The first chapter in fact begins with most obvious interest; the Internet and the World Wide Web. Exactly what is and what makes a program is then described and this is followed by Object Oriented Programming. The first 45 years of bread and butter software engineering principles explained in 10 pages.
The fun part of the book is the interactivity. Learn a little and then immediately try it out. You see the results rather quickly and are rather pleased at what you have learnt what to do. The pace of the book is right on point, not too much and not too little.
It is possible lecturers may be surprised by the order of the chapters themes as they appear in the book. For example chapter three begins with graphics, chapter four introduces variables declaration and assignments and chapter five introduces the first engineering abstraction: methods and parameter. The theme of Chapter six is, however, event driven programming, where more of the complex AWT is obviously introduced. Only at chapter nine do we meet our first real understanding of objects and classes. Chapter ten concentrates on more user interface techniques. The book scores a big win with its description of the model, view, controller architecture. This will certainly aid advanced students who go on to learn the Java Foundation Classes. After this intermission more OOP is introduced, in particular the idea of object class inheritance and class hierarchy.
The rest of the book is devoted to advanced topics such as string manipulation and the source code for the book examples is available online.
Java for Students is a good for first time programmers on a computing related degree course. There are a few oversights in the book that need to filled in by a good teacher. Some of Java's bells and whistles cannot be simply fast-forwarded and avoided. Therefore the book would suit a teacher who going to use the book over a long period of time as the course yearbook. I see no problem with this as long as it supplemented with another reference book such as O'Reilly's Java In A Nutshell . However there are plenty of descriptions on good object oriented programming design. It looks destined to be known the book with the angry mouse in blue overalls on the cover.