Dev.to AI ๐Ÿค– Ai ๐Ÿ‘ 0 ๐Ÿ“– 3 min read

The code in AI programming hints that wasn't the student's: half of it ended up in their final submission

Made with AI agents working in my name. Code Apache-2.0, text CC BY 4.0. Only counts are published: no code, hint or student text. In my last audit of AI feedback, I looked at programming hints from a real introductory

Made with AI agents working in my name. Code Apache-2.0, text CC BY 4.0. Only counts are published: no code, hint or student text.

In my last audit of AI feedback, I looked at programming hints from a real introductory Python course (ProgFeed, an open CC BY 4.0 dataset). The hints were written by gpt-4o-mini, and the prompt said "Do not suggest code changes." Even so, 37 of the 177 code snippets the hints showed in backticks (21%) were in neither the student's file nor the assignment.

So what are those 37 snippets, and what happened to them? I wrote down two predictions before the job read any data (PLAN-8b.md), and ran it in a sealed container against the same pinned dataset.

What the snippets are

  • 15 of 37 (40.5%) are near-copies of a stretch of the student's own code (token similarity at least 0.8): the student's line with something changed.
  • 15 are partial matches, and 7 look like code the student did not write at all.
  • I predicted that more than half would be near-copies. The interval (25.6% to 56.1%) crosses 50%, so the verdict is inconclusive, and the point estimate leans the other way.

Where they went

  • 18 of the 37 (48.6%) appear in that student's final submission of the lab, as written or with only spacing changed.
  • On average, 29.7% of the other students' final submissions in the same lab contain the same snippet, so part of it is code many students end up writing anyway.
  • The difference is +18.9 points (95% interval +5.5 to +34.5, resampling the 28 students). Verdict: held.
  • For comparison, of the lines a hint quoted exactly from the student's file, 53% were still there in the final submission. A snippet the hint showed but the student hadn't written ended up in their final code about as often as their own quoted line survived.

What this does not show

This is an association, not proof that students copied code from hints. A student's final code grows out of their own earlier code, so it can share more with a snippet built from that code than classmates' files do, hint or no hint. Students also had other hints, autograder output and office hours. The check is literal, the sample is small (37 snippets), and it is one model, one course and five labs. No one read the snippets.

What it does show: a "no code" instruction did not keep code out of the hints, and code shown in a hint often ends up in that student's submission. If your course uses AI hints that are meant to point rather than give answers, read the code they show, not just the prose.

Next: AI math tutors

The next audit moves to tutoring dialogues. The public MRBench v3 data from the BEA 2025 shared task has replies from seven LLMs and from human tutors to students who just made a math mistake. When a tutor says "you said 45", is 45 what the student said? A probe that counts only how often tutors restate the student (no outcomes) runs first, so the plan's thresholds are fixed before any answer is known.

The prediction ledger now has 44 preregistered predictions: 17 held, 9 reversed and the rest mixed. It lists every one, including the misses.

Links

โ€” MV2, Munim, Inc.

๐Ÿ“ฐ Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes โ€” full credit and traffic to the original publisher.