Knowledge tracing (KT) estimates students' mastery of knowledge concepts or skills by analyzing their historical interactions. Although general KT methods have effectively assessed students' knowledge states, specific measurements of students' programming skills remain insufficient. Existing studies mainly rely on exercise outcomes and do not fully utilize behavioral data during the programming process. Therefore, we integrate a Logical and Grammar Skills Knowledge Tracing (LGS-KT) model to enhance programming education. This model integrates static analysis and dynamic monitoring (such as CPU and memory consumption) to evaluate code elements, providing a thorough assessment of code quality. By analyzing students' multiple iterations on the same programming problem, we constructed a reweighted logical skill evolution graph to assess the development of students' logical skills. Additionally, to enhance the interactions among representations with similar grammatical skills, we developed a grammatical skills interaction graph based on the similarity of knowledge concepts. This approach significantly improves the accuracy of inferring students' programming grammatical skill states. The LGS-KT model has demonstrated superior performance in predicting student outcomes. Our research highlights the potential application of a KT model that integrates logical and grammatical skills in programming exercises. To support reproducible research, we have published the data and code at https://github.com/xinjiesun-ustc/LGS-KT, encouraging further innovation in this field.
Keywords: Data mining; Grammatical skill; Knowledge tracing; Logical skill; Programming education.
Copyright © 2025. Published by Elsevier Ltd.