Computational Thinking
In current literature, researchers defined CT literally in different ways. According to Wing (2014), computational thinking was defined as “the thought processes involved in formulating a problem and expressing its solution(s) in such a way that a computer -human or machine - can effectively carry out” (section 1.1). This was echoed by Lodi (2020, p. 128), who analyzed different definitions of CT and concluded that “the most famous definitions share many characteristics. All agree CT is a form of thinking for solving problems by expressing the solution in a way that can be automatically carried out by an (external) processing agent”. Although there is no consensus on a definition of CT and the fundamental components of CT, the common components that have been used by some researchers include abstraction, generalization, algorithms and decomposition (Cansu & Cansu, 2019).
Wing (2006) argued that CT is a fundamental skill for everyone in modern society and it should be in a child’s analytical ability. Since then, there has been growing interest in developing students’ CT knowledge and skills in K-12 education. It “is a skill today’s students need to be taught, in order to adequately prepare for the workplace but also to be able to participate effectively in the modern digital world” (Papadakis, Kalogiannakis & Zaranis, 2016, p.190). Greater attention has been placed on integrating CT into elementary education (Tsortanidou, Daradoumis & Barberá, 2021). It was advocated that CT concepts should be introduced to students as early as elementary school (Flórez et al., 2017). Although CT derives from computer science, it can be developed in other subject areas including STEM disciplines (Kjällander, Mannila, Åkerfeldt & Heintz, 2021; Li et al., 2020; Sung, Ahn &. Black, 2017; Sung & Black, 2021), social studies and language arts (Moreno-León, Robles & Román-González, 2016), as well as art and social science (Sáez-López, Román-González & Vázquez-Cano, 2016) in elementary education. Butler and Leahy (2020, p. 63) concluded that “concepts of computational thinking are not developed in a decontextualized manner but are embedded within the prescribed curriculum across a range of subject content in a relevant and meaningful manner.”
In general, there are two pedagogies to develop CT. One is the unplugged approach to teaching CT knowledge and skills through activities without using computers. The other is a commonly used approach to develop CT through learning to code or program on computers (Huang & Looi, 2021; Kjällander et al., 2021; Tsortaanidou et al., 2021).