This chapter presents the design, implementation, and evaluation of a new technique to improve children's algorithmic thinking skills that enable solving problems following clearly defined steps. Gamirithmic teaches children to codify ideas by coming up with solutions to problems in systematic and structured ways via its step-by-step procedure with the increasing complexity of commands in each step. The errors of kindergarten children (3-6 years of age) decreased with each trial, but the time taken did not, suggesting that children took time to process the more complicated commands and come up with algorithmic strategies to solve them, yet made fewer errors even though the steps got more complex, as they got used to engaging this type of thinking. Older children made fewer errors and took less time to complete the new tasks. Gamirithmic teaches technology-related concepts using a technology-independent medium that is less likely to induce behavioral problems associated with screen-based methods.
TopIntroduction
Algorithmic thinking refers to abstracting and modelling a problem and specifying a sequence of instructions to solve the problem, and since it is placed at the heart of computational thinking, it is recommended to be taught starting from primary school (Bonani et al., 2018). Simple algorithms are designed for children based on repetition, conditional logic, and sequencing to solve fun problems; like puzzles. Algorithmic thinking allows children to conceptualize solutions by breaking down problems using discrete steps in a procedure. As with every skill, children can improve their algorithmic thinking through completing creative projects to which they can apply their skills and with daily practice. Children can build up their algorithmic thinking skills by completing fun coding activities (Futschek & Moschitz, 2011). Since algorithmic thinking is considered to underlie success in science, technology, engineering, and mathematics (STEM) field as well as financial and integrated systems, a strategic realignment of school curricula to include instilling this type of thinking to students has been recommended (Hurlburt, 2018).
Algorithmic thinking, besides the inherent value it holds for problem-solving abilities, has also recently been shown to relate with executive functions, which are top-down and effortfully engaged mental processes that enable mentally playing with ideas, meeting novel challenges, and staying focused. It is believed higher-order executive functions such as reasoning, problem-solving, and planning are built from the core executive functions of inhibitory control, working memory, and cognitive flexibility (Diamond, 2013). However, it was not until recently that how the algorithmic thinking component of problem-solving relates to executive functions was investigated. A recent study has found moderate to strong correlations between computational thinking and executive functions in children, leading the authors to suggest computational thinking activities as an engaging and motivating method to help students improve their executive functions (Robertson et al., 2020). Similarly, another recent study with IT-Engineer students aged between 19-22 years found a positive correlation between executive functions and algorithmic problem solving (Kovari, 2020). Therefore, teaching algorithmic thinking to children starting from an early age emerges as a valuable teaching aim due to the ubiquitousness of it in real life and its relationship with executive functions, which are important for psychological, cognitive, and social development; future academic and life success; and mental and physical health (Diamond, 2013). In programming, functions are created to solve specific repeatable tasks by combining multiple instructions into one line of code, which contains the many steps that would be needed to accomplish that task. Similarly, humans need to mentally solve certain tasks to successfully function in daily life and this cognitive practice of coming up with the appropriate steps to reach a solution resembles writing a code to accomplish a certain task.
Though game-based e-learning can teach engineering and science concepts more effectively than conventional script-based instruction (Boeker et al., 2013), many researchers showed that tangible tools are much more efficient and easier to engage students in exploring introductory programming concepts than equivalent virtual programming environments (Druin, 1999; Frei et al., 2000; Futschek & Moschitz, 2011; Stanton, 2001; Mikhak et al., 1999). Certain toolkits specified for teaching algorithmic thinking and coding concepts exist, yet, they have their limitations. The available tangible toolkits such as LEGO Boost Robotics Creative Toolbox (2019), Fisher-Price Think & Learn Code-A-Pillar (2019), Primo Toys Cubetto (2019), Kibo (2019), Ozobot (2019), Dash & Dot (2019), Sphero SPRK Edition (2019), Puzzlets (Labs, 2019), Kano Computer (2019), Code Monkey Island (2019), Microduino's Cookie (2019), Sullivan et al. (2015), and Jewelbots (2019) are intended for children over 6 years of age and are too expensive for people in developing countries. Moreover, they are too bulky to be deployed in classroom environments. These problems have been repeatedly reported (ANON, 2019; Spin Master - Meccano Meccano, 2019; STEM for Girls, 2019).