用代码嵌入建模编程能力,智能推荐适配学生水平的练习题。
Modeling Programming Skills with Source Code Embeddings for Context-aware Exercise Recommendation
- 通过代码嵌入生成学生技能画像,匹配题目所需技能。
- Jina嵌入在多数技能上优于TF-IDF、CodeBERT-cpp等基线方法。
- 推荐效果优于基于正确率或解题时间的基准,适合个性化学习。
本文提出一种上下文感知的推荐系统,利用学生在课程中提交的源代码嵌入来建模其编程技能。这些嵌入能预测学生在多个编程主题上的能力,生成技能画像,并与未见过的作业题所需技能进行匹配。通过计算学生画像与题目技能向量之间的余弦相似度,按匹配度排序推荐练习题。我们使用本校一门入门编程课程的真实数据进行了评估,涵盖七个课程周期的学生提交记录。首先评估了源代码嵌入在技能预测上的有效性,对比了基于标记和图结构的替代方法。结果显示,Jina嵌入在多数技能上优于TF-IDF、CodeBERT-cpp和GraphCodeBERT。此外,我们分析了系统推荐与每周课程内容一致性的能力,结果表明该方法始终优于基于正确率或解题时间的基线方法,说明预测的编程技能是更可靠的推荐信号。
原文摘要 · Abstract (English)
In this paper, we propose a context-aware recommender system that models students' programming skills using embeddings of the source code they submit throughout a course. These embeddings predict students' skills across multiple programming topics, producing profiles that are matched to the skills required by unseen homework problems. To generate recommendations, we compute the cosine similarity between student profiles and problem skill vectors, ranking exercises according to their alignment with each student's current abilities. We evaluated our approach using real data from students and exercises in an introductory programming course at our university. First, we assessed the effectiveness of our source code embeddings for predicting skills, comparing them with token-based and graph-based alternatives. Results showed that Jina embeddings outperformed TF-IDF, CodeBERT-cpp, and GraphCodeBERT across most skills. Additionally, we evaluated the system's ability to recommend exercises aligned with weekly course content by analyzing student submissions collected over seven course offerings. Our approach consistently produced more suitable recommendations than baselines based on correctness or solution time, indicating that predicted programming skills provide a stronger signal for problem recommendation.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。