# Automated Recommendation of Programming Learning Content Using Pattern-based Knowledge Components

arXiv: https://arxiv.org/abs/2607.05409 · HTML: https://mlsanity.com/paper/2607.05409/

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 5 of its 34 references that are in the map.
- First posted on arXiv 9 Jun 2026.

## Builds on (most cited first, 5 of 5)

- [code2vec: Learning Distributed Representations of Code](https://mlsanity.com/paper/1803.09473/) (2018)
- [Automated Identification of Logical Errors in Programs: Advancing Scalable Analysis of Student Misconceptions](https://mlsanity.com/paper/2505.10913/) (2025)
- [Understanding Human-AI Trust in Education](https://mlsanity.com/paper/2506.09160/) (2025)
- [Pattern-based Knowledge Component Extraction from Student Code Using Representation Learning](https://mlsanity.com/paper/2508.09281/) (2025)
- [Personalized Worked Example Generation from Student Code Submissions Using Pattern-based Knowledge Components](https://mlsanity.com/paper/2604.24758/) (2026)

## Abstract (arXiv)

Introductory programming instruction relies on hands-on practice and short learning activities to support mastery of foundational concepts. Although many such learning resources exist, organizing and linking these items in instructionally meaningful ways is challenging without time-intensive expert curation. This study investigates the use of pattern-based Knowledge Components (KCs) to automatically identify code-based learning resources targeting similar concepts. In our approach, pattern-based KCs are extracted from each code sample, and related activities are identified by measuring similarity between the KC sets associated with each activity. By leveraging alignment at the level of semantically important programming patterns, this method supports contextually appropriate and pedagogically useful recommendations. We evaluate our approach on an expert-organized corpus of introductory Python materials in which instructors grouped items into bundles based on conceptual similarity. Results show that our pattern-based KC approach retrieves resources that align with this expert organization, and outperformed representative KC- and embedding-based baselines across standard ranking evaluations. Overall, the framework supports targeted, concept-oriented guidance for programming learners and can help instructors organize, bundle, and recommend instructional content at scale.
