A computational thinking approach to problem-solving is the process of breaking down complex issues into simple steps. It is a powerful method that helps us solve complex problems in the modern world.
In the draft CAPS curriculum Computational Thinking is also described as one of the teaching methodologies.
As a methodology Compuatational Thinking is a dynamic process consisting of the problem identification and four computational thinking processing steps.
It is a thinking process! Let’s explore . . .
1) Problem identification
Find problems to solve around you.
If our learners understand the problem really well, they can create and design meaningful solutions.
Use a computer and other tools to help identify what the problem is.
Relate the problem to the real world.
Find the problem and explain it.
For example: Use images to help identify problems. Make it relevant. Try to keep it real.
What do you see?
What is the problem?
Write down the problem statement.
Relate the problems to the UN Sustainable Development Goals. Show the relevance of real world problems to your learners, and how they can come up with workable solutions to address the problems.
The about the problem, decompose the information into understandable parts or sections.
Decomposition is logically organising and analysing data into smaller parts.
Breaking down the information or problems into smaller, manageable parts.
In doing so, the learners are finding out what needs to be done.
Decomposing information into understandable parts
Get learners to break down the information so they understand it. Encourage them to think critically and collaborating with peers, in identifying the details. Record the ideas in a manner which is also easily understandable - mapminds are a useful way of plotting the information.
3) Pattern Recognition
Pattern recognition is looking for the similarities among and within the problem.
Learners' analyse the information (data), so it can be grouped or categorised and processed.
The patterns are pieces of information or sequences of information that have one or multiple similarities.
Learners could work individually or preferably in groups, building their team work skills in identifying the patterns and sequences related to the problem.
4) Abstractions & Generalisation
4a) Abstractions identify and represent essential features without including the background details or explanations. It is really looking for the most important information needed to address the problem, and create the most effective solution.
Get learners to ask themselves: What are essential features for making the product? What can't be left out?
Encourage critical discussion allowing learners to analytically draw conclusions as to the relevant essential features.
To make a solution for one problem usable for a larger class of related the problem.
Reuse existing code in different situations: build it once, use it over and over again
Generalisation assists in solving a new problem quickly, by using the information from previously solved problems.
Encourage learners to identify existing solutions that can be adapted to solve the problem they are working on.
5) Algorithm Design
Finally all the planning has been done, and the instructions can be written.
Developing the step by step instructions for solving problems or carrying out tasks.
The code is now written.
It doesn't mean it will work first time, you would probably have to check, fix and check again.
However the planning is important.
Computational thinking is the process of approaching a problem in a systematic manner and creating and expressing a solution such that it can be carried out by a computer.
Teachers are able to create a learning environment which allows learners to be curious and eager to learn about digital technologies and supporting their creativity. While at the same time growing their confidence in using technology, teaching responsible and ethical coding creation.
Enjoy travelling the coding and robotics journey with your learners!
By teaching learners how to use computational thinking as thinking tools you are also supporting in achieving some UNSDG goals.
Explore the courses for professional development about computational thinking, coding and robotics for your school.
Looking forward to hearing from you!