Table of Contents
Fetching ...

A Knowledge-Component-Based Methodology for Evaluating AI Assistants

Laryn Qi, J. D. Zamfirescu-Pereira, Taehan Kim, Björn Hartmann, John DeNero, Narges Norouzi

TL;DR

The paper investigates how GPT-4 generated hints for CS1 programming tasks affect student learning by mapping both missing and addressed concepts to a Knowledge Component framework. Using data from two large CS1 offerings and a KC extraction pipeline, the study shows hints reduce unproductive revisions, consistently target high-priority KCs, and that hints addressing multiple KCs more reliably translate to student progress. The findings support KC-based evaluation as a precise diagnostic for AI-assisted tutoring, with practical implications for designing effective, scalable feedback in introductory programming courses.

Abstract

We evaluate an automatic hint generator for CS1 programming assignments powered by GPT-4, a large language model. This system provides natural language guidance about how students can improve their incorrect solutions to short programming exercises. A hint can be requested each time a student fails a test case. Our evaluation addresses three Research Questions: RQ1: Do the hints help students improve their code? RQ2: How effectively do the hints capture problems in student code? RQ3: Are the issues that students resolve the same as the issues addressed in the hints? To address these research questions quantitatively, we identified a set of fine-grained knowledge components and determined which ones apply to each exercise, incorrect solution, and generated hint. Comparing data from two large CS1 offerings, we found that access to the hints helps students to address problems with their code more quickly, that hints are able to consistently capture the most pressing errors in students' code, and that hints that address a few issues at once rather than a single bug are more likely to lead to direct student progress.

A Knowledge-Component-Based Methodology for Evaluating AI Assistants

TL;DR

The paper investigates how GPT-4 generated hints for CS1 programming tasks affect student learning by mapping both missing and addressed concepts to a Knowledge Component framework. Using data from two large CS1 offerings and a KC extraction pipeline, the study shows hints reduce unproductive revisions, consistently target high-priority KCs, and that hints addressing multiple KCs more reliably translate to student progress. The findings support KC-based evaluation as a precise diagnostic for AI-assisted tutoring, with practical implications for designing effective, scalable feedback in introductory programming courses.

Abstract

We evaluate an automatic hint generator for CS1 programming assignments powered by GPT-4, a large language model. This system provides natural language guidance about how students can improve their incorrect solutions to short programming exercises. A hint can be requested each time a student fails a test case. Our evaluation addresses three Research Questions: RQ1: Do the hints help students improve their code? RQ2: How effectively do the hints capture problems in student code? RQ3: Are the issues that students resolve the same as the issues addressed in the hints? To address these research questions quantitatively, we identified a set of fine-grained knowledge components and determined which ones apply to each exercise, incorrect solution, and generated hint. Comparing data from two large CS1 offerings, we found that access to the hints helps students to address problems with their code more quickly, that hints are able to consistently capture the most pressing errors in students' code, and that hints that address a few issues at once rather than a single bug are more likely to lead to direct student progress.
Paper Structure (12 sections, 8 figures)

This paper contains 12 sections, 8 figures.

Figures (8)

  • Figure 1: Sp23 (Left) vs. Sp24 (Right) HW1 Time Spent & Number of Submissions Colored by Student Progression. Upper plots show average time spent per student. Lower plots show average number of submissions per student.
  • Figure 2: Sp23 (Left) vs. Sp24 (Right) HW2 Time Spent & Number of Submissions Colored by Student Progression. Upper plots show average time spent per student. Lower plots show average number of submissions per student.
  • Figure 3: Sp23 (Left) vs. Sp24 (Right) HW3 Time Spent & Number of Submissions Colored by Student Progression. Upper plots show average time spent per student. Lower plots show average number of submissions per student.
  • Figure 4: Sp23 (Left) vs. Sp24 (Right) HW1 Proportion of Time Spent & Number of Submissions Colored by Student Progression. Upper plots show average time spent per student. Lower plots show average number of submissions per student.
  • Figure 5: Sp23 (Left) vs. Sp24 (Right) HW2 Proportion of Time Spent & Number of Submissions Colored by Student Progression. Upper plots show average time spent per student. Lower plots show average number of submissions per student.
  • ...and 3 more figures