I took the exam yesterday after studying for 3 months. I found the following to be the most helpful :
1. Mughal "A programmer's Guide to Java Certification". Chapters 1-14 & 18. I read these chapters twice, answered the chapter questions, did the exercises for I/O and Threads and did the exam at the back of the book. The book has an academic style with precise English and clear instructive examples. If you are going to buy it make sure you get the latest version by checking the publisher's site (www.awl.com/cseng) as my version of the book required over 30 pages of errata ( http://www.ii.uib.no/~khalid/pgjc/jcbook/
).If I were only allowed one resource, Mughal would be it.
2. Writing, compiling and running code using JDK with TextPad. I got these from the CD that comes with "Core JAVA 2" volume 1 or 2, however they are also available by downloading. The books are average (I only read half of volume 1) but worth the cost to get the CD as downloading JDK can take hours. Setting the TextPad "run" menu to JavaC enables you to run the compiler directly from TextPad.
3. JQPlus sample 1-9, the "Very Tough Test" and a customized test consisting of all (VE,E,T,VT &RB) IO and threads. JQ+ have copied many of the questions without any changes straight from the free Mughal exam engine. It is still worth the $20 for the improved interface and excellent explanations (also the Mughal exam engine just gives an exam % - i.e. it does not tell you which questions you got wrong/right).
4. The Java API http://java.sun.com/products/jdk/1.2/docs/api/index.html.
I used this to verify important classes such as Math, String StringBuffer, Object, File, Thread and interfaces Runnable and DataInput/Output.
5. Velmurugan's excellent study notes (firstname.lastname@example.org). Thanks again!
I checked the "exam results" board regularly which kept me motivated. Also the round-up is the only mock with a sense of humour!
I finished the exam with only 12 minutes to spare and used this time to review questions that I had marked. There were many questions with code (which you can view using the Exhibit button) but few, if any, had more than 15 lines. Only one question required me to enter text (this was related to the contents of a String/ StringBuffer). The I/O and Thread were well covered by Mughal and JQ+. Understanding thread synchronization is important.
There are some questions that are definitely meant to mislead i.e. the exhibit looks like a complicated scenario but actually is about overriding/overloading or even access modifiers.
I read each word of the code before looking at the possible answers. There was a lot more questions on inner classes than I expected.
Other Mocks I found useful:
- JTips1 & 2. For difficult questions on the fundamentals.
- MG1 & MG2.
Mocks to avoid:
- MG3 has a lot of problems which I've told Marcus about.
- JXAM has some incorrect questions/answers
- JCertify - the exhibit code has to be viewed thru a 7 line textarea. This quickly became unusable.
- JavaCaps and the Mughal exam engine - do not tell you which questions you got right/wrong, just an overall score.
I also bought Exam Cram but found Velmurugan's study notes and my own notes written from Mughal/JQ+ more useful. The Cram Sheet is more of a gimmick than a useful pre-exam reminder ( it does not include threads or IO which you are guaranteed about 12-15 questions on). I read the alerts and tips in the week prior to the exam. Also it has a list of 11 "words reserved not currently in use" of which only 2 are correct!
The bottom line is, when you don't understand something or get a mock exam question wrong, write it down. Then write code to test these points. Its also very instructive to copy the code from JTips exam questions and paste it into a .java file in Textpad where it can be compiled.