What is Computational Thinking?
Figure 1: Computational Thinking (GO21 2020)
Computational thinking (CT) is the thought processing involved in formulating problems and designing solutions in such a way that can be represented as computational steps. These steps can be fully understood and executed by both computers and humans (Aho 2012).
There are four essential techniques for CT :
- Decomposition - Breaking a complex problem down into smaller, solvable units.
- Pattern recognition - Identifying patterns and finding principles within a problem.
- Abstraction - Focusing on specific similarities and differences among problems.
- Algorithm - Develop detailed and reusable instructions for solving the problem.
Why is it essential for my study and future career?
Computer science students must have a solid understanding of how computers work and have strong problem-solving abilities. Employers also expect employees to solve business challenges rationally. Therefore, computational thinking—a method of employing the principles and ideas of computer science to address issues—is necessary. In addition, CT is the starting point for my involvement and engagement in computer science. CT is crucial to the study of computer applications and can be utilized to help problem-solving across other fields, including mathematics, science, and the humanities. Students will be better able to connect many educational subjects through the study of CT and apply what they learn to their everyday life.
CT allows me to understand a challenging problem, identify it and then find a reasonable solution. For example, when I designed the Personal Portfolio, I first worked out what the requirements were, what content I needed to put in, and what framework to use to present it. After that, I decided on the overall style of the page and then divided it into several specific sections, each of which carried different content and functions. Finally, I developed different areas separately and put them together into a complete page. Using CT, I break down big problems into smaller ones to identify solutions, which prevents me from being easily overwhelmed by complex study and work problems.
Furthermore, CT enables me to identify the cause and pattern of the problem so that a solution can be found quickly. Computational thinkers are trained to focus only on the main points, ignore irrelevant information, and solve problems effectively based on their patterns. Neither employers nor teachers want to see their staff or students wasting time solving problems one by one, and they certainly do not want problem-solving experiences not being summarized as lessons for solving similar situations next time. Employees who can provide solutions to these problems accurately and quickly will be more likely to be appreciated by employers. Likewise, in algorithmic learning, students who can identify problem patterns and continually reuse their experience will have higher quality and efficiency in learning.
Finally, through the use of CT, I have gained transferable soft skills that employers and team members will place a high value on, including messaging, communication skills, and attention to detail. CT develops my ability to share ideas and information clearly and concisely, leaving no room for misunderstanding. Clear and unambiguous messaging can always improve communication efficiency and ensure task completion quality, whether in group work, at school, or work. In computer programs, even small changes can cause the failure of solutions or reporting errors. In the process of learning to think on computers, people become increasingly detail-oriented. This means that employers can rely on you because you understand the finer details of the entire project.