# Computational Thinking Measurement of CS University Students
## 1 Introduction
### Components of Computational Thinking  
Problem-solving techniques are unquestionably a part of computational thinking [3,8]. Computational thinking is described by [PERSON] in her well-known article as problem solving, system design, and behavioural analysis. She also said that, as opposed to thinking like a computer, computational thinking involves addressing issues in an efficient and original way. Nonetheless, she stressed that computational thinking encompasses methods like recursion, systematic testing, problem analysis, abstraction, and problem re-explanation [1]. The concept of computational thinking and its constituent parts have sparked a great deal of discussion in the years that followed. The components have been recommended by communities, educators, and pioneering computer scientists (see Table 1). Computational thinking includes testing hypotheses, managing data, parallelism, abstraction, and debugging according to the National Research Council [50]. [PERSON] and [PERSON] provided an organised approach that allowed them to separate computational thinking into two types of concepts and abilities. According to [51], the capabilities include automation, abstraction, simulation, issue decomposition, data collecting, analysis, and representation. In [52], the authors categorised computational thinking into the following three categories: views, applied methods, and concepts. However, this categorisation only pertains to programming. [PERSON] et al. separated computational thinking into two categories in order to develop a framework. A set of abilities related to computational thinking is included in the first of these aspects. Processes and transformations, models and transformations, logic and inference, patterns and algorithms, assessments, and enhancements are some examples of these. The idea that various skills--such as identifying, comprehending, applying, and assimilating--have varying degrees of experience defines the second dimension [53]. Another study [54] classified computational thinking as abstraction, generalisation, and trial-and-error processes. Similar component recommendations were made in a study that sought to draw a link between learning theories and computational thinking. These elements encompass heuristic scanning, trial-and-error, abstract and divergent thinking, recursion, iteration, collaborative approaches, metacognition, patterns, and synctics [55]. According to a recently released study, computer programmers frequently employ computational thinking as a problem-solving strategy. Problem analysis, pattern identification, abstraction, algorithm creation for answers, and the evaluation of solutions (including debugging) are some of its constituents [56]. Prominent organisations have also released research on computational thinking components, in addition to the academics (see Table 2). Beyond contributing to the communities, studies on computational thinking published by well-known tech giant Google have also added to the body of literature. Pattern recognition, decomposition, pattern generalisation and algorithm design, and abstraction are the four areas into which Google separated computational thinking [57]. Computational thinking (CT) encompasses a range of problem-solving techniques, including recursion, systematic testing, problem analysis, abstraction, and debugging. Key components identified by various scholars and organisations include algorithm building, data management, hypothesis testing, and parallelism. Major frameworks from entities like the National Research Council, ISTE, and Google emphasise similar elements such as pattern recognition, decomposition, abstraction, and algorithm design. Despite differing categorisations, the core skills of CT focus on logical reasoning, problem decomposition, and the efficient creation and evaluation of algorithms.