This week I finally took the Oracle Certified Java Professional exam (formerly SCJP) that I planned a long time ago. During the first year at Uni I figured it wouldn't hurt to get some certificates during the course of my studies. I decided SCJP would be one of them. I'm not really biased towards Java in any way, but that's the main language we were taught during my first year, and a few people told me that those Sun/Oracle certificates are actually worth something. Last month, after a couple of delays I finally managed to plan the exam for this week. The result exceeded my expectations: My score was 93%! Needless to say, I'm very happy with that.
I approached studying for the exam in a very methodical way, so I thought it would be nice to do a write up on how I prepared and what materials I used.
I used the following book for studying: SCJP Sun Certified Programmer for Java 6 Exam by Kathy Sierra and Bert Bates. Just about anyone I asked about a decent study guide recommended this book to me, and I gotta say: it's worth every penny! I've read one other book by the same authors (which I also recommend heartily!), so I was already familiar with their style. Somehow, the authors manage to make dull, theoretical stuff like Garbage Collection, sound fun and exciting. They approach every subject with lots of humor. The book is also filled with lots of practical hands-on tips for taking the exam. You quickly get an idea what to expect on the exam, and when it comes to that, you're not spared one bit. Each chapter followed by a set of example questions, and those are brutal.
If you're gearing up for the Java SE7 exam, you'd better wait for the follow up to this great book to come out.
I used the following a lot:
- The official Oracle Java API docs: It helps you a lot to look up methods you come across while studying, to find out what exceptions they throw, if any, what arguments they take etc.
- http://www.coderanch.com/forums If you have any question about Java, no matter how strange, difficult and outlandish, these people can answer them. And as an added bonus, Bert Bates is a forum-regular, so it's great to be able to learn from one of the authors of the book.
- The Enthuware forums: You might be wondering what this "Enthuware" is, exactly, but we'll get to that later. The forums are full of good info on the exam, and Java in general.
Enthuware Mock exams
I told you, we'd get there right? At some point I decided that reading and learning from the book, and making the questions from the book, wasn't enough preparation. I needed some "fake" exams to practice. Looking around at Coderanch, I saw a lot of recommendations for the Enthuware mock exams. Well, those recommendations were spot on! I must say, those were 20 bucks very well spent! Basically, what you get is cross-platform software that emulates the exam-software at the Pearson VUE institute where you'll be taking the real exam. Together with that you get a question bank with as much as 13 practice exams and a series of questions for each exam objective. The questions are tuned to be a bit harder than "the real thing", but that's actually great to toughen you up. The software also has a built-in chat client so you can ask questions from the good people of Enthuware.
Expect to be using this program a lot, if you want to prepare decently!
These are the steps I took to ensure a good passing rate for the exam:
- I read the book cover to cover. I read chapter 1 and 2 twice, because I had a "false start". This actually helped a lot because those chapters contain fundamental stuff that's imperative to understand in order to fully comprehend the later chapters.
- After reading and learning each chapter, I took some time making the practice questions for that chapter, and reviewing them. The reviewing part is especially important!
- I made an overview in Excel detailing what exam objectives are covered in what chapters. Because I made it, you don't have to! I actually kept score of everything I did, including the practice questions in the book. It gives you a nice overview of your progress.
- Now it was time to use the Enthuware software: I made all of the "Objective-wise tests". Every Objective Test contains 36 questions about one broad exam objective. Before making each test, I carefully read the chapter summaries of the chapters dealing with those objectives. Enthuware took great pains in explaining the right and wrong answers to each question, so it's really valuable to review each test thoroughly!
- Then I started making the Standard Tests 1 - 12, each time reviewing the answers before going on to the next test. These tests are actually very very close to the real exam. They contain the same amount of questions, with those being a bit more difficult than the real exam. Expect each exam including reviewing afterwards, to take at least 2 hours.
- Lastly I read all of the chapter summaries again and then I made the Last-Day test. The last-day test contains slightly more questions (72), and those questions are not only unique, but are also selected by Enthuware as being "The most important questions".
- The Exam!
In the Excel sheet I linked to earlier you can see my scores for each set of questions, both from the book and from the Enthuware exams. As you can see, there is a definite progress in my scores, going from around 70% on the book-questions, to an average of 80% on the Enthuware exams, resulting in a 93% score for the real exam!
I really hope this post is useful for people taking the OCJP exam. I have to put out a warning though: if you plan on taking the exam, it's best to do it sooner than later, because Oracle is revising the certification path for Java 7. The previous Oracle Certified Java Associate exam is not optional anymore, so you'll have to pay twice as much for the OCJP certificate!