print("x")
is you want to screw your students.screw your students
ಠ_ಠ
“Dr. Prof. Mann, I really didn’t understand anything about UNIX on that last midterm. Can we go over how to
touch
andfinger
after class?”
Are they using a red pen to write the checkmarks for correct answers to make it confusing but logical at least?
Grading in red is generally avoided, nowadays. Red is closely associated with failure/danger/bad, and feedback should generally be constructive to help students learn and grow.
I usually like to grade in a bright colour that students are unlikely to pick: purple, green, pink, orange, or maybe light blue (if most students are working in pencil). Brown is poo. Black and dark blue are too common. Yellow is illegible. Red is aggressive.
Anyway, I’m guessing they just graded everything in green. The only time I’ve ever graded in more than one colour was when I needed to subgrade different categories of grades, like thinking/communication/knowledge/application. In that case, choosing a consistent colour for each category makes it easier to score.
I wonder if day length is given separately in a table prior to the question? I’m not sure what they wanted except maybe seconds?
It’s the length of the string. The number of characters is 6. It’s a play on words and a question.
I’m not really a fan of this kind of question. Especially if there’s enough questions that time will be an issue for most. Because at first glance it’s easy to think the answer might be the length of a day.
There shouldn’t be a need to try to trick people into the wrong answer on an open question. Maybe with multiple choice but not an open answer question.
I get your point about it being a trick question but I think in this case it’s pretty reasonable that you would see code like this in real life. Where the programming metaphor and your understanding of the real world clash. It’s a very important skill to be able to spot the difference.
The compiler or interpreter does that for you. There’s no point in these “gotcha’s”. They are cute brain teasers that belong on those useless “are you a programmer” quizzes you find on random meme websites, not an exam.
In the error shown a compiler would be just fine and run as usual but the person programming it would be expecting a different result so a compiler wouldn’t do this for you since it’s a logical error and not a syntax error.
If it’s a statically typed language and
x
is of typeDate
, it’s for sure throw a type error when trying to assign a string to it. If it had autoboxing / auto type conversion fromString
toDate
, length could return a number or a string.If this were Javascript on NodeJS, it would fail at
print(x)
because that doesn’t exist in JS. If it were Python it would fail atx.length
because that has to belen(x)
. And so on.If this were all to pass, at the latest at runtime, when the programmer sees the output “6”, they would know something’s up.
As I said, cute, but worthless test.