Using LLMs for Knowledge Component-level Correctness Labeling in Open-ended Coding Problems
This addresses a bottleneck in student modeling for programming education by providing fine-grained labels that were previously unavailable, though it is an incremental application of existing LLM technology to a specific domain.
The paper tackles the problem of missing knowledge component-level correctness labels in open-ended coding datasets by proposing an automated framework using large language models to label these directly from student code, resulting in learning curves more consistent with cognitive theory and improved predictive performance compared to baselines.
Fine-grained skill representations, commonly referred to as knowledge components (KCs), are fundamental to many approaches in student modeling and learning analytics. However, KC-level correctness labels are rarely available in real-world datasets, especially for open-ended programming tasks where solutions typically involve multiple KCs simultaneously. Simply propagating problem-level correctness to all associated KCs obscures partial mastery and often leads to poorly fitted learning curves. To address this challenge, we propose an automated framework that leverages large language models (LLMs) to label KC-level correctness directly from student-written code. Our method assesses whether each KC is correctly applied and further introduces a temporal context-aware Code-KC mapping mechanism to better align KCs with individual student code. We evaluate the resulting KC-level correctness labels in terms of learning curve fit and predictive performance using the power law of practice and the Additive Factors Model. Experimental results show that our framework leads to learning curves that are more consistent with cognitive theory and improves predictive performance, compared to baselines. Human evaluation further demonstrates substantial agreement between LLM and expert annotations.