Programming knowledge tracing based on heterogeneous graph representation

Existing programming knowledge tracing methods have not deeply explored the relationships between knowledge concepts and programming questions or students’ codes, which leads to insufficient representation of programming questions and students’ codes and insufficient tracing of students’ knowledge s...

Full description

Saved in:
Bibliographic Details
Published in:Knowledge-based systems Vol. 300; p. 112161
Main Authors: Wu, Yaqiang, Zhu, Hui, Wang, Chenyang, Song, Fujian, Zhu, Haiping, Chen, Yan, Zheng, Qinghua, Tian, Feng
Format: Journal Article
Language:English
Published: Elsevier B.V 27.09.2024
Subjects:
ISSN:0950-7051
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Existing programming knowledge tracing methods have not deeply explored the relationships between knowledge concepts and programming questions or students’ codes, which leads to insufficient representation of programming questions and students’ codes and insufficient tracing of students’ knowledge states. To address these problems, this study proposes a programming knowledge tracing method based on a heterogeneous graph representation. We constructed a heterogeneous graph, where nodes represent the knowledge concept, programming question, and student code, and edges represent the relationships among knowledge concepts, programming questions, and student code. Subsequently, we leverage a graph structure learning algorithm to exploit the potential connections among them, aiming to enhance the graph structure information. Based on the graph, we further fully integrated the knowledge concept information into the representations of programming questions and student codes through the graph convolutional representation learning algorithm. Moreover, an attention mechanism is utilized to compute the effect of programming questions and student codes on the knowledge state and update the student's knowledge state in conjunction with the corresponding answer results. Furthermore, the proposed method provides an assessment of the mastery level for each knowledge concept rather than only assessing each question using traditional methods. Experiments on two datasets, CodeWorkout and CodeNet, show that the proposed method achieves an average improvement of 4.28% in ACC and 6.48% in AUC compared with the baseline models, validating the effectiveness of the proposed method.
ISSN:0950-7051
DOI:10.1016/j.knosys.2024.112161