explaingit

elipcs/grading-is-easy-feedback-is-hard

Analysis updated 2026-05-18

1PythonAudience · researcherComplexity · 2/5LicenseSetup · easy

TLDR

A research package that lets anyone reproduce a study comparing two AI models grading student programming assignments.

Mindmap

mindmap
  root((repo))
    What it does
      Reproduces paper results
      Compares two AI graders
      Checks grading stability
    Tech stack
      Python
      NumPy pandas SciPy
      Matplotlib Plotly
    Use cases
      Reproduce benchmark figures
      Compare AI vs expert grades
      Study feedback accuracy
    Audience
      Education researchers
      AI evaluation researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Reproduce the paper's benchmark tables and figures from bundled grading data.

USE CASE 2

Compare how closely two AI models match expert grading of student code.

USE CASE 3

Study how well AI models detect specific design issues in student submissions.

USE CASE 4

Optionally re-run the AI grading with your own API keys for validation.

What is it built with?

PythonNumPypandasSciPyMatplotlibPlotly

How does it compare?

elipcs/grading-is-easy-feedback-is-hard0xustaz/streamgatea-bissell/unleash-lite
Stars111
LanguagePythonPythonPython
Setup difficultyeasyhardhard
Complexity2/54/54/5
Audienceresearcherdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Default reproduction needs no API keys, only the optional --with-apis mode requires OpenAI and Gemini credentials.

Free to share and adapt this data and code as long as you give appropriate credit.

In plain English

This repository is a research artifact that goes along with an academic paper called Grading Is Easy, Feedback Is Hard. The paper studies whether large language models can act as helpful assistants for teachers grading a university programming assignment, and this code lets anyone reproduce the paper's results and figures. The assignment being studied is an object oriented programming project called FilmNow, and the researchers collected 84 anonymized Java student submissions. They compared two AI models, GPT 5.5 and Gemini 3.1 Pro, on two questions. The first is how closely each model's grades match an expert human grader's grades, compared against a teaching assistant's grades as a middle reference point. The second is how accurately each model can spot the same specific issues in student code that expert graders identified. Running the reproduction does not require any AI service accounts or API keys for the default path. Instead, all the grading results the models already produced are bundled with the repository, so the analysis scripts just recompute statistics and regenerate charts from that saved data. You need Python 3.10 or newer, about 250 megabytes of free disk space, and a normal computer with no special hardware required. After setting up a virtual environment and installing the listed dependencies, a single command rebuilds the paper's benchmark tables, stability checks across repeated grading runs, and all figures. There is also an optional mode that actually calls the OpenAI and Gemini APIs again to redo the grading from scratch, which does need API keys and may produce slightly different numbers than the original paper. Student identities are protected throughout: submissions are labeled only with anonymous codes, and no real repositories, name mappings, or API traces are included. The repository also documents where to find the paper's figures and tables for anyone wanting to inspect the results more closely.

Copy-paste prompts

Prompt 1
Help me set up a Python virtual environment and install the dependencies for this reproduction package.
Prompt 2
Walk me through running python3 src/reproduce.py and interpreting the resulting benchmark tables.
Prompt 3
Explain the difference between the default offline reproduction and the --with-apis mode.
Prompt 4
Show me where the paper's figures and tables are stored so I can inspect the grading results.

Frequently asked questions

What is grading-is-easy-feedback-is-hard?

A research package that lets anyone reproduce a study comparing two AI models grading student programming assignments.

What language is grading-is-easy-feedback-is-hard written in?

Mainly Python. The stack also includes Python, NumPy, pandas.

What license does grading-is-easy-feedback-is-hard use?

Free to share and adapt this data and code as long as you give appropriate credit.

How hard is grading-is-easy-feedback-is-hard to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is grading-is-easy-feedback-is-hard for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.