Computational thinking (CT) is a set of problem-solving methods that involve expressing problems and their solutions in ways that a computer could also execute. Computational thinking is the step that comes before coding and programming.
It is the process of breaking down a problem into simple enough steps that even a computer would understand. It involves the mental skills and practices for designing computations that get computers to do jobs for people, and explaining and interpreting the world as a complex of information processes.
What is Computational Thinking?
CT can mean many things for many different populations. CT is essential to programming, but it can be used to facilitate problem solving across all disciplines.
Google’s “Computational Thinking for Educators” course identifies Decomposition, Pattern Recognition, Abstraction, and Algorithm design as the key elements that make up Computational Thinking.
There is no strict ordering of these elements, and each element can be taught separately.
My thinking about CT is guided by the work from the Infusing Computing research group. In this publication, they define and reorder the elements into PRADA as a mnemonic device to help teachers and students remember the terms.
Pattern Recognition – Observing and identifying patterns, trends, and regularities in data, processes, or problems. Used to repeat common parts. Recognizing which parts are the same and the various attributes we can use to define them.
Abstraction – Identifying the general principles and properties that are important and relevant to the problem. Filtering out the data you need and what you don’t based on the attributes. Used to hide the details.
Decomposition – Breaking down data, processes, or problems into meaningful smaller, manageable parts. Used to break up problems.
Algorithms – Developing step by step instructions for solving a problem and similar problems. Used to allow re-usability and reconstruction. Planning the step-by-step instructions that need to be carried out to achieve the goal.
In this post I’m identifying and defining what is meant by CT. In future posts, I’ll discuss how you can talk and play with these elements in your home…with your kids.