1.1 Computational Thinking
Computational thinking is a structured method of solving complex problems by breaking them down, identifying patterns, focusing on essential information, and designing a clear set of steps to reach a solution. Its purpose is to create logical, efficient solutions that can be carried out by a computer or a person
Use computational thinking when a problem is complex, unclear, or too large to solve all at once. It is helpful when a task requires logical steps, automation, or the creation of an efficient, repeatable solution
Benefits: Helps simplify complex problems Leads to organised, logical solutions Makes solutions easier to test and reuse Works across multiple subjects, not only computing
Drawbacks:
Can be time‑consuming for simple tasks Requires practice and understanding May oversimplify a problem if not used carefully Not all problems fit well with computational thinkingComputational thinking is made up of four core skills:
Decomposition – breaking a big problem into smaller parts Pattern Recognition – spotting trends or similarities Abstraction – removing unnecessary details Algorithmic Design – creating step‑by‑step instructionBenefits:
Breaks down complexity Helps reuse existing solutions Reduces confusion Allows clear, repeatable processesDrawbacks:
Some problems are hard to break down Patterns are not always easy to spot Abstraction risks hiding important details Algorithms may require many revisionsDecomposition helps make difficult problems easier to understand by dividing them into smaller, more manageable pieces that can be solved one at a time.
Decomposition involves:
Identifying the main parts of a problem Understanding what each part involves Breaking the problem into smaller chunks Breaking solutions into steps that work togetherThis means taking a real problem, dividing it into smaller tasks, and solving each task individually to create the overall solution.
Decomposition can be represented using tools such as:
Block diagrams Information flow diagrams Flowcharts Written explanationsBeing able to create these diagrams or descriptions demonstrates an understanding of how a problem and solution have been broken down..
Pattern recognition helps identify similarities and trends in data or problems, which can be used to make predictions or solve similar problems more efficiently.
Find trends, similarities, common features, make predictions.
Abstraction helps focus only on what is important by removing details that do not affect the solution. It simplifies complex systems so they are easier to understand and work with.
Abstraction involves:
Identifying essential information Removing unnecessary or distracting details Hiding complex processes that the user doesn't need to seeBe able to use abstraction.
Applying abstraction to real problems means simplifying the problem to its core elements so it is easier to build and test a solution. Can be applied to ESP tasks