Teaching Concurrent Programming Concepts Using Scratch in Primary School: Methodology and Evaluation

Eleni Fatourou, Nikolaos C Zygouris, Thanasis Loukopoulos, Georgios I Stamoulis


Computer programming can help children develop problem solving and analytical skills. Thus, many countries have included computer science in the curriculum of primary school. Given differences in culture, available infrastructures, as well as the age pupils are introduced to computer science, forming a computer science curriculum still remains a challenge. Towards this end, this study focuses on ex-ploring the potential merits of introducing concurrent programming concepts ear-ly in the learning process. The basic premise is that although concurrent pro-gramming at its full details is a rather advanced topic even at university level, it is everyday practice to perform two or more tasks simultaneously that might need (or not) some sort of synchronization. Therefore, the tutor can capitalize on eve-ryday experience to explain basic concepts on concurrency. Such correlation be-tween life experience and concurrent programming challenges may expand the cognitive functions of the pupils and provide them with further background to improve analytical thinking. The proposed curriculum for fifth and sixth grade primary school was adopted in seven classes in Greece. Results indicate that un-initiated to programming pupils at the age of ten (fifth grade) were able to com-prehend basic concurrency topics, while pupils at the age of eleven (sixth grade) with some programming familiarity were able to understand more advanced concepts.


concurrent programming, computer programming, constructivism, Scratch, primary school

Full Text:


International Journal of Engineering Pedagogy (iJEP) – eISSN: 2192-4880
Creative Commons License
Scopus logo ESCI logo DBLP logo EBSCO logo DOAJ logo