Automated System Recommends Programming Content via Pattern-based KCs

Muntasir Hoq, Griffin Pitts, Zhangqi Duan, Arun Balajiee Lekshmi Narayanan, Mohammad Hassany, Andrew Lan, Peter Brusilovsky, Bita Akram· July 8, 2026 View original

Summary

This study introduces an automated method for recommending programming learning resources by extracting pattern-based Knowledge Components (KCs) from code samples and measuring their similarity. The approach, evaluated on Python materials, outperformed baselines in aligning with expert-organized content, offering targeted guidance for learners and instructors.

In introductory programming education, hands-on practice and concise learning activities are crucial for mastering fundamental concepts. While numerous such resources exist, organizing and connecting them in a pedagogically meaningful way typically requires extensive expert curation. This research explores an automated solution using "pattern-based Knowledge Components" (KCs) to identify conceptually similar code-based learning materials. The proposed method involves extracting these pattern-based KCs from individual code samples and then determining the similarity between sets of KCs associated with different activities. This approach leverages alignment at the level of semantically important programming patterns, enabling contextually appropriate and instructionally useful recommendations. The method was evaluated using an expert-curated corpus of introductory Python materials, where instructors had grouped items by conceptual similarity. The results demonstrated that the pattern-based KC approach effectively retrieved resources aligned with this expert organization, outperforming both traditional KC- and embedding-based baseline methods in standard ranking evaluations. This framework promises to provide targeted, concept-oriented guidance for programming learners and assist instructors in efficiently organizing and recommending instructional content.

Why it matters

For professionals in EdTech, L&D, or software development, this research offers a scalable method to personalize learning paths and efficiently curate educational content, improving skill acquisition and reducing manual effort.

How to implement this in your domain

  1. 1Investigate integrating pattern-based KC extraction into your learning management systems for programming courses.
  2. 2Pilot the automated recommendation system for internal training programs or developer onboarding.
  3. 3Collaborate with educational content creators to tag and structure materials using identified programming patterns.
  4. 4Evaluate the impact of personalized content recommendations on learner engagement and skill mastery.

Who benefits

EdTechCorporate TrainingSoftware DevelopmentHR/L&D

Key takeaways

  • Automated content recommendation for programming can be achieved using pattern-based KCs.
  • This method identifies conceptually similar code-based learning resources effectively.
  • It outperforms traditional baselines in aligning with expert-curated content.
  • The framework supports scalable, targeted guidance for programming learners and instructors.

Original post by Muntasir Hoq, Griffin Pitts, Zhangqi Duan, Arun Balajiee Lekshmi Narayanan, Mohammad Hassany, Andrew Lan, Peter Brusilovsky, Bita Akram

"arXiv:2607.05409v1 Announce Type: cross Abstract: 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 instruc…"

View on X

Originally posted by Muntasir Hoq, Griffin Pitts, Zhangqi Duan, Arun Balajiee Lekshmi Narayanan, Mohammad Hassany, Andrew Lan, Peter Brusilovsky, Bita Akram on X · view source

Want to go deeper?

Turn these trends into skills with Learnijoy's hands-on AI & tech courses.

Explore courses