[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-seo-598493-105":3,"detail-sidebar-cat-0-en-105":80,"doc-detail-598493-en":130},{"code":4,"msg":5,"data":6},0,"ok",{"site_id":7,"language":8,"slug":9,"title":10,"keywords":11,"description":12,"schema_data":13,"social_meta":73,"head_meta":75,"extra_data":77,"updated_unix":79},105,"en","developing-conceptual-programming-knowledge-in-pre-service-computer-science-teachers-the-role-of-programming-patterns","Developing Conceptual Programming Knowledge in Pre-Service Computer Science Teachers - The Role of Programming Patterns","","Study investigates how pre-service students in a two-subject teacher program (computer science and mathematics) at the Faculty of Education, University of Ljubljana, develop conceptual programming knowledge by implementing, recognising, and explaining programming patterns. Using data from over 500 solutions and tracking 17 students longitudinally across three to four years, the study analyses four foundational patterns: linear search, guarded search, counting, and extreme values. Results show uneven progress and a persistent gap between pattern implementation and conceptual explanation, with explanation ability predicting task-design quality, underscoring the need for explicit pattern instruction in teacher education.",{"@graph":14,"@context":72},[15,34,55],{"@type":16,"itemListElement":17},"BreadcrumbList",[18,23,27,31],{"item":19,"name":20,"@type":21,"position":22},"https://docshare.wps.com","Home","ListItem",1,{"item":24,"name":25,"@type":21,"position":26},"https://docshare.wps.com/document/","Document",2,{"item":28,"name":29,"@type":21,"position":30},"https://docshare.wps.com/document/research-report/","Research & Report",3,{"item":32,"name":10,"@type":21,"position":33},"https://docshare.wps.com/document/developing-conceptual-programming-knowledge-in-pre-service-computer-science-teachers-the-role-of-programming-patterns/598493/",4,{"url":32,"name":10,"@type":35,"image":36,"author":41,"headline":10,"publisher":44,"fileFormat":47,"inLanguage":8,"description":12,"dateModified":48,"datePublished":49,"encodingFormat":47,"isAccessibleForFree":50,"interactionStatistic":51},"DigitalDocument",{"url":37,"@type":38,"width":39,"height":40},"https://docshare.wps.com/thumbnails/developing-conceptual-programming-knowledge-in-pre-service-computer-science-teachers-the-role-of-programming-patterns/598493.png","ImageObject",300,407,{"name":42,"@type":43},"A glass of water","Person",{"url":19,"name":45,"@type":46},"DocShare","Organization","application/pdf","2026-10-29","2026-10-15",true,{"@type":52,"interactionType":53,"userInteractionCount":33},"InteractionCounter",{"@type":54},"ViewAction",{"@type":56,"mainEntity":57},"FAQPage",[58,64,68],{"name":59,"@type":60,"acceptedAnswer":61},"What programming patterns does the study focus on?","Question",{"text":62,"@type":63},"The study focuses on four foundational patterns: linear search, guarded search, counting, and extreme values. These patterns are analysed through students’ implementation, recognition, and explanation tasks.","Answer",{"name":65,"@type":60,"acceptedAnswer":66},"How did students’ skills change over time?",{"text":67,"@type":63},"Students gradually improved their use of programming patterns, moving from many redundant or incorrect solutions toward correct implementations. However, the improvement was uneven across different pattern types and programming constructs.",{"name":69,"@type":60,"acceptedAnswer":70},"Why is conceptual explanation considered important in this research?",{"text":71,"@type":63},"A substantial gap was found between students’ ability to implement patterns and their ability to explain them conceptually. Explanation ability strongly predicted the quality of task design, indicating that conceptual mastery supports pedagogical competence.","https://schema.org",{"og:url":32,"og:type":74,"og:title":10,"og:site_name":45,"og:description":12},"article",{"robots":76,"canonical":32},"index,follow",{"doc_id":78,"site_id":7},598493,1792658188,{"code":4,"msg":81,"data":82},"success",[83,87,91,95,100,105,110,114,119,122,126],{"id":22,"doc_module":4,"doc_module_name":25,"category_name":84,"show_sort_weight":85,"slug":86},"Story & Novel",90,"story-novel",{"id":26,"doc_module":4,"doc_module_name":25,"category_name":88,"show_sort_weight":89,"slug":90},"Literature",80,"literature",{"id":33,"doc_module":4,"doc_module_name":25,"category_name":92,"show_sort_weight":93,"slug":94},"Exam",70,"exam",{"id":96,"doc_module":4,"doc_module_name":25,"category_name":97,"show_sort_weight":98,"slug":99},5,"Comic",60,"comic",{"id":101,"doc_module":4,"doc_module_name":25,"category_name":102,"show_sort_weight":103,"slug":104},6,"Technology",50,"technology",{"id":106,"doc_module":4,"doc_module_name":25,"category_name":107,"show_sort_weight":108,"slug":109},7,"Healthcare",40,"healthcare",{"id":111,"doc_module":4,"doc_module_name":25,"category_name":29,"show_sort_weight":112,"slug":113},8,30,"research-report",{"id":115,"doc_module":4,"doc_module_name":25,"category_name":116,"show_sort_weight":117,"slug":118},9,"Religion & Spirituality",20,"religion-spirituality",{"id":117,"doc_module":4,"doc_module_name":25,"category_name":120,"show_sort_weight":117,"slug":121},"World Cup","world-cup",{"id":123,"doc_module":4,"doc_module_name":25,"category_name":124,"show_sort_weight":123,"slug":125},10,"Lifestyle","lifestyle",{"id":127,"doc_module":4,"doc_module_name":25,"category_name":128,"show_sort_weight":96,"slug":129},19,"General","general",{"code":4,"msg":81,"data":131},{"doc_id":78,"user_id":132,"nickname":42,"user_avatar":133,"doc_module":4,"category_id":111,"category_name":29,"doc_title":10,"doc_description":12,"doc_content":134,"file_id":135,"file_url":136,"file_type":137,"file_size":138,"view_count":33,"is_deleted":4,"is_public":22,"is_downloadable":22,"audit_status":22,"page_count":139,"language":140,"language_code":8,"site_id":7,"html_lang":8,"table_of_contents":141,"faqs":142,"seo_title":143,"seo_description":12,"update_tm":144,"read_time":145},962090760832,"https://ap-avatar.wpscdn.com/davatar_155a257f0dc6eb9ab79c44ca47cae57d","Received: 21 April 2025, Accepted: 10 November 2025  \nDOI: [https://doi.org/10.26529/cepsj.2130](https://doi.org/10.26529/cepsj.2130)  \nDeveloping Conceptual Programming Knowledge in Pre-Service Computer Science Teachers: The Role of Programming Patterns  \nMatej Zapušek*1 and Irena Nančovska Šerbec2  \n• This study examines how students enrolled in a two-subject teacher programme (computer science and mathematics) at the Faculty of Education, University of Ljubljana, develop a conceptual understanding of programming knowledge through the implementation, recognition and explanation of programming patterns. Based on over 500 programming solutions completed by first-and second-year students, we focus on four foundational patterns: linear search, guarded search, counting and extreme values. The study involved 70 students across different phases, with 17 of them tracked longitudinally over three to four years, examining their ability to recognise programming patterns, explain underlying logic and design related tasks. The results show that the students gradually improved their use of programming patterns, initially producing many redundant or incorrect solutions, which overtime shifted towards correct implementations. However, this development was uneven across pattern types and programming constructs. Tasks involving while loops and guarded searches initially proved more challenging, with higher rates of incorrect or redundant solutions in the early phases. A consistent finding across all of the student groups was a substantial gap between the students’ ability to implement patterns and their ability to explain them conceptually. This demonstrates that for loop implementation skills do not automatically transfer to conceptual understanding, especially for more complex cases like guarded search and extreme values. This finding is particularly concerning for prospective educators. Importantly, explanation ability strongly predicted task design quality, underscoring the fact that conceptual mastery directly supports pedagogical competence. These findings highlight the need for explicit instruction on programming patterns in teacher education, not only to support correct implementation but also to build deeper  \n1 *Corresponding Author. Faculty of Education, University of Ljubljana, Slovenia; [matej.zapusek@pef.uni-lj.si](matej.zapusek@pef.uni-lj.si).  \n2 Faculty of Education, University of Ljubljana, Slovenia.  \n138  developing conceptual programming knowledge in pre-service computer ...   \nexplanatory and pedagogical skills. Emphasising patterns as conceptual tools can help future educators better analyse code, anticipate student difficulties and design effective, pattern-based programming tasks.  \nKeywords: introductory programming, programming patterns, computational thinking, teachers’ education  \nRazvijanje konceptualnega programerskega znanja pri študentih pedagoških smeri računalništva: vloga programskih vzorcev  \nMatej Zapušek in Irena Nančovska Šerbec  \n• V raziskavi preučujemo, kako študentje študijskega programa Dvopredmetni učitelj, smer računalništvo in matematika, na Pedagoški fakulteti Univerze v Ljubljani razvijajo konceptualno programersko znanje skozi implementacijo, prepoznavanje in razlago programskih vzorcev. Na podlagi več kot 500 programskih rešitev študentov prvega in drugega letnika se osredinjamo na štiri temeljne programske vzorce: linearno iskanje, zaščiteno linearno iskanje, štetje in iskanje ekstremnih vrednosti. Vraziskavi je sodelovalo 70 študentov; 17 smo jih spremljali longitudinalno (od tri do štiri leta) ter analizirali njihovo zmožnost prepoznavanja in razlage logike delovanja izbranih programskih vzorcev ter oblikovanjanalog, ki pri reševanju zahtevajo njihovo uporabo. Izsledki kažejo, da so študentje postopoma izboljševali uporabo programskih vzorcev: v začetnih fazah so pogosto reševali naloge z odvečnimi deli kode ali napačnimi rešitvami, s časom pa so prehajali k pravilnim implementacijam. Nap","cbCaioT02G9R6VXh","https://ap.wps.com/l/cbCaioT02G9R6VXh","pdf",484876,35,"English","# Introduction\n# Programming patterns and research design\n## Participants and longitudinal tracking\n## Patterns examined and assessment focus\n# Key findings\n## Implementation vs. conceptual explanation gap\n## Pattern- and construct-dependent differences\n# Educational implications","[{\"question\":\"What programming patterns does the study focus on?\",\"answer\":\"The study focuses on four foundational patterns: linear search, guarded search, counting, and extreme values. These patterns are analysed through students’ implementation, recognition, and explanation tasks.\"},{\"question\":\"How did students’ skills change over time?\",\"answer\":\"Students gradually improved their use of programming patterns, moving from many redundant or incorrect solutions toward correct implementations. However, the improvement was uneven across different pattern types and programming constructs.\"},{\"question\":\"Why is conceptual explanation considered important in this research?\",\"answer\":\"A substantial gap was found between students’ ability to implement patterns and their ability to explain them conceptually. Explanation ability strongly predicted the quality of task design, indicating that conceptual mastery supports pedagogical competence.\"}]","Developing Conceptual Programming Knowledge in Pre-Service Computer Science Teachers - The Role of Programming Patterns | PDF",1792087035,88]