<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"><rdf:Description rdf:about="https://repozitorij.uni-lj.si/IzpisGradiva.php?id=177953"><dc:title>Developing conceptual programming knowledge in pre-service computer science teachers</dc:title><dc:creator>Zapušek,	Matej	(Avtor)
	</dc:creator><dc:creator>Nančovska Šerbec,	Irena	(Avtor)
	</dc:creator><dc:subject>introductory programming</dc:subject><dc:subject>programming patterns</dc:subject><dc:subject>com-putational thinking</dc:subject><dc:subject>teachers’ education</dc:subject><dc:description>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  understand-ing  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 over time  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 explanatory 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.</dc:description><dc:date>2025</dc:date><dc:date>2026-01-14 12:21:17</dc:date><dc:type>Članek v reviji</dc:type><dc:identifier>177953</dc:identifier><dc:language>sl</dc:language><dc:rights>Podatek o licenci CC-BY 4.0 je naveden na spletni strani revije (https://ojs.cepsj.si/index.php/cepsj/about). (Datum opombe 14. 1. 2026)</dc:rights></rdf:Description></rdf:RDF>
