1
$\begingroup$

I gave my students a timed open-book, open-notes coding exam.

One of the submissions had several syntax errors - very obvious ones and easy to fix - missing semicolons and misspelled type names.

I added the missing semicolons and fixed all the misspelling, and now the code is almost perfect. All the calculations are correct, all the input validation is correct...

How is that possible?

The problem was complex enough that I can't imagine it's possible for an intro student to write correct solution without ever running it.

This is an intro course, so syntax errors don't mean automatic 0. I was going to give the student credit for those functions they implemented correctly.

$\endgroup$
9
  • $\begingroup$ Does the student have neurological issues; something like dyslexia? There are some that affect motor actions, not just reading. $\endgroup$ Commented Nov 18, 2024 at 11:24
  • $\begingroup$ Is it possible that the code was written (and run) in a language variant that automatically inferred semicolons and had slightly different type names? $\endgroup$ Commented Nov 18, 2024 at 15:47
  • 2
    $\begingroup$ Students used IDE. Language is C++, misspelling "dooble" instead of "double" doesn't work anywhere.. $\endgroup$ Commented Nov 24, 2024 at 18:03
  • 3
    $\begingroup$ I would strongly suspect cheating. $\endgroup$ Commented Nov 25, 2024 at 0:20
  • 2
    $\begingroup$ Possibly relevant article on why low grades can be valid for almost-correct solutions: A Tablespoon of Salt... assuming no cheating, which is plausible here but hard to say for sure. $\endgroup$ Commented Dec 7, 2024 at 7:04

1 Answer 1

2
$\begingroup$

Like the OP, I teach CS at a community college, and I've seen this behavior a number of times in the past few years. It's almost surely cheating with some internet-connected device. Another possibility is if test questions are recycled, almost-memorizing a solution by rote beforehand. The student will copy by sight a received solution, not get the details right, and not even be aware of the need to compile or test a solution.

Related behaviors (in a proctored test) will include:

  • Staring at the test, motionless and without any activity, until the last few minutes when the almost-perfect solution is suddenly written in a flurry.
  • Fiddling with one's watch repetitively, when there's a clock on both the desktop and the wall directly in front of the student (again, without doing any work, and then suddenly receiving a nearly-perfect answer).
  • Vocally expressing shock if some recognizable pattern of test forms in a semester is unexpectedly broken, and being unable to write any code for that particular test.
  • A student on a final exam today (as I write this) downloaded a prior assignment, but didn't dare do more than briefly glance at it for most of the test. In the last 20 minutes they got desperate enough to leave it onscreen for a closer inspection, at which point I caught them. If I hadn't been watching very closely it might have ended in the same outcome.

Among the responses I've had to implement in my in-class testing is to shut off and remove any kind of technology device (phones, earbuds, watches, calculators, etc.), monitor and record the screens of all the testing lab computers, to scramble content of test forms randomly, and be ready to relocate and closely watch students within the testing space.

Personally I tend not to be generous about grading such submissions. Given the IDE is available, (a) they should know to use the tool, (b) awareness of the need to compile and test is essential and fundamental, and (c) the likelihood of cheating warrants a strict assessment.

$\endgroup$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.