uCertify SCJP 5.0 PrepKit

Introduction

uCertify is a provider of computer-based training (CBT) software that covers the gambit of professional computer certifications. In December ’07 they contacted me to ask if I would review their products and I agreed. I mentor a number of individuals along their programming careers and in particular people that are interested in learning Java to use for their jobs. One obvious way to improve your chances of being noticed when applying for jobs or even when you’re looking for that next promotion or pay raise is to demonstrate your knowledge in your field by being certified in a particular area of expertise. It is definitely not always the most important thing to see on a resume, but it certainly demonstrates a solid underpinning of the fundamentals. I undertook this review with an eye towards finding out if this product is one that I would recommend to my friends and professional associates as a way to improve their knowledge of Java 5 and to be prepared for Sun’s certification test (the Sun Certified Java Programmer or SCJP exam).

Update: uCertify wrote me to let me know that readers of this review can apply for a 10% discount on the PrepKit of their choice. The code to enter is MICAND

Contents

Overview (top)

This review is of the uCertify SCX310-055 PrepKit. This is the course and test you would take if you were interested in being certified in Sun’s programmer level Java 5 certification, known as a Sun Certified Java Programmer (SCJP). Java 6 is the current version for Sun’s certification, but 5 is probably the most commonly targeted platform today. I believe that it’s safe to say that if you have the Java 5 stuff down, moving to Java 6 is little more than a footnote (1).

I will say for the record that I am not a SCJP, though I have taken the official Sun course for it. There’s no particular reason that I never took the test beyond the fact that I’ve never felt the need to. I have taken Sun’s online practice test, so I do have some familiarity with how the real thing works. I’ve also lived and breathed Java from Java 2 version 1.3 up through current versions, so I’m incredibly familiar with the nuances of the language. I work professionally as a Java Enterprise Application developer and designer, and of course I publish various Java command-line and Swing/GUI applications here.

The last thing that I’ll say regarding this review is that uCertify was kind enough to provide me with an evaluation key so I could explore all the features of the software. They have not compensated me in any way, and I’ll try my best to come up with an unbiased review of the software. Enough about me, now, let’s get on with the PrepKit.

Installation (top)

The PrepKit installation is a simple download from the uCertify website ( http://www.ucertify.com/ ). The website itself is straight-forward enough and easy to navigate. Something that I thought was a great feature of the site (not that I’m reviewing the site…) was that there was a contact phone number featured prominently across the top. So many online retailers seem to want to discourage having any actual contact with their customers, so it’s refreshing to know that if I had a problem or needed help that a presumably real person was a phone call away.

The PrepKits come as software download that provide a free evaluation version. Clicking on the download link for the product I wanted to try (again the CX310-055 preparation software) was completely free of nonsense like providing emails, phone numbers or other private information that many of us are unwilling to give away. The download dialog immediately opened, which again I appreciated for simplicity, but I was a bit concerned that I didn’t get to select the version I wished to download. Then it dawned on me that I do not, in fact, live in a little Utopian world where I can run whatever software I want on whatever operating system I want. The filename of “SCX310-055.exe” reminded me immediately that everybody assumes Windows.

Now, this was a bit of a problem for me personally (as I type this on my Intel Mac), but I’m not really going to hold this against the software. It does mention in the system requirements that Windows 98 or better and IE 5.5 or better are required, but mind you, this is after the download dialog has already opened, so it did catch me off guard. I guess I had assumed that even though uCertify offers PrepKits for Microsoft certifications and others, that the Java PrepKits would be able to run on any platform where people commonly develop for Java, including Windows, but also Mac OS X and Linux. Checking other product offerings, including the “Linux+” certification, I see that these too are Windows-only PrepKits. That amuses me more than anything, but just keep it in mind if you’re tied to a particular platform not to expect to be able to run the software on anything but Windows.

To get around this problem on my Mac, I’m running the software on a Windows 2000 virtual machine using Parallels 3. I’m pleased to say that once I had downloaded the installer within Windows the install was again hassle-free and proceeded without much intervention from me.

Evaluation version (top)

I wanted to look first at the evaluation version before I applied the key. It’s nice to know whether or not the free portion of the download is sufficient to judge whether or not the product is helpful or even applicable to your needs.

Running the evaluation version brings up something that appears to be a customized view of what’s basically a web-browser window, which, similar to the uCertify site layout, was clear and uncluttered. In the evaluation version there is a “Diagnostic Test” available, as well as a few other functions, but most are unavailable. There is a “Buy Now” button at the top, but it is unobtrusive.

Going through the diagnostic test brought a few thoughts to my mind. The first was an immediate reminder of one of the reasons I never bothered to take the actual SCJP test – Sun’s tests can concentrate on minutiae that, while interesting, is entirely unimportant to the programmer in a day-to-day programming role. That said it’s a good thing that it reminded me so strongly of the Sun sample tests I’ve taken. This thing is obviously geared towards accurately recreating the feel of the test it’s preparing you for.

As I wound up the 15 question sample test I was prepared to be embarrassed that I would not be able to say here that I could pass the diagnostic test the first time through. Fortunately I did squeak by with 11/15 correct answers, but it was at least an honest 11/15. By that I mean the questions (for the most part) that I failed on were ones covering features of the language that I just don’t use. Some (like the enhanced for-each loop) I don’t use because I think it negatively impacts code clarity, and others, like Enum, I don’t use because I’ve never had a need.

One question did raise a bit of an alarm to me. I stared at the sample code for a long period of time because the question claimed that the sample would not compile, and that by substituting other code in its place it would compile, you just had to pick out the code and drag it. The problem I ran into was that I was sure it would compile. I have a pretty good ability with my eye-ball compiler at this point, so I took a screen capture of the question, and basically skipped it to continue on with the test.

Error in a problem

After seeing the result and seeing the explanation, I understand what the question was asking, but after typing in the sample code, character by character, it did indeed compile without the additional code as the question had indicated. So the concept behind the question was fine, but the wording was incorrect. Update: after contacting uCertify about the problem, an update was subsequently issued for the program. In it the problematic question was reworded and available for download in short order. See footnotes 2 & 3

Looking at the results for other questions that I had missed, I was pleased to see extended details describing the question and the reasoning behind the solution. They were written in language clear enough for most programmers to understand, and were far more pleasing than just seeing the correct answer and being left to fend for yourself to figure out why.

All in all, the evaluation version would have enticed me to run out and purchase a full license. If I were to see too many more incorrectly worded questions it may be something that could send me to demand a refund. Fortunately, as I report later, this case is an exception.

The full version (top)

Registering the software to unlock the features of the full version was easy. Immediately all the features of the PrepKit became available and it’s definitely worth taking a few minutes to explore what’s there. It’s almost a shame that more of this isn’t available with the limited evaluation version, because seeing the depth of material there does make it a more compelling product.

In particular it was nice to see the variety of reports that were available under the “Track your progress” section of the kit. I’m the type of person that likes to be able to have a good visual presentation of my data, and the Test History and Readiness Report sections had many ways to explore what you’ve accomplished so far and break down that data to immediately know those areas you need work for the certification.

The other major section that becomes available upon registering the software is the “Enhance your understanding” section. This is really where the PrepKit separates itself from merely test preparation software into a tool that actually helps you learn the language. The volume of material available here for review was impressive, comparable to many texts on the subject of Java. The utility of this section for you really depends upon your tolerance for reading via your computer screen. Some don’t mind reading documentation like this, but many would rather have actual printed documentation. In either case having it available within the application is certainly convenient as you work through the problems.

Other parts of this last section are more interactive in nature. Flash cards let you take notes on short concepts and compare your notes to the correct definitions of the concepts. Interactive quizzes let you address the test material in a more flexible way. This may be more convenient for you than sitting through potentially lengthy practice exams.

These practice exams to me are really where the meat of preparation software should lie. It is, after all, the best way to have a feel for what sitting in the actual exam will be like for you. The uCertify software comes with 7 practice exams in addition to the diagnostic exam, the final test and several options for creating custom tests.

Practice Tests (top)

Have I mentioned that the SCJP test is really annoying? I constantly find myself wondering not whether a given line will throw a compile time exception, a runtime exception or run correctly, but what kind of programmer would write such ambiguous, convoluted code! It’s certainly a time-saver to be able to write code that runs correctly the very first time you run it, but that’s what compilers and advanced IDEs are for – to catch the stuff that you might miss. The instant feedback of a modern IDE like NetBeans is a powerful tool, not only for coding, but for learning more about the language because as soon as you type a complete line you pretty much find out whether or not the code is valid (though not, of course, whether it does what you actually want it to do).

But this isn’t supposed to be a review of the usefulness of the actual SCJP certification itself, but of the uCertify PrepKit with regards to taking the certification test. Again, after completing a practice exam I found that the PrepKit did successfully replicate the tone and feel of the real thing. Again, the post-test feedback was valuable in spotting those areas in which I, as the test taker, was weak and gave thorough explanations as to why the answer was incorrect.

Unlike the diagnostic test, I found no factual errors in this portion of the software. I went through my normal screen-capture of the questions that I was not completely certain of, but they all did compile or fail to compile as the question and/or answers suggested. That said, some were sufficiently ambiguous in wording that although I did know the correct answer I chose an incorrect option. I hope by now that Sun’s actual exams have cleared up some of the ambiguities that plagued certain questions, but unfortunately the poorly worded questions are really par for the course with this kind of exam. I don’t really hold this against the uCertify software in this case. Even if I select the answer incorrectly it does provide useful feedback and a valuable opportunity to study topics where your understanding may not be complete.

So it seems that the practice exams in general and other formats through which the PrepKit asks you questions are more of the same of what I saw in the evaluation edition. This is a good thing and speaks well of the quality with which the entire package was put together.

Conclusions (top)

Chances are if you’re reading a review regarding certification preparation software, you are already pretty committed to taking a certification exam. In this case I think that the uCertify software I reviewed delivers what it promises – a complete solution to going from having an understanding of Java 5 to being able to pass the SCJP 5.0 certification test. If you are resolved to take such an examination, it certainly seems that the price of the test kit can be justified given the money back guarantee they offer if you don’t pass the first time. Passing the exam successfully is certainly going to be worth more to you than the low cost of the software, so it seems a win-win situation.

Personally, if I in my career ever feel the need to extend my qualifications with a certification or two, I would look to uCertify’s solutions. The interactivity offered trumps any book I’ve seen offered as a certification study guide, particularly when it comes to emulating a practice environment, and the review material is top-notch. Though previously I might have had reservations about a software-based preparation kit, just playing with the evaluation version was enough to reassure me that it would help me meet my goals. Since that’s a free download, if you’re looking to get your certification it’s certainly a place I’d recommend starting.

Footnotes (top)

1) Speaking of footnotes, Java version numbers are horribly confusing. A rough overview of the Java version histories are as follows:

  • Java 1 covers Java versions 1.0 and 1.1
  • Java 2 covers Java versions 1.2 through 1.4
  • Java 5 is Java version 1.5, though you may see it described as Java 2 version 1.5.
  • Java 6 is simply just version 6, though even here you may see references to 1.6.

So, as you can see, sometime around versions 5 and 6 Sun realized how little sense the version numbers made. Before that you’d see “JDK2_1.4.2_011” or some such horrid nonsense. Just keep in mind that we’re talking Java 5 here which is the second to most recent version. Everything you know about Java 5 also applies to Java 6, but there may be some refinements.

2) Upon contacting uCertify regarding the error I encountered in the practice exam I was ensured that corrections were promptly made using the “feedback” interface, and that subsequent updates were made available free for users in the future. I’ll see what happens in regard to that and update this spot with more information as appropriate.

3) I did double check today and the new update was pushed as expected. It was a little odd because it said no update was available, then proceeded to download and apply one anyway. I looked at the problematic question and did find that it had been reworded in such a way that the question’s intent was more clear.