After procrastinating for many years (4 to be precise), I finally sat and passed the SCJP exam. The exam itself wasn’t particularly difficult, but theres a lot of things you can get tested on that you’ll rarely use in everyday development. Having been developing in Java for around 4 years now, I’ve never needed to do any serialisation or do any fancy concurrency work other than starting a thread for an asynchrnous task.
So to iterate, theres a lot in there that you may not use, but the test expects you to know it well, so be sure to practice and write a lot of code.
Anyways, the reason for this post was to discuss some of the tactics I used to get through.
The study part
The first thing you need to do, is to get hold of the study guide and start reading through it. If you’re relatively new to Java, such as a student or someone transitioning from another background, then you can get Head First Java which will give you a fantastic intro to the Java programming language in an easy to digest read. You should be able to get through HFJ in a few weeks as it has a relatively informal style, but you should certainly allow a month or two to read the study guide, as its around 800 pages and you need to keep focus!
I can’t stress how important this is! My memory is pretty useless, I can read a book and then a month or two later I’ll have forgotten most of it. I found the best way to remember things is to practice them, so when I’ve read a chapter (or even a few pages on a specific topic) I’d start experimenting with some code. It just helps the knowledge stay in.
My advice here, just download an IDE and start writing, you can also post your code up onto Github too, it makes a great reference point, and may help others. You can also blog using your study notes, which is pretty much the main reason I setup this blog in the first place.
Resources, things to buy, free stuff
- Head First Java
- SCJP Study Guide
- SCJP Practice exam book
- A set of blank flash/record cards, these will be around £4 from your local stationary shop, use them to write important points and revise when you can spare the odd 5 minutes here and there.
- Evernote.com - Get signed up on there, its a great way to store your study notes. You can also get the mobile app to revise your notes when on a train / plane etc.
- JavaRanch.com – Post up here in the certification section any questions that you may have, very useful community
- StackOverflow.com – I used this a lot for finding answers that were not always obvious in the study guides. If your questions are well defined, you’ll get great help here
- Colleagues – Don’t underestimate your peers, if you don’t understand areas of the syllabus, chat to people!
- Whizlabs – Great testing kit, but make sure you use it. I wasn’t aware that the software expires after 1 year, so unfortunately I didn’t get to use it for my exam :(
- Enthuware – This is much better than whizlabs as it doesn’t require being online, and you get to select how many questions. Often I didn’t want to do all 60 in one go
When booking my exam, I gave myself around 3 months, considering I’d already been over the book a few times it was plenty enough to recap the important chapters and squeeze in some mock tests. If you’re sitting this for the first time, I’d suggest a preparation schedule like below, assuming you will have 8 months to prepare. Of course, if you’ve been developing for a while you can probably skip the first 2 weeks, read the study guide in a condensed amount of time, and take less practice tests.
|Week 1||Read Head First Java|
|Week 2||Read Head First Java|
|Week 3||Take a week off|
|Week 4||Study guide chapter 1|
|Week 5||Experiment with code relating to chapter, then do chapter quiz|
|Week 6||Study guide chapter 2|
|Week 7||Experiment with code relating to chapter, then do chapter quiz|
|Week 8||Study guide chapter 3|
|Week 9||Experiment with code relating to chapter, then do chapter quiz|
|Week 10||Study guide chapter 4|
|Week 11||Experiment with code relating to chapter, then do chapter quiz|
|Week 12||Study guide chapter 5|
|Week 13||Experiment with code relating to chapter, then do chapter quiz|
|Week 14||Study guide chapter 6|
|Week 15||Experiment with code relating to chapter, then do chapter quiz|
|Week 16||Study guide chapter 7|
|Week 17||Experiment with code relating to chapter, then do chapter quiz|
|Week 18||Study guide chapter 8|
|Week 19||Experiment with code relating to chapter, then do chapter quiz|
|Week 20||Study guide chapter 9|
|Week 21||Experiment with code relating to chapter, then do chapter quiz|
|Week 22||Study guide chapter 10|
|Week 23||Take a week off|
|Week 24||Whizlabs Tests|
|Week 25||Whizlabs Tests|
|Week 26||Whizlabs Tests|
|Week 27||Take a week off|
|Week 28||enthuware tests|
|Week 29||enthuware tests|
|Week 30||enthuware tests|
|Week 31||Take a week off|
|Week 32||Self assessment 1, then brush up on any key areas you really missed on|
|Week 33||Self assessment 2, then brush up on any key areas you really missed on|
|Week 34||Practice test 1 & 2|
|Week 35||Practice test 3 & 4|
Tips for the exam:
- Get there early, my train got cancelled so I was running/stressing to the exam room, which didn’t help.
- Don’t stress! Thats the worst thing you can do!
- The actual exam will say how many answers you need to select, so don’t worry about the “select all that apply” that you often see in mock tests.
- You can “strikeout” answers on the real exam, which means you can eliminate the answers you think are wrong, very useful for those questions that are a complete guess.
- You don’t get your results immediately, you have to login to Oracle Certview about an hour after completing the exam to see your score card.