[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-83950-en":3,"doc-seo-83950-105":30,"detail-sidebar-cat-0-en-105":91},{"code":4,"msg":5,"data":6},0,"success",{"doc_id":7,"user_id":8,"nickname":9,"user_avatar":10,"doc_module":4,"category_id":11,"category_name":12,"doc_title":13,"doc_description":14,"doc_content":15,"file_id":16,"file_url":17,"file_type":18,"file_size":19,"view_count":20,"is_deleted":4,"is_public":21,"is_downloadable":21,"audit_status":21,"page_count":22,"language":23,"language_code":24,"site_id":25,"html_lang":24,"table_of_contents":26,"faqs":27,"seo_title":13,"seo_description":14,"update_tm":28,"read_time":29},83950,687197207639,"Asher","https://ap-avatar.wpscdn.com/davatar_a8503ba1806abce46bf441b54a3ca4cd",8,"Research & Report","Automated Recommendation of Programming Learning Content Using Pattern Based Knowledge Components","Introductory programming relies on practice and short learning activities to build mastery of foundational concepts, yet connecting existing resources into instructionally meaningful sequences is difficult without expert curation. This study presents a pattern-based Knowledge Components (KCs) approach that automatically identifies code-based learning items targeting similar concepts. Pattern-based KCs are extracted from code samples, and recommendations are generated by measuring similarity between KC sets tied to each activity. Evaluated on expert-organized introductory Python materials, the approach matches expert bundling and outperforms KC-and embedding-based baselines, enabling scalable concept-oriented guidance for learners and instructors.","Automated Recommendation of Programming Learning Content Using Pattern-based Knowledge Components  \nMuntasir Hoq1 , Griffin Pitts1 , Zhangqi Duan2, Arun Balajiee Lekshmi Narayanan3 , Mohammad Hassany3 , Andrew Lan2, Peter Brusilovsky3 and Bita Akram1, *  \n1 North Carolina State University, Raleigh, NC, USA 2 University of Massachusetts, Amherst, MA, USA 3 University of Pittsburgh, Pittsburgh, PA, USA  \nAbstract  \nIntroductory 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.  \nKeywords  \nProgramming education, knowledge components, explainable recommendations, educational recommendations  \n1. Introduction  \nExample-based problem solving has shown promise for improving students’ learning across educational domains [1] . In computer science (CS) education, one common activity type is a “worked example”. Ina worked example, a correct solution of a programming problem (i.e., code) is presented to students along with instructional explanations about each coding step that can be revealed as needed [2, 3] . Timely exposure to a relevant example can help students deepen their understanding and progress when they encounter difficulty [2, 3, 4] . Complementing worked examples, introductory programming environments often provide practice-oriented activities that challenge students to apply what they know, for instance, by completing incomplete code [2], or arranging code lines in a correct order [5] .  \nPrior work suggests that alternating between types of activities focusing on similar concepts can be beneficial for students, especially when semantic similarity between activities is curated by experts [6] . For example, a study using the Program Construction Examples (PCEX) system, bundling worked examples with closely related completion problems, increased engagement and improved students’performance [2] . Subsequent studies confirmed that semantic similarity between a practice-oriented activity and its paired worked example is a driver of problem-solving success and persistence [6] .  \nThough an abundance of programming activities are available across repositories, it remains difficult to maintain links among activities that target similar programming concepts and provide learners with relevant items at the moment of need [7] . Instructors have traditionally addressed this by manually linking items, such as assigning practice problems with examples [8] . However, human curation does not scale well. In large repositories, maintaining these links becomes slow, difficult to update, and prone to inconsistency. Early automated approaches mostly used surface signals, such as keywords  \nCSEDM’26: 10th Educational Data Mining in Computer Sci","cbCaikkWoyaY8hwP","https://ap.wps.com/l/cbCaikkWoyaY8hwP","pdf",996445,4,1,13,"English","en",105,"# Introduction\n## Worked examples and practice activities\n## Limitations of manual and early automated linking\n## Pattern-based knowledge components for recommendations","[{\"question\":\"What problem does the paper address in programming education resources?\",\"answer\":\"It addresses the challenge of linking and organizing programming learning activities around similar concepts without relying on time-intensive expert curation.\"},{\"question\":\"How does the proposed method recommend learning content?\",\"answer\":\"It extracts pattern-based knowledge components from code samples, builds KC sets for activities, and ranks candidate items using similarity between KC sets represented as vectors.\"},{\"question\":\"What evidence supports the effectiveness of the approach?\",\"answer\":\"Experiments on an expert-organized corpus of introductory Python materials show the pattern-based KC approach aligns with the expert grouping and outperforms representative KC-and embedding-based baselines in ranking evaluations.\"}]",1784191640,33,{"code":4,"msg":31,"data":32},"ok",{"site_id":25,"language":24,"slug":33,"title":13,"keywords":34,"description":14,"schema_data":35,"social_meta":86,"head_meta":88,"extra_data":90,"updated_unix":28},"automated-recommendation-of-programming-learning-content-using-pattern-based-knowledge-components","",{"@graph":36,"@context":85},[37,53,68],{"@type":38,"itemListElement":39},"BreadcrumbList",[40,44,48,51],{"item":41,"name":42,"@type":43,"position":21},"https://docshare.wps.com","Home","ListItem",{"item":45,"name":46,"@type":43,"position":47},"https://docshare.wps.com/document/","Document",2,{"item":49,"name":12,"@type":43,"position":50},"https://docshare.wps.com/document/research-report/",3,{"item":52,"name":13,"@type":43,"position":20},"https://docshare.wps.com/document/automated-recommendation-of-programming-learning-content-using-pattern-based-knowledge-components/83950/",{"url":52,"name":13,"@type":54,"author":55,"headline":13,"publisher":57,"fileFormat":60,"inLanguage":24,"description":14,"dateModified":61,"datePublished":62,"encodingFormat":60,"isAccessibleForFree":63,"interactionStatistic":64},"DigitalDocument",{"name":9,"@type":56},"Person",{"url":41,"name":58,"@type":59},"DocShare","Organization","application/pdf","2026-07-27","2026-07-16",true,{"@type":65,"interactionType":66,"userInteractionCount":20},"InteractionCounter",{"@type":67},"ViewAction",{"@type":69,"mainEntity":70},"FAQPage",[71,77,81],{"name":72,"@type":73,"acceptedAnswer":74},"What problem does the paper address in programming education resources?","Question",{"text":75,"@type":76},"It addresses the challenge of linking and organizing programming learning activities around similar concepts without relying on time-intensive expert curation.","Answer",{"name":78,"@type":73,"acceptedAnswer":79},"How does the proposed method recommend learning content?",{"text":80,"@type":76},"It extracts pattern-based knowledge components from code samples, builds KC sets for activities, and ranks candidate items using similarity between KC sets represented as vectors.",{"name":82,"@type":73,"acceptedAnswer":83},"What evidence supports the effectiveness of the approach?",{"text":84,"@type":76},"Experiments on an expert-organized corpus of introductory Python materials show the pattern-based KC approach aligns with the expert grouping and outperforms representative KC-and embedding-based baselines in ranking evaluations.","https://schema.org",{"og:url":52,"og:type":87,"og:title":13,"og:site_name":58,"og:description":14},"article",{"robots":89,"canonical":52},"index,follow",{"doc_id":7,"site_id":25},{"code":4,"msg":5,"data":92},[93,97,101,105,110,115,120,123,128,131,135],{"id":21,"doc_module":4,"doc_module_name":46,"category_name":94,"show_sort_weight":95,"slug":96},"Story & Novel",90,"story-novel",{"id":47,"doc_module":4,"doc_module_name":46,"category_name":98,"show_sort_weight":99,"slug":100},"Literature",80,"literature",{"id":20,"doc_module":4,"doc_module_name":46,"category_name":102,"show_sort_weight":103,"slug":104},"Exam",70,"exam",{"id":106,"doc_module":4,"doc_module_name":46,"category_name":107,"show_sort_weight":108,"slug":109},5,"Comic",60,"comic",{"id":111,"doc_module":4,"doc_module_name":46,"category_name":112,"show_sort_weight":113,"slug":114},6,"Technology",50,"technology",{"id":116,"doc_module":4,"doc_module_name":46,"category_name":117,"show_sort_weight":118,"slug":119},7,"Healthcare",40,"healthcare",{"id":11,"doc_module":4,"doc_module_name":46,"category_name":12,"show_sort_weight":121,"slug":122},30,"research-report",{"id":124,"doc_module":4,"doc_module_name":46,"category_name":125,"show_sort_weight":126,"slug":127},9,"Religion & Spirituality",20,"religion-spirituality",{"id":126,"doc_module":4,"doc_module_name":46,"category_name":129,"show_sort_weight":126,"slug":130},"World Cup","world-cup",{"id":132,"doc_module":4,"doc_module_name":46,"category_name":133,"show_sort_weight":132,"slug":134},10,"Lifestyle","lifestyle",{"id":136,"doc_module":4,"doc_module_name":46,"category_name":137,"show_sort_weight":106,"slug":138},19,"General","general"]