Skip to main content

Certification Exam

Posted by daniel on January 18, 2005 at 10:49 AM EST

Reducing the trivia on the new Tiger Exam

I was in Broomfield, Colorado to contribute to the rewrite of the J2SE Certification exam at the end of December. Other participants in the Exam writing workshop have said that they would blog on the experience so I don't want to steal their thunder, but the week was exhausting and a lot of fun. For the first three days we each wrote about eight questions. Eight questions - that's a question an hour - doesn't sound like it would be so hard. But it's kind of like those metrics on how much production code an average developer writes in a day which ends up to be a little more than a line an hour.

The goals for the Tiger rewrite of the programmer certification included incorporating some of the new Tiger language and API features in the exam while making the exam lest trivial. You know those bit-shifting questions from the last exam or those questions where you have to know something very subtle about the difference between the spec and the implementation you use every day. The new exam has tried to eliminate those trick questions - but tricks are in the eyes of the beholder.

After three days of writing questions, the group split in two and spent two days reviewing the questions. Many of the questions are straightforward and many of the questions are challenging. Some trick questions did sneak through, but for the most part, if you think a question is a trick question, you can often find the answer by applying a broader knowledge of Java. Sure some of the questions about generics and about threading require specific knowledge, but often the setting of a question contains information about which answers can be eliminated.

Some of the questions use a new format where you drag code into place in a code listing with spaces clearly marked. It's the closest you can get to writing code on this machine given exam. I'm still not sure how I feel about certification exams in general and what weight should be given to the knowledge that someone did or did not pass such an exam. For the next few weeks you can take the beta exam that resulted from our week locked in a couple of rooms. The beta is very long and is used to further trim down the exam by discarding the weaker questions. If you are interested in taking the beta exam, take a look at the exam goals, spend some time studying, and sign up for it. The beta exam is cheaper than the final exam and your certification counts just as much. This week's spotlight provides more details about the beta exam.


In Also in Java Today , now that JUnit has convinced developers of the benefits of unit testing, many developers are looking at the limitations of the testing framework. In TestNG makes Java unit testing a breeze criticisms of JUnit include "The need to extend a TestCase class, because the Java language has single inheritance, is very limiting. It is impossible to pass parameters to JUnit's test method as well as to setUp() and tearDown() methods. The execution model is a bit strange: The test class is reinstantiated every time a test method is executed. The management of different suites of tests in complex projects can be very tricky." The article introduces you to the alternate testing framework: TestNG.

You can now have two methods in the same class with signatures that only differ by return type. In the Core Java Tech Tip Covariant return types you will see how a method in a subclass can override the return type of methods with a type that is a subclass of the type returned by the method being overrided.


In today's Weblogs Monika Krug writes that we need "a mechanism for enforcing that even the class itself has to use setVar(...) instead of var = ..., for example when the setting of the variable triggers an update to a database." In A substitute for a "very_private" keyword she says " Sometimes private is not enough. You would like to prevent directly setting a member variable even from within the same class. This can be done with AspectJ."

Roger Brinkley is planning an event for this year's JavaOne and he wants your input. What type of JavaDesktop community gathering would you like to see? Post your answer to his question in the talkback to his blog JavaDesktop Community presence at JavaOne 2005.

Erik Meade encourages you to create Sanitary Software - OMG PLZ wash ur hands! He writes that often when you compare lines of production code to lines of test code you find that you've written the same number of each. Those who resist TDD argue that's twice as much code to write an application test first. Erik points out that this isn't really the case.


More on multiple catch statements in today's Forums. Bruce Chapman writes "This is one of the situations where I find java prevents me from applying DRY (Don't repeat yourself) in an intuitive manner [ see post for code ] which achieves the aim of a single shared block for each of the 3 exceptions (motivated by DRY), but has a lot of syntactic baggage which is rather too heavy unless the shared block has quite a few lines of code. But with a more general Mustang wishlist language feature "Switch on Runtime Type" (see http://forums.java.net/jive/thread.jspa?threadID=153&messageID=8165#8165 ) it would simplify to [full code in the post] Which is not quite as optimal as the proposed new catch syntax but gets most of the way there with a more general purpose facility."

Are there widgets that need to be part of the Swing libraries? Carniz writes "I think it's about time that a couple of components/widgets are added to JFC/Swing, such as a date chooser widget for example. I was amazed the other day when I was about to write a small resource booking app in swing and realized that the Swing library does not contain a date chooser!.[..] Among other missing components is a font chooser, and that's also pretty strange. Fonts are such a basic thing in graphical programs, how can it be there's none in JFC/Swing?[..] A set of DB components (such as those in Delphi) would be nice as well."


In Projects and Communities, do you want to learn about Java and you need a place to go to start learning? Dana Nourie has created New2Java and explains the features for newbies in an interview with Daniel Brookshier.

The JavaDesktop community is featuring a collection of Swing controls from L2FProd including "a collapsible task panel, a property sheet component, a Windows-style font and directory chooser, an Outlook-like bar, and a button bar"


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed.


Current and upcoming Java Events :

Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.


Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive.

Reducing the trivia on the new Tiger Exam