Process - To Develop Computational Thinking
One of the main purposes of STEAM education, is equipping students to be creative problem solvers rather than answer finders or knowledge acceptors. Computational thinking (CT) can be seen as a catalyst as it is a problem-solving competence that facilitates the exploration of problems and their possible solutions. CT engages students in decomposing problems to be abstracted and designing the processes to be automated. This is why CT can play an important part in STEAM education.
Computational thinking (CT) has a long history in computer science. Nowadays, there is not a common definition of CT, but CT can be seen as a pivotal competence for people to live in the 21st century, where people understand a problem and formulate a solution. (Park & Park, 2018) CT uses the general way of thinking mathematically to solve a problem (Wing, 2008). CT involves preparing problems that can be solved by algorithms (Park & Green, 2019). At the same time, it focuses on people’s ways of solving problems, rather than encouraging them to think like computers. It is not only software and hardware that are physically shown and that touch one aspect of our life but also computational thinking concepts in problem-solving, execution of life, communication, and interaction with other people.
CT includes several CT skills. These skills can be applied by students during STEAM projects to facilitate their problem-solving process. Various researchers identified sub-dimensions of CT-related skills. For example, Weintrop et al. (2014) defined four sub-dimensions of CT skills: data and information, modelling and simulation, computational problem-solving, and system administration. Other theoretical frameworks put forward a large number of CT skills that are observable, for example: Barefoot (2019); Weintrop et al. (2016); Park & Hwang (2017); CSTA (2011); ...
Computational thinking (CT) has a long history in computer science. Historically, algorithmic reasoning, as CT was known in the 1960s and 1970s, was defined as the process of formulating algorithmic relations by treating problems in the context of inputs and outputs (Knuth, 1985). Today, this concept has extended to many levels of abstraction and has been concentrated on utilizing mathematics to develop algorithms and determining how solutions to problems of different magnitudes best work (Denning, 2009).
CT is a kind of analytical thinking; it uses the general way of thinking mathematically to solve a problem: designing a large, complex system and engineering it considering real-life situations; it incorporates intelligence, mind, and understanding human behavior into scientific thinking (Wing, 2008).
According to Wing (2010), Computational Thinking describes the mental activity in formulating a problem to admit a computational solution, describing a two-step process of formulating the problem and then moving forward to find a solution computationally. Also Park & Park (2018) defined 2 steps within CT (Park & Park, 2018): The first step is forming concepts related to the topic they learn for understanding the problem, and the second one is applying concepts for producing solutions.
CT focuses on people’s ways of solving problems, rather than encouraging them to think like computers. It is not only software and hardware that are physically shown and that touch one aspect of our life but also computational thinking concepts in problem-solving, execution of life, communication, and interaction with other people.