Posted by Jim Smith on May 03, 2001 at 17:50:29:
In Reply to: Re: Stuff worng in both Mr. McQuain's logs and on the checksheet posted by William D McQuain on May 03, 2001 at 08:39:02:
: One, this was not a change to the specification.
: Some students read something into the spec that
: was not there.
I'm curious to hear the reasoning behind saying
that this is not a change to the specification.
Let me again quote the latest edition of the
specification, this time linking important words
to their entries in Dictionary.com (though I'm
sure that any standard English dictionary will
support these definitions, as the words in
question are far from obscure or ambiguous).
"a predatory creature will only decide to consume another creature when the predatory creature first enters the square."
Okay. Now let's look at the sample kill log.
The interesting ticks are 8 and 9, both within
Command 34. Now, notice that in tick 8, Tom
moved East. He was in a square before the tick
and was in a different square at the end of the
tick. He first entered this new square on
Now onto tick 9. Tom did not move. Note that
not moving means that he is still in the same
square that he entered on tick 8. But also note
that since he was already there on tick 8, he
could not have entered it on tick 9. You can
not enter a square that you already occupy.
Also notice that Tom eats (or consumes, if
you will) Thumper on this same turn. But wait!
According to the specification, Tom, being a
"predatory creature", should only decide
to eat Thumper if Tom first enters the square. But Tom had already entered the square
on the previous tick. So according to the spec,
he would not eat Thumper.
He did anyway.
Now, if this, being contrary to the information
in the latest version of the specification, is
going to be defined as the
"correct behavior" (go ahead, click - I'm not making this stuff up),
that indicates to me that the spec was changed.
I would like to know how this program behavior
can coexist with the specification (which it
directly contradicts) without one of them
being changed. And since the grading data is
based on this behavior, it indicates that any
changes must have been to the specification.
: Second, the initial kill data file and log
: illustrated the officially correct behavior.
: Given that those were never changed, it would
: have been foolish to simply conclude that the
: log file in question was wrong.
I used my own test data (as you encouraged in your message on 4/22),
and found that my output conformed to the
specification for the given inputs. Why use
somebody else's data, when I am (supposedly,
anyway) graded on compliance with the specification, which I had already assured?
: If you didn't test with that data, that was your
: mistake. If you did test but didn't notice your
: results were different, that was also your
: mistake. If you did notice you got different
: results, even if you completely missed the
: discussion here, you should have raised the
: issue yourself, here or (better) in class.
And contribute to the interminable whining?
Just as it's not your responsibility to provide
us with test data, it's not our responsibility
to proofread any test data that you do decide to
I get the idea that rather than encouraging one
to turn specifications into a working
implementation, this class encourages
students to ignore the spec and implement just
the code required to turn the instructor's sample
input into the intstructor's sample output. If
that's the case, let's just skip the C++ and write
two-line shell scripts to regurgitate the sample
Post a Followup