Computational thinking
Computational thinking (CT) is a way of solving problems so we can present solutions that a computer, a human, or both, can understand.
Thinking computationally is not programming. It is not even thinking like a computer as computers do not, and cannot, think.
Programming simply tells a computer what to do and how to do it.
Computational thinking helps you work out exactly what to tell the computer to do.
There are four elements to computational thinking:
- Decomposition
- Pattern recognition
- Abstraction
- Algorithm design
Decomposition
decompositionThe breaking down of a system into smaller parts that are easier to understand, program and maintain. breaks down problems into smaller parts, so that each one can be solved individually.
Pattern recognition
pattern recognitionBranch of machine learning that focuses on the recognition of patterns and regularities in data is simply looking for similarities among and within problems. These shared characteristics can often help us solve computational problems. We can look at how previous similar problems may have been alrea.
Pattern recognition is one of the cornerstones of computer science. It involves finding similarities or patterns among small, decomposed problems to help us solve more complex problems more efficiently.
Example:
Abstraction
abstractionRemoving characteristics we don鈥檛 need to focus on removes any unnecessary details so we can focus on the detail that is important.
Example:
A person might be abstractly described by just their name and date of birth in a simple database, rather than using lots of personal information such as where they live, where they work or their favourite music. A programmer looks at ways to simplify pieces of code and sequences in an algorithmA sequence of logical instructions for carrying out a task. In computing, algorithms are needed to design computer programs. to make them as efficient as possible 鈥 this will save time and speed up the running of the program.
Algorithms
In order to help solve problems in digital technology, it is important we produce a clear set of steps that outline proposed solutions.
An algorithm is a sequence of steps or instructions that are carried out to solve a problem or perform a task. An everyday algorithm would be using a recipe to bake a cake.