aspose file tools*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Beta Impressions, open letter to exam writers Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Beta Impressions, open letter to exam writers" Watch "Beta Impressions, open letter to exam writers" New topic
Author

Beta Impressions, open letter to exam writers

Stephen C Johnson
Greenhorn

Joined: Mar 07, 2005
Posts: 7
Executive Summary:

1. Drag and Drops are great (they just need to fix the lousy testing program)
2. Questions not hard, Mostly fair
3. Time is short

and number 4...

Since I know some of the exam writers are part of the community here, I have to vent on this next topic.

STOP USING "CUTE" IDENTIFIER NAMES

I hate wasting time wading through variable foo of method foobar in class Foo. Which is subclassed by Fooo. This also applies to all rhyming and nonsense identifiers.

If you have to play games with variable names to make your questions interesting, then I submit: 1) It's a lousy question, or 2) You're testing the wrong thing. There's no "parse the goofy code" section in the objectives.

If anyone at my work wrote code that looked like that, they'd be fired. It may be fun for the test writers, but the test isn't for them.

Generally, the DnD questions were free of this nonsense, and that made them much more straightforward. In fact, the DnD questions looked like (gasp) Real Code (TM).

Just my 2 cents.
Marcus Green
arch rival
Rancher

Joined: Sep 14, 1999
Posts: 2813
Cute/individual names in questions make it far easier to detect when there is a leakage (i.e. copying/plagiarism). I am not one of the exam authors and I have no idea if this is part of the actual thinking behind the naming conventions. Good to read your overall feedback. Having taken industry exams over several years from outfits like Microsoft and Novell I have always rated the Sun exams highly.


SCWCD: Online Course, 50,000+ words and 200+ questions
http://www.examulator.com/moodle/course/view.php?id=5&topic=all
Jeroen Wenting
Ranch Hand

Joined: Oct 12, 2000
Posts: 5093
Having a member foo in a class Fooo derived from a class Foo also tests the mental capabilities of the candidate.
Does he properly read and understand the code without having to depend on proper naming?

From practice exams I've done and from the certification books this seems to be a central concept of the exams, thus making the decision to use code style which would get one a black mark if used in professional development most likely a deliberate one.

And no, I'm no exam author either but I do try to think like them leading up to my own 1.4 exam this week


42
Peter Rooke
Ranch Hand

Joined: Oct 21, 2004
Posts: 805

metasyntactic variable, Commonwealth Hackish.
I like 'Wibble'Wibble.

Yes, I agree these names should not be used for 'real' systems. But you got to have a bit of fun while learning.
PS - I'm not an exam author.
[ March 07, 2005: Message edited by: Peter Rooke ]

Regards Pete
Stephen C Johnson
Greenhorn

Joined: Mar 07, 2005
Posts: 7
Perhaps then, Sun should run all the sample code through an obfuscator first, and then the candidates would get a real workout!

While you can rationalize any bad decision, I believe the objectives cover what should be tested. That is the basis for evaluating the "mental capabilities" of the candidate.

Goofy names are a crutch for poor question design.

[ March 07, 2005: Message edited by: Stephen C Johnson ]
[ March 07, 2005: Message edited by: Stephen C Johnson ]
Jurgen schalken
Greenhorn

Joined: Mar 07, 2005
Posts: 1
"Having a member foo in a class Fooo derived from a class Foo also tests the mental capabilities of the candidate."

with due respect to all, how about asking

"member porno in a class felatio derived from a class Jerkoff " would also test the mental capabilities of the candidate.

these Foo-Faa-fooo 'wayward' names only tend to serve as jarring effects in the concentration.

No offence
&
only pun intended
Nicholas Cheung
Ranch Hand

Joined: Nov 07, 2003
Posts: 4982
The name might be a bit different to read, but still, it is better than using Q64ObjectA, Q64ObjectB, etc, I found these namings are more difficult to read.

Still, the overall outlook of the exam is good, I believe.

Nick


SCJP 1.2, OCP 9i DBA, SCWCD 1.3, SCJP 1.4 (SAI), SCJD 1.4, SCWCD 1.4 (Beta), ICED (IBM 287, IBM 484, IBM 486), SCMAD 1.0 (Beta), SCBCD 1.3, ICSD (IBM 288), ICDBA (IBM 700, IBM 701), SCDJWS, ICSD (IBM 348), OCP 10g DBA (Beta), SCJP 5.0 (Beta), SCJA 1.0 (Beta), MCP(70-270), SCBCD 5.0 (Beta), SCJP 6.0, SCEA for JEE5 (in progress)
Bert Bates
author
Sheriff

Joined: Oct 14, 2002
Posts: 8883
    
    5
Hey Stephen -

STOP USING "CUTE" IDENTIFIER NAMES

I hate wasting time wading through variable foo of method foobar in class Foo. Which is subclassed by Fooo. This also applies to all rhyming and nonsense identifiers.


I'll start out by confessing that I've worked with Sun on their last six Java-related certification exams, so I'm stepping up to take some of the heat.

When a question uses similar names like Foo and foo and foobar, there's almost always a compelling reason to do so, for instance, "can the candidate determine by strucure and / or signature alone what elements are being used?"

You don't say why you are bothered by rhyming or nonsense identifiers...

I guess my question is, what would you recommend instead?

You say that if anyone in the real world wrote code like that they'd be fired... well I agree!

We are tightly constrained by a number of factors when creating questions. In the end, we are balancing factors such as limiting the expense of the exam, and making the exam accessible to candidates world-wide. We realize that we're often jamming 30 lines of code into 15 lines. We also realize that exam code just isn't (and shouldn't be), real world code, for lots of reasons.

Thanks,

Bert
[ March 07, 2005: Message edited by: Bert Bates ]

Spot false dilemmas now, ask me how!
(If you're not on the edge, you're taking up too much room.)
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 17260
    
    6

C1, why don't you just come down to my cubicle and ask me.

So you finally found a place that was open to take your test?

If anyone at my work wrote code that looked like that, they'd be fired.


No they wouldn't, it takes way too long to get someone fired here. Well, ok, maybe about 2 years down the road.

Hmm, now I'm thinking of writing a FooAdo that has FoooAdo and FooooAdo subclasses that is called by the BooService, which is called from the YouTooBean.

Mark
[ March 07, 2005: Message edited by: Mark Spritzler ]

Perfect World Programming, LLC - Two Laptop Bag - Tube Organizer
How to Ask Questions the Smart Way FAQ
Stephen C Johnson
Greenhorn

Joined: Mar 07, 2005
Posts: 7
Hi Bert --

Let me clarify -- my only objection is against using identifier names that serve no purpose *other than* to confuse, distract, or otherwise trick the candidate.

I have no problem with Foo, Bar, or whatever Monty Python or Hitchhiker's Guide reference you come up with.

I won't post again on this thread (I promise), so I'll try to be clear:

Suppose you have a question that tests the candidate's ability to correctly follow the sequence of method calls up a constructor chain. There's plenty to work with there. Any decent Java programmer could write such a question that varies from very simple to complex. You can thoroughly test the objective *without* names like boochy, snoochy, snoogy.

Anyone is free to disagree with me, but intentionally trying to distract the candidate is dirty pool. I believe it falls under "trick question", something I thought we were trying to avoid.

At best, it wastes more of the candidate's time. At worst, the candidate gets a question wrong on an objective he/she knows thoroughly -- just because they had 2 minutes to answer a question and spent 1 minute wading through the intentionally confusing code.

If you've taken the test, you know which questions I'm talking about -- there's not too many of them, but they stick out like a sore thumb. I'm not sure I buy the "we do everything for a reason" response. I assume that because this is a Beta exam, there are things to change and Sun wants feedback. Please take this as constructive criticism of the exam, and not the exam writers. It's not personal.

Thanks,
Steve
Stephen C Johnson
Greenhorn

Joined: Mar 07, 2005
Posts: 7
But Mark, I wrote exactly what you told me!



Darn Mark tricked me into posting on this thread again!
[ March 07, 2005: Message edited by: Stephen C Johnson ]
Jim Yingst
Wanderer
Sheriff

Joined: Jan 30, 2000
Posts: 18671
Personally I wrote several questions using Foo and Bar. It didn't occur to me that this might be viewed as confusing to anyone - that certainly was not my intent. I think that having Fooo in addition to Foo is a bit questionable, as it looks too much like a simple typo IMO. Depends on the question I suppose. In the case of boochy, snoochy, snoogy - I think if they are presented in a parallel structure that makes it easy to compare the names side-by-side and spot the differences, it should not be difficult for a programmer to keep them straight. But if they're buried amongst other code where they're hard to see, then I'd agree it seems a bit unfair. I wouldn't want people to miss a question just because they overlooked a minor typographic difference, e.g. the difference between a 1 and an l. Especially if it's something any decent IDE would've flagged for them. On the other hand, I would expect them to recognize the difference between foo and Foo, because such differences are very frequently important in the real world. That may seem inconsistent, but it's reflective of the types of differences I've observed to be important in my experience.

Offhand, I can remember recently seeing a method getRecords() which called a getRecords(x) which called a getRecord(y) which called getRecord(y, z). Where x, y, z are some aribitrary types I don't remember - point is, the call stack involved multiple overloads of the same method name, plus similar names. Now one might argue that this should be refactored to something clearer - but the ability to pick out differences like this is in fact a useful job skill, I think.

Ultimately though, I really can't see what's "distracting" about these silly names. Are you objecting to the silliness, or to having excessivey subtle differences between some names? I've been addressing mostly the latter, since I don't see any problem with the former.


"I'm not back." - Bill Harding, Twister
Marcus Green
arch rival
Rancher

Joined: Sep 14, 1999
Posts: 2813
Stephen, I took your comments as constructive, and Bert, it is most excellent to get feedback from the people involved in creating the real exams.
[ March 07, 2005: Message edited by: Marcus Green ]
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 17260
    
    6

Originally posted by Stephen C Johnson:
But Mark, I wrote exactly what you told me!



Darn Mark tricked me into posting on this thread again!

[ March 07, 2005: Message edited by: Stephen C Johnson ]


And why aren't you at your assigned workspace? I have some PTRs for you to close. Still trying to recover from the test?

Mark
Bert Bates
author
Sheriff

Joined: Oct 14, 2002
Posts: 8883
    
    5
Hey Stephen -

No worries! This is a perfectly good question!

Let me clarify -- my only objection is against using identifier names that serve no purpose *other than* to confuse, distract, or otherwise trick the candidate.


As far as I can remember that was never our intent... the older exams tended to be very "tricky", and in this exam we tried very hard not to be...

We might very well try to confuse candidates with things like shadowed variables, or constructors named like methods, but as far as I'm concerned that's valid. I guess I'd like to hear more about what you found distracting, and how that wasted your time.

- Bert
Nicholas Cheung
Ranch Hand

Joined: Nov 07, 2003
Posts: 4982
Please do not post out the real question. Try something else to repharse it.

Nick
Bert Bates
author
Sheriff

Joined: Oct 14, 2002
Posts: 8883
    
    5
Hey Nicholas -

No worries! If you study the posts concerning the 1.4 exam you'll see that "topics" are discussed - but not actual questions. As the 1.5 exam becomes more well known, "topics" will be discussed for it also.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Beta Impressions, open letter to exam writers