A Review of Educational Games for Teaching Programming to Primary School Students

A Review of Educational Games for Teaching Programming to Primary School Students

Andreas Giannakoulas, Stelios Xinogalos
DOI: 10.4018/978-1-7998-4576-8.ch001
(Individual Chapters)
No Current Special Offers


In recent years, several educational games for learning programming have been developed with promising results. The main purpose of this chapter is to present 22 educational games or platforms that aim to cultivate computational thinking through teaching computer programming concepts to primary school students. A short description of each game followed by a comparative analysis of both their game mechanics and their educational aspects is presented. Additionally, less typical functionalities such as online classrooms, the support for learning analytics, and the creation of new levels are analyzed. This chapter could be useful for game designers and IT teachers who would like to use a game-based approach in the teaching process.
Chapter Preview


Computational Thinking (CT) was first presented by Papert in 1980 and again in 1996 (Papert, 1980; 1996), and since then its definition, teaching, and evaluation have been discussed by many scholars (Hsu, Chang, & Hung, 2018). The concept of CT became popular by Wing (2006). According to Wing (2006), CT is a set of skills, techniques, methods, and attitudes that allow solutions to be addressed in a wide range of problems, not just in the field of information technology. Through CT, people discover new ways to deal with existing problems. Although there are several studies nowadays on CT, the scientific community has not come up with a precise definition and what exactly it means (Moreno-León, Román-González, & Robles, 2018). Thus, several definitions besides the one of Wing (2006) can be found. For example, according to Atmazidou and Demetriadis (2016), abstraction, decomposition, generalization, algorithmic thinking and modularity are considered as basic CT skills.

Computer programming is considered by many researchers as an effective way to develop high level skills, such as problem solving, logical thinking, critical thinking, and CT (Combéfis, Beresnevičius, & Dagienė, 2016). Although CT can be applied to various subjects such as mathematics or biology (Hsu et al., 2018), most researchers agree that the most effective way to promote CT to the early ages is through teaching programming activities (Moreno-León et al., 2018).

Recognizing the important role of computer programming as a means of promoting CT, many initiatives such as the “Europe Code Week” (https://www.bebras.org/), have been introduced for students of different age groups, aiming at their digital literacy and familiarity with computer programming and CT, through fun and constructive activities. Usually, these initiatives are based on digital platforms where students can develop and improve their CT skills through playing games.

However, learning programming is not an easy process for novice programmers (Zaharija, Mladenović, & Boljat, 2013). The difficulty in understanding the abstract concepts of programming but also the traditional teaching method which is based mainly on the presentation of theoretically programming concepts and the implementation of number and symbol processing programs in professional programming environments reduce students' motivation and interest in learning programming (Brusilovsky, Calabrese, Hvorecky, Kouchnirenko, & Miller,1997).

In order to overcome such difficulties, different approaches have been proposed by researchers (Xinogalos & Satratzemi, 2004) such as: programming microworlds (Xinogalos, Satratzemi, & Dagdilelis, 2006), flowchart-based programming environments (Xinogalos, 2013), educational robotics activities (Atmazidou & Demetriadis, 2016) and more recently educational games (Vahldick, Mendes, & Marcelino, 2014).

Key Terms in this Chapter

Primary Education: Is typically the first stage of formal education, coming after preschool and before secondary school.

Novice Programmer: A computer programmer who is not experienced in programming.

Computer Programming: Is the process of designing and building an executable computer program to accomplish a specific computing result.

Serious Game (SG): Is a game designed for a primary purpose other than pure entertainment.

Computational Thinking: Is a set of problem-solving methods that involve expressing problems and their solutions in ways that a computer could execute.

Complete Chapter List

Search this Book: