Skip to main content
Version: v1 (current)

Why GrillMyCode?

The problem

Programming assignments are easy to submit and hard to verify.

Students may submit code they do not fully understand — copied from a peer, generated by an AI assistant, or adapted from online sources without internalising what it does. A submitted repository that passes automated tests says nothing about whether the student who wrote it can explain it.

The standard countermeasure is a code viva: a short oral or written session where the instructor asks targeted questions about the student's own submission. Done well, a viva quickly separates genuine understanding from surface-level familiarity. Done poorly — or skipped entirely because it takes too long to prepare — it provides no signal at all.

The preparation bottleneck

Preparing good viva questions is slow. An instructor must:

  1. Read each student's diff to understand what actually changed
  2. Identify the most assessable concepts in that specific submission
  3. Write questions that cannot be answered by rote or by someone who didn't write the code

For a class of 30 students each making different changes, this is an hour of work before a single question is asked. In practice, instructors either reuse the same generic questions for everyone (which telegraphs expected answers) or skip the viva entirely.

What GrillMyCode does

GrillMyCode automates step 1–3. It:

  • Extracts the exact code changes from the student's submission (the git diff)
  • Strips comments that might anchor generic questions to superficial details
  • Sends the code to an AI model with a prompt tuned for comprehension assessment
  • Returns questions that are specific to this student's this submission

The instructor receives a ready-to-use question set at the moment the student pushes, with no manual reading required. The viva itself remains a human conversation — GrillMyCode only eliminates the preparation work.

Why a GitHub Action?

A GitHub Action is the natural deployment target because:

  • Code already lives there. Student work on Classroom 50 runs the action where the code is, with no data movement.
  • Triggers are free. The assessment is generated automatically on push to the default branch — instructors do not need to remember to run anything.
  • No infrastructure to manage. There is no server to host, no database to maintain, and no credentials beyond the built-in GITHUB_TOKEN needed for the default provider.
  • Results are versioned. The generated question file is committed back to the repository, creating a permanent, auditable record alongside the code it assesses.

Why not just let the AI grade the code?

Automated grading is a separate — and much harder — problem. It requires a rubric, a reference solution, and confidence that the AI's judgment is consistent and fair. Those are non-trivial prerequisites, and errors have real academic consequences.

GrillMyCode deliberately does not grade. It generates questions and leaves evaluation to a human. This keeps the tool's scope narrow and its failure modes low-stakes: a slightly off-target question is a minor annoyance, not an unfair grade.

Who it is for

  • Instructors using Classroom 50 who want to run vivas without spending an hour per student on preparation
  • Assessment designers who want per-submission, code-specific questions as a complement to automated testing
  • Any GitHub-based workflow where committers should be able to articulate what their changes do