Content area
Full text
Introduction
Computational thinking is the ability to solve problems through the development of computer programs (Leonard et al., 2016). It requires students to adopt basic concepts of computer science like computer scientists, solve problems, design systems and understand human behavior (Wing, 2006). It follows that computational thinking requires not only problem-solving strategies but also the knowledge to develop programs and perform computational processing (Hsu et al., 2018; Chao, 2016).
The essence of programming problem solving is to describe the steps to solve a problem in a computer-understandable way (Ma et al., 2022). Therefore, most of the current learning of computational thinking is in the form of programming learning, where programming language is used as a shell for computational thinking, and programming problem-solving activities are used to motivate learners to use computer science concepts and programming language to solve problems to improve students’ computational thinking (Lye and Koh, 2014). Previous studies have also shown that there is a strong link between computational thinking and programming problem-solving activities. Yi et al. (2022) constructed an evaluation model of CT based on digital games for programming problem-solving activities by correlating the aspects of CT used in problem-solving with the behaviors in programming problem-solving games; Jiang and Huang (2019) categorized computational thinking into three steps: discovering the problem, designing a solution and solving the problem, in which the formation of each step corresponds to the knowledge points of the computer science discipline; Boom et al. (2022) on the other hand, by investigating the relationship between different forms of computational thinking and two different measures of programming quality, showed that only computational thinking processes significantly predicted program quality; Some studies have even clearly indicated that problem-based programming learning has better learning outcomes and thinking skills (Basogain et al., 2018; Harms et al., 2019).
However, computational thinking education focuses on the development and training of a mindset, it has different requirements and goals than previous teaching. In practice, programming problem-solving activities often do not contribute to the development of computational thinking. The reason for this is that learners tend to focus too much on syntactic knowledge during programming problem-solving, which leads them to focus more on the syntax and mechanics of their programs at the expense of...





