Details

Developing conceptual programming knowledge in pre-service computer science teachers : the role of programming patterns
ID Zapušek, Matej (Author), ID Nančovska Šerbec, Irena (Author)

.pdfPDF - Presentation file, Download (920,42 KB)
MD5: 07915B95A6D7E8CD191D7CCD56013F53
URLURL - Source URL, Visit https://cepsj.si/index.php/cepsj/article/view/2130 This link opens in a new window

Abstract
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.

Language:English
Keywords:introductory programming, programming patterns, com-putational thinking, teachers’ education
Work type:Article
Typology:1.01 - Original Scientific Article
Organization:PEF - Faculty of Education
Publication status:Published
Publication version:Version of Record
Year:2025
Number of pages:Str. 137–171
Numbering:Vol. 15, no. 4
PID:20.500.12556/RUL-177953 This link opens in a new window
UDC:378:004
ISSN on article:2232-2647
DOI:10.26529/cepsj.2130 This link opens in a new window
COBISS.SI-ID:264248579 This link opens in a new window
Copyright:
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)
Publication date in RUL:14.01.2026
Views:262
Downloads:144
Metadata:XML DC-XML DC-RDF
:
Copy citation
Share:Bookmark and Share

Record is a part of a journal

Title:CEPS Journal: Center for Educational Policy Studies Journal = revija Centra za študij edukacijskih strategij
Publisher:Pedagoška fakulteta, Univerza v Ljubljani
ISSN:2232-2647
COBISS.SI-ID:254029824 This link opens in a new window

Licences

License:CC BY 4.0, Creative Commons Attribution 4.0 International
Link:http://creativecommons.org/licenses/by/4.0/
Description:This is the standard Creative Commons license that gives others maximum freedom to do what they want with the work as long as they credit the author.

Secondary language

Language:Slovenian
Title:Razvijanje konceptualnega programerskega znanja pri študentih pedagoških smeri računalništva : vloga programskih vzorcev
Abstract:
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. V raziskavi 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 oblikovanja nalog, 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. Napredek je bil neenakomeren med različnimi programskimi vzorci in uporabljenimi programerskimi konstrukti. Naloge, ki so vključevale uporabo zanke »while« pri zaščitenem linearnem iskanju, so se izkazale za zahtevnejše, saj so v zgodnjih fazah pogosteje vodile v napačne rešitve ali odvečne dele kode. Kljub izboljšavam pri implementaciji se je pri vseh skupinah študentov pokazal razkorak med tem, kar znajo implementirati s programsko kodo, in tem, kar znajo konceptualno razložiti. To kaže, da pravilna uporaba programskega konstrukta, na primer zanke »for«, še ne zagotavlja razumevanja ideje koncepta programskega vzorca, kar je še zlasti očitno pri zahtevnejših vzorcih, kot sta zaščiteno linearno iskanje in iskanje ekstremnih vrednosti. Zavedanje obstoja tega razkoraka je pri bodočih učiteljih še posebej pomembno. Poleg tega se je pokazalo, da ima sposobnost razlage delovanja programskega vzorca močen vpliv na kakovost oblikovanih nalog. To potrjuje, da konceptualno razumevanje neposredno podpira razvoj pedagoških kompetenc. Rezultati raziskave kažejo, da bi bilo v izobraževanju učiteljev računalništva smiselno bolj eksplicitno vključiti poučevanje programskih vzorcev. S tem bi prispevali k njihovi pravilni implementaciji, prav tako pa bi spodbujali globlje konceptualno razumevanje in s tem povezanih pedagoških kompetenc. Umeščanje programskih vzorcev kot konceptualnih orodij v programe pedagoških smeri računalništva lahko bodočim učiteljem omogoči natančnejšo analizo kode, boljše predvidevanje pogostih učnih težav in oblikovanje učinkovitih, na vzorcih temelječih programerskih nalog.

Keywords:uvodno programiranje, programski vzorci, računalniško mišljenje, izobraževanje učiteljev, računalništvo, učitelji

Similar documents

Similar works from RUL:
Similar works from other Slovenian collections:

Collection

This document is a part of these collections:
  1. CEPS journal

Back