<pre>Author/s : Alain Trottier Publisher : Que Publishing Category :Java Certification Review by : Andrew Monkhouse Rating : 6 horseshoes</pre> This is potentially a good book for SCJD candidates, however it fails in a number of key areas. The major problem is that this book was published in September 2003, however it is written for an assignment that Sun have not issued to candidates since April 2003. This means that the book does not touch on two important aspects of the newer assignments (raw file I/O and executable jar files), plus some of the suggestions in the book are explicitly disallowed in the newer assignments. There are also a number of problems with the sample code provided in the book. In particular the locking code is faulty (worth 20% in the assignment), the server code does not match the requirements of the locking code, and the example of thread safe code isn't thread safe. Also, although sockets were described in detail as being one of two ways of meeting the assignment requirements, object serialization over sockets (required if you use sockets in the assignment) was not described. Hopefully these will be fixed in the errata, however at the time of review there was no errata page, and the author was unaware of these issues when I raised them with him. On the positive side, the author provides information on areas where candidates often go beyond the specifications, although making it clear that such work is unnecessary. Also the author provides a good introduction to the ancillary work developers must do - the application analysis and design.
I have just completed my SCJD today and am awaiting for my results. The only book I have for SCJD is Alain Trottier's Book Java 2 Developer. My sentiments on this book is along the same line with the previous review. It is interesting to say that I came to JavaRanch through reading this book. The author said he has read through thousands of messages in JavaRanch. As I involved myself in the ranch, I found the ranch indispensable and the book dispensable. It is encouraging to see the author of another SCJD certification book present often at the ranch to answer questions from his reader. Of course, there is absolutely no obligation on Alain's part to be present to answer the questions by his readers regarding his book. Regarding the book per se. The main drawback is that the information given is not up to date. My copy has 2004 copyright but the information seem back to late 2002 and early 2003. As an example of outdated information, a few candidates in the Ranch reported their surprise of not finding any code to modify from their assignments after reading this book. I am no design pattern expert but according to the discussion of this thread. the author seem to have confused the Decorator pattern with the Proxy pattern. One of the reasons why I buy this book is because of the NIO classes I seem in its table of contents. when I actually read the chapter, there is no mention of classes belonging to nio package, the APIs used in socket networking of that chapter are here since JDK 1.2! I am very disappointed with such technical inaccuracies. As the book is part of Exam Cram series, information which are not essential to the assignment should be omitted. This should help the candidate to save time and to focus on the assignment. As such topics like JDBC/SQL, Application Analysis and Design, UML should be done away with. Instead, the pages should be filled some practical examples like * how to resize a JTable column. * how to sort a JTable. * how to use Javadoc command to include package level documentation. * online help browser with hyperlinks navigation. (Not the crippled one given in the book without hyperlinks) * read and writing to properties files, etc The chapter on Exception Handling is weak. As this is one of the important topic in the certification, it will be helpful for the author to provide best practices on Exception Handling instead of explaining the concepts of Exceptions. It would be reasonable to assume that the readers would know about exceptions since they all have passed SCJP. This book is bias against Socket implementation. It flavours RMI and in the Essay Exam chapter, there is no answer given for Socket implementation. Unfortunately, I chose Socket implementation over RMI. I like the chapter on The Essay Exam. It is the strength of this book. I think every angle is covered if you chose RMI. You can find the chapter online at this link. The chapters on GUI and Swing components are also well written. I hope I have been fair to the author and to the readers. My two cents. [ January 27, 2004: Message edited by: Frankie Cha ]