I have been using Java for about 14 years now so I already had a working knowledge of the language. Notice I said “using Java”. I also use a cell phone on a regular basis. But there’s a lot I don’t need to know about a cell phone in order to use the device. I soon found out that just having an understanding of how to use Java was not nearly enough to carry me through OCAJP certification.
You guys want reference. Here are the essentials. Observations to follow.
OCA Java SE 7 Programmer I Certification Guide, Prepare for the 1Z0-803 exam, by Mala Gupta
OCA/OCP Java SE 7 Programmer I & II Study Guide (Exams 1Z0-803 & 1Z0-804) (Certification Press), by Kathy Sierra and Bert Bates.
Enthuware Mock Exams
Enthuware Mock Exams:
2014-10-24: Starter Test 74% (But WAY over on time – like by 30 minutes)2014-10-26: Test 1 64% (41 minutes over on time. That’s right. 2:41 total)2014-10-29: Test 2 63%2014-11-03: Test 3 70%2014-11-06: Test 4 71%2014-11-10: Test 5 71%2014-11-11: Last Day Test (Unique) 69%
K&B CD-ROM Exams:
2014-11-10: OCA Exam 1 72% (Time: 2:19)
2014-11-13: Actual Exam: 80% (with one un-answered question … more below)
Lessons Learned and Tips:
I am a habitual starter of Java certification and perpetual procrastinator of doing so. I own study guides for every major Java version starting at JDK 1.3. I have never made it more than about 3 or 4 weeks before abandoning the process to focus on something new. But when my employer started requiring new college grads to be certified I knew it was time to get it done. I finally earned one certification. Here are some things I learned along the way.
1. Time commitment:
I had completely underestimated the amount of time and commitment this exam was going to require. I think for someone who has a foundational understanding of Java three months is doable for this exam. In the last four weeks you need to be prepared to put at least 20 hours a week toward studying.
2. Pace of study:
I am certain everyone learns differently and has a difference capacity for remembering details, but I found that going slow and steady is not the best way to learn for me personally. I had initially started by reading one chapter a week from Mala’s book and then taking the end of chapter test. This was great until I got to the end of the book and had forgotten everything I learned in the first half. If you are serious about exam preparation find a pace that feels just about unbearable and then back down one notch.
3. Study Groups:
My old procrastination habits started taking over so I formed a small study group at work. This was incredibly helpful. I was held accountable for completing a chapter by a certain time. After a short while it became routine. And there was always someone else to share the experience with and to talk over concepts in the book.
As I mentioned, I was unable to retain all the details I needed after one read through of Mala’s book. Shortly after I finished Mala’s book, and was reading it for the second time, Kathy and Bert’s book showed up at my door. I had it on Amazon pre-order. Initially I used it for reference, but soon figured out that I had better read all of the first six chapters. I managed that in about two weeks since I had amped my pace to the point of agony. Eventually I read both books twice. The second time through goes much faster.
5. Chuck and Chew:
My wife is a teacher. She taught me this phrase. It refers to giving your brain time to absorb what you just read. It is not enough to just read from the page. Your brain needs to process that information and give it context so it becomes relevant to you. You will see experienced ranchers say time and time again how important it is to cast aside the IDE and start writing small programs in your favorite text editor. This is very valuable “chew” time. Every time I reviewed a concept I would do one of two things. 1) Take notes on flashcards. 2) Write a small test program. I didn’t always have my laptop nearby so taking notes was chew time for me.
6. Don’t get stuck - Post to Code Ranch:
There were more than a few times I spent two or three hours struggling to understand something. This is an incredible waste of time. I came to Code Ranch soon after receiving my Kathy and Bert book. It was around this time I started to wake up to the fact that this was going to require a lot more dedication to get through the exam that I had initially thought. After getting such great help here I would not waste any more time pondering. I posted my questions and learned a lot in doing so. I would also browse the forums to read through other questions which very useful.
7. Practice with Mock Exams:
These are an absolute must for exam preparation. There are several points I would like to elaborate on regarding the mock exams.
There is simply no reason to NOT use Enthuware in preparation for the exam. The exams are affordable and a very high quality. You get an ample number of unique test questions and full length exams. There is absolutely no question that Enthuware exams are a must for anyone that is preparing for Java certification. However, I don’t think I could have made it through exam preparation without the books in conjunction with Enthuware. The exam question explanations are hit and miss. Sometimes they are great. Other times they are a bit tough to understand. Enthuware’s value is in testing and reviewing. Not in teaching.
7.b. Time Management:
After taking my first full length mock exam I wanted to crawl under a rock. I seriously doubted at that point that I would ever be able to learn enough of this material and know it well enough to pass the certification. The whole notion of this being a timed test was now a major factor to contend with. Fortunately, Kathy and Bert give great advice on testing technique that optimizes your use of time during the exam. Those two pages in that giant book are like gold. If I had not read that I don’t know if I would have ever passed this exam. In fact, time ran out for me while the real exam. I did not have ANY time to review. Time management was a major factor me and the mock exams prepared me well for the actual exam. I plan to work on this to get faster for the OCPJP Exam.
7.c. When to start mock tests:
I would recommend starting mock exams after you have read all of the material covered by the actual certicification exam. Once you burn a test question it loses its value in being able to accurately reflect your knowledge. I had read all of, and reviewed half of, Mala’s book before taking a mock test. Then I went into a cycle of Read -> Review -> Test -> Evaluate Results -> Repeat. I would focus my review on areas I missed in the exam. The test review process would range between four and six hours for me.
7.d. TAKE the Enthuware last day test:
It just happened that the last day test had a couple questions that matched almost exactly to a couple of questions I faced on the actual exam. I’m sure this was coincidence for me, but it really helped. Thanks Enthuware!
7e. Test Content vs Book Content:
You will hear that mock tests are harder than actual exams. You will find content in the mock exams that were not covered in the books or were covered in far less detail. Trust the mock exam. I do not recall (I have not verified this) seeing Class.getClass() behavior mentioned in either of the books I used for studying. I had one or two questions on the actual exam that tested this knowledge. It was covered in mock exams. Also, the books downplay the importance of wrapper classes such as Integer. I would say the mock exams treat them with proper respect.
7.f. Are mock exams harder than the real exam?
I cannot say either way with absolute certainty. There are too many variables to be certain about it. The fact that the real exam question banks change regularly, and that Oracle throws out a certain number of questions (20?) before grading, would make it difficult to determine if this was the case across the board. I can tell you there will be very challenging questions on the real exam. I definitely scored better on the real exam but and that seems to be the case for the majority of those who have posted their experiences here. But I would not rely too heavily on that always being the case.
8. Pre-Exam Review:
The morning of my exam I reviewed by reading the end of chapter summaries from each book. This probably took about 1.5 to 2 hours tops. I was nervous and scatter brained so it took longer than usual, but it was incredibly helpful. You are trying to keep so many details alive in your brain. Doing this review kind of brings everything back up to the surface and gives you a chance to consider each concept in a short period of time. I did not do this before taking mock exams and I wonder if I would have scored better on those if I had.
9. Wrong Answers:
There are a lot of ways to get a question wrong. Even when you know what is being tested in a question it is very easy to miss it. I really struggled with this. Losing focus is the biggest factor and it can happen for a number of reasons: Lack of sleep (which you will have), having a bad day (frustrations), illness, and interruptions name a few. Here a just a few of the things I wrote down when I missed a question for the same reason more than once:
9.a. Trace the code to completion every time. More than once I stopped early when I thought I had the answer only to notice that finally block staring me in the face during review.
9.b. Always look carefully at the Boolean condition in a loop and keep in mind how it may change during execution. Sometimes that loop will never even execute and you can spend precious minutes calculating counters if you miss the condition part.
9.c. When evaluating Boolean expressions get used to saying out loud (during practice) what they evaluate to such as "if true and false" instead of "if 3 < 4 and 4 > 3 ...
9.d. Diagram which objects are related to which instance variables. A variable name with a line to a circle is usually enough. Sometimes you can write instance variables in the circle and their values as well. This will be helpful those questions that ask about garbage collection, how many objects were created, methods that change object state, etc. I got into the habit of doing this and it helped a lot. But it does take time so if you can do it all in your head more power to you. I could not.
9.e. If you have to guess, always mark the question for review. Also, and I found myself doing this repeatedly, don’t choose an answer you think might be wrong just because you don’t understand the other options available (duh).
10. When are you ready?
At some point you are going to be completely burned out on exam preparation. You will want all of this to be over so you can get back to a normal life. If your mock scores are not going well (low 60s or less) then do not be tempted into taking the exam early. I saw a few colleagues fall into this trap and you just end up prolonging the process and making it more expensive. I had a deadline and I had to take the test when I did. With my mock exams coming in around 70% I was not very confident going into the exam. This lead to more anxiety. I scoured the forums to find someone else who passed with mock scores as low as mine. I had a goal of getting to 80% before taking the exam. I was working very hard but my scores were not coming up. This was incredibly frustrating. I began to wonder if I was capable of better scores. I finally reached a tipping point with the deadline fast approaching and the fact that my scores were not getting better. I decided to write the exam and hope for the best.
I hope this helps someone else when preparing for the exam.