The Java OCAJP7 Exam
On Friday, I passed the OCA 1Z0-803 (Oracle Certified Associate Java Programmer). I dedicated a month and a half to the exam.
I’ve been studying Java part-time for the last year, and have taken classes in core Java, Swing, JDBC and Servlets. Of course, Swing, JDBC and Servlets have nothing to do with the exam, but it’s a form of practice with Java so I mention them. Unfortunately, I was really rusty in Java, as my last term was only C++. I hadn’t written any Java in four months when I started prepping. I also had a self-imposed deadline, as this Monday coming up I’m starting a course in JSP/JSF, an advanced C++ course and have a Coursera Python course that I’ll be discussing on CodeRanch.
Resource I Used:
- Y. Daniel Liang’s Introduction to Java Programming, Comprehensive
- Mala Gupta’s OCA Java SE 7 Programmer I Certification Guide
- Enthuware OCA Prep Course
- CodeRanch Java Forums at the Big Moose Saloon
If you are coming from academia, you will probably have the same issue I did. Academia teaches you great coding convention formatted structure. The exam is anything but that. The exam will expect you to have an understanding of many scenarios that you just don’t see in academia. For example, every textbook and instructor has told me the proper entry method is public static void main(String args) . I had no idea there are many ways to write the main method that will all be treated as the entry point. The exam will expect you to know all of them, and many more topics in-depth.
When an instructor says, “This is how you do it.” why would I randomly try different ways? The exam will expect you to know those ways, plus other things you probably never saw in a university Java course (like initializer blocks, which I’m guessing my Java instructors would say are a “C” thing), or static imports.
I started with Mala’s book, and when I realized just how rusty I was, I dedicated 4 or 5 hours a day to working through the first 11 chapters of Daniel Liang’s book. That took about two weeks. I skipped his questions on geometry if they didn’t involve overriding and inheritance.
I stopped using Eclipse. To paraphrase the Bartenders and Sheriffs at CodeRanch, IDEs make you lazy. I started writing Java with a text editor and manually compiling, running via the command line. I quickly realized how much I used the IDE to spot silly mistakes that won’t be forgiven when missed on the exam.
After my Java refresher, I read through Mala’s book, trying everything I had just made assumptions about in the past. I then re-read the book again. That was about a month, 4 or 5 hours a day.
Of course, reading isn’t retained as well as doing, so I bought the Enthuware OCA Prep Course. That was key, as that made me fast and helped me become efficient at the exam format. It also helped me get use to understanding (quickly) the non-textbook style of the coding I could expect on the exam. I should have done that sooner, but only bought it on Monday. I dedicated three hours each morning to review and then another two-hour test block in the evening.
Finally, I spent hours in the forum reviewing the Beginning Java forums. There is a lot of non-textbook structured code there to try and understand, plus the opportunity to really prove I understood complex topics by rewording in my language and posting answers to questions in the forums. When I got it wrong, Sheriffs quickly pointed out the problems within my responses. I owe folks like Winston, Campbell, Roel, Jeanne, and Henry.
My Practice Test Scores
Mala’s Chapter Exams: 68%
Mala’s Final Exam: 77%
Enthuware Starter Test: 72%
Test 1: 63%
Test 2: 72%
Test 3: 76%
Test 4: 64% (no idea what the heck I was doing that day…)
Last Day Test: 76%
(I doubled up on a few days, writing one in the morning and another in the evening).
Actual Exam: 86%
So, there you go. You can get ‘er done in an accelerated format if you try, just be ready to work hard. I’m sure I could have added a few percentage points to the Actual Exam with more prep work, but you gotta play with the cards dealt to you.
Picking a Test Center
The Oracle exams are generally written at Pearson VUE Authorized Test Centers. In Vancouver, there are several centres conveniently located near downtown. I was hoping to write BCIT, but when I applied for an exam sitting, I discovered no dates were available for BCIT. Instead, I wrote at Victor College.
I’ve learned each test centre is somewhat different in how rules are applied, and what materials are given. At Victor College, I was not allowed to bring anything into the room. Everything in my pockets went into a locker. Chewing gum was also not allowed.
Exam materials provided was a laminated piece of legal size paper to write on, a hand paper towel you get in public bathrooms to erase, and an oversized dry marker. I had brought my own markers and dry eraser (as they had said it was “OK” over the phone), but was told I couldn’t use them once I arrived in person. Didn’t really matter as the tissue on the laminated paper worked pretty good.
The room itself was about 6′ x 8′ with three work stations. Desk space was enough for a keyboard and mouse side-by-side, but I had to push up the keyboard to get enough desk space to write on the laminate. May have just been chance, but the other two writing were writing unrelated exams – a Microsoft exam and some sort of medical first-aid exam. No flies, no windows, and a normal room temperature. The only inconvenience I had was the guy in the middle was kind of big and kept pushing the cardboard divider on to my desk.
I’ve heard horror stories of buzzing flies and rooms with no air conditioning at other test centres. Distractions like those are not something you need when writing! Therefore, if you are planning to write at a >Pearson VUE Authorized Test Center, I recommend you visit the centre in advance.