On Wed, 23 Jun 2004, Jules Richardson wrote:
int N = 10;
while (N--) printf("%d\n",N);
What are the first and last numbers displayed?
is appropriate for open-book.
Hmm, personally I wouldn't want to hire anyone saying they knew a
language if that was typical of the sort of thing they'd been asked in
an exam where they also had the reference material handy! Any student
should be able to say what the result is without having to resort to any
kind of reference.
Sure, for somebody who says that they know a language,
coming to you for a job.
But for a student part way through the course (MID-TERM!), it is
a simple test for whether they can apply the order of precedence
rules.
If trivial programming examples are used as questions,
and then a
graduate is hired on the basis of knowing language x then it's a
disaster
This is NOT an employment exam!
It is from a mid-term exam, one of 50 questions to be done
in 2 hours, intended to find out which students
can APPLY precedence rules (and wake them up!).
VIRTUALLY anybody who has to look it up, will almost certainly
get it wrong, since the book(s) may make it quite clear about
when the decrement is applied relative to the conditional test,
but will NOT tell them about whether the decrement is applied
before or after the BODY of the loop. If they UNDERSTAND,
then they will get it right.
You certainly wouldn't want to HIRE somebody who gets that one
wrong [past a trainee level]. But you would also not be pleased
to know that I have seen CS graduates from UC who got it wrong!
In fact, I'd be willing to bet that 10% of the folks on this
list who claim to know C would get it wrong! And several of
those would argue about the answer without trying it.
(if N were to be declared "unsigned", even more would get it wrong!)
- they spend much of their time delving into reference
books to
do the simplest of things and have no idea about the fundamental
concepts behind programming languages. I've seen it happen all too
often, and testing potential employees at interview time can only catch
so much (aside from being horribly time-consuming and expensive*)
That's right. An interview based on one trivial programming question
would be a joke.
*I remember IBM did graduate interviews over two days
- I lost track of
how many technical, logic and aptitude tests we had to do, along with
one-on-one interviews and presentations. Those guys really wanted to
know what they were getting!
seems reasonable to me
OTOH, in the
UC Berkeley School of Information Management and Systems,
I was the first student ever to use a word processor for the PhD
written exams. I managed to convince them that grading
penmanship was no longer valid.
That's interesting. I believe over here you
can be marked down if you
*don't* use a computer for certain literature work within courses. Funny
how it's changed over the years.
This wasn't "within courses".
It was a "sealed room" (closet) closed book series of essay questions.
There was major debate over how to "sanitize" a computer.
They asked me what word processor I wanted to use;
I told them, "YOU pick a word processor; ANY word processor;
and then give me a week with a SIMILAR (but not the same)
machine to learn it. Then remove the floppy drive and the modem,
and tamper-seal the case."
They had me use Windows WRITE.
It worked out beautifully - I was able to produce legible
content and more of it, and was even able to proofread a
little before printing.
Based on their experience with me, they began making a
word processor available as an option from then on.
How many
current students can find a square root without a sqrt or x^y key
on a calculator?
How many even know the square root of 2 and 3?
Now I'd say there's a difference between the two there - in that the
first is an example of a general skill which could be useful (and no, I
don't believe I've ever been taught how to do it!). The second is just a
specific of the first though and I'm not sure how useful memorising
specific numbers is (someone convince me, though)
That's why I listed them separately.
Knowing how to find a square root is a technique;
knowing a few common square roots is an indication (not completely
accurate) of whether you have used square roots much.
--
Grumpy Ol' Fred cisin(a)xenosoft.com