Skip to main content

Certification Exam

Posted by daniel on January 18, 2005 at 7:49 AM PST

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 href="http://today.java.net/today/projectspotlight.csp"> 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 href="http://www-106.ibm.com/developerworks/java/library/j-testng/">
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 href="http://java.sun.com/developer/JDCTechTips/2004/tt1201.html#2">
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 href="http://weblogs.java.net/blog/monika_krug/archive/2005/01/a_substitute_fo_1.html">
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 href="http://weblogs.java.net/blog/brinkley/archive/2005/01/javadesktop_com_1.html">JavaDesktop
Community presence at JavaOne 2005.

Erik Meade encourages you to create href="http://weblogs.java.net/blog/emeade/archive/2005/01/sanitary_softwa_1.html">
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 href="http://forums.java.net/jive/index.jspa">
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 href="http://forums.java.net/jive/thread.jspa?threadID=153&messageID=8165#8165">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 href="http://new2java.dev.java.net/">New2Java and href="http://weblogs.java.net/blog/turbogeek/archive/2005/01/interview_with.html">explains
the features for newbies in an interview with Daniel Brookshier.

The
JavaDesktop
community is featuring a collection of Swing controls
from href="http://javadesktop.org/rollups/components/index.html#l2f">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 href="http://today.java.net/today/news/">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 the href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.net News
RSS feed.


Current and upcoming href="http://www.java.net/events"> Java Events :

Registered users can submit event listings for the href="http://www.java.net/events">java.net Events Page using our href="http://today.java.net/cs/user/create/e"> 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 href="http://today.java.net/pub/q/java_today_rss?x-ver=1.0">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 href="http://today.java.net/today/archive/">java.net
Archive.

Reducing the trivia on the new Tiger Exam