I took the SCWCD exam today and I thought I'd share how I prepared and some thoughts about the exam.
I passed with score of 94% (65 of 69). As some people have reported previously, there were actually 70 questions on the exam and one (I don't know which) was not counted towards my score. Apparently Sun has a pool of potential new questions and occasionally inserts them into the current exam.
To prepare I read HFSJ 4 times over 2 months and supplemented it with the JSP, JSTL and servlet specs.
I don't think it's necessary to read the specs beginning-to-end to pass the exam, but they should be used to expand on or clarify the content in HFSJ. I needed more information on some topics (stuff like dynamic attributes and some of the less common standard actions) in order to put what I was reading into context. (No pun intended!)
When I missed a question on the chapter mock exams, if the side notes didn't completely explain why each option was correct/incorrect, I used the specs to clarify.
On the exam, I had a couple of questions that mentioned topics that were not covered completely in HFSJ. (i.e., the variable directive.) But I think I answered them correctly through a process of elimination.
Before I purchased HFSJ, I read SCWCD Exam Study Guide 2nd Ed by Deshmukh, et al. I found Deshmukh's book to be a bit dry compared to HFSJ. It didn't go deep enough on some material (EL) and too deep on other material (the XML version of JSP pages.) I prefer HFSJ because it explains the material more clearly and simply and it was more engaging.
I did the examples and exercises to help me digest what I was reading.
For me, opening my IDE and doing the examples and exercises was a big part of bringing this massive amount of information together in my mind.
If several people are studying for the same exam, forming a study group is a great way to challenge and help each other.
Several of us at my place of work are starting a Java study group. Most of the group doesn't have the SCJP certification yet so everyone is purchasing Kathy and Bert's SCJP study guide (http://www.amazon.com/gp/product/0072253606). We'll read a chapter and then meet to discuss the material. I think it's going to improve many people's programming skills even if they don't ultimately choose to take the SCJP exam.
As recommended in HFSJ, I didn't take the HFSJ mock exam until I felt I was ready for the real exam.
That way I didn't have any memory of the answers and it was a better indicator of whether I was really ready.
I scored 78% on the mock exam so the +20% rule-of-thumb seems to be pretty accurate. In my case, I scored 16% better on the real exam.
During the exam, I had to force myself to slow down, read and re-read the question.
One of my biggest problems while taking the mock exams was not slowly reading the question text and code fragments. I would see what I expected to see and not what was actually on the page. This would cause me to miss something important and then I would get the wrong answer.
On the real exam, there was no need to be rushed because there was plenty of time to complete the test. 135 minutes for 70 questions is about 2 minutes per question and most didn't take that long. I had more than enough time to go through the questions twice.
My only complaint about the exam format is that you can't review a question that has a task (like drag-and-drop) without resetting your answer.
It's not that big of a deal but it kept me from reviewing some of the questions during my second pass through the exam.
A big thanks to everyone who participates in this forum. Your posts gave me insight and confidence that I was ready.
Good luck! [ March 23, 2006: Message edited by: Scott Johnson ]
Congratulations. Very good score. Thanks a lot for the tips. and regarding the following point, I face the same problem and should make sure it won't happen in the real exam.
"One of my biggest problems while taking the mock exams was not slowly reading the question text and code fragments. I would see what I expected to see and not what was actually on the page. This would cause me to miss something important and then I would get the wrong answer"