Computational thinking is not programming but the step that comes before. A programmer can only write a program if they understand what the problem is and the ways in which it might be solved. Computers don’t think for themselves, they only follow instructions, so computational thinking allows programmers to break a problem down into simple steps to tell the computer exactly what to do to solve the problem.

Computational thinking consists of four parts: Decomposition, Pattern Recognition, Abstraction and Algorithms.

**Decomposition**

A complex problem usually doesn’t have an easy solution. We can use decomposition to break it up into smaller, more solvable problems.

*Task 1: ***Household Chores** debate

**Household Chores**debate

Ask students if they can think of a problem that seemed so big they didn’t know where to start!

A great example for many children would be tidying up their bedroom. Ask the students ‘who find this hard to do’.

How could we make it more manageable? How about coming up with a list of smaller tasks? 1. Pick up dirty clothes and put them in the washing bag, 2. Pick up clean clothes and put them in the cupboard, 3. Pick up books and put them on the shelf etc.

Would they find these easier to do?

*Task 2: Create a dance!*

The group needs to come up with a 1-minute dance routine. This could be a little overwhelming or too long for them to not just repeat the same movements!

How about breaking it up, each group just creates 15 seconds of moves. Then they can be put back together! This could even be created using KUBO robots!

**Pattern recognition**

Once a problem has been broken down these smaller problems might be similar to ones we’ve solved before, this is pattern recognition

*Task 1: Videogames debate*

Ask the students: Who plays video games? Do you get better as you play them? Why do you think that is?

They will probably explain how their challenges are similar and they have learnt how to solve them or even better strategies that work with several challenges!

*Task 2: Origami*

Folding a paper aeroplane or crane (origami). Provide each student with instructions on how to fold a paper plane. The first one will take a while and may not be perfect, but if the task is repeated do the students get faster? Is it easier? The brain will recognise the process and be able to apply it faster.

**Abstraction**

Identifying the crucial information and disregarding the relevant information is one of the hardest parts of computational thinking, this is an abstraction.

*Task 1: How to spot a cat!*

As a group, ask the students to come up with a list of what makes a cat look like a cat. Go through the list which would be essential to identify a cat and which are not needed.

For an extension to this activity, expand it to a group of animals. What features are different from other animals, which are the same (so can be ignored)?

*Task 2: A escape room*

For slightly older students an escape room activity could be great as there is lots of misleading information they need to ignore. This could lead to a great follow-up discussion.

**Algorithms**

An algorithm is a simple set of instructions in a set order to solve each of the smaller problems.

*Task 1: The sandwich-making robot. *

Set out all of the tools and ingredients needed to make a simple sandwich at the front desk. The teacher is the robot who will carry out the actions. The students are the programmers and they need to ‘write’ the algorithm to instruct the robot (teacher) on how to make a sandwich. They need to create simple instructions in the correct order. If they get anything wrong the robot will still follow their instruction (leading to some potentially funny outcomes). Other activities such as ‘brushing teeth’ work well too.

*Task 2: Algorithms using KUBO*

There are many more Cross-Curricular Activities on the KUBO Portal that help teach the concepts of computational thinking. Here are two examples:

KUBO wants to bake a cake. How can we break the problem down? Recipe, collect ingredients, make the cake (**decomposition**), Has anyone made a cake before or used a recipe (**pattern recognition**), what’s essential and what’s optional? (**abstraction**). Create a set of instructions for KUBO to follow (**algorithm**).

KUBO wants to grow some flowers in the garden but doesn’t know how! Students need to break the process down into simple tasks (**decomposition**). Has anyone grown seeds before (**pattern recognition**), which tasks are essential (**abstraction**), and create a function using TagTile® pieces for KUBO to follow (**algorithm**).

For a more gamified approach why not try these **KUBO Play*** activities

‘There is a Mouse’, Task 1.

This activity involves lots of tasks for KUBO, ask the students what KUBO will need to do. They should come up with tasks like ‘get the cheese’, ‘ take it to the mouse’ etc. They are breaking the problem down into smaller tasks by making different routes. Students can make one long route or three shorter routes (**decomposition**). What do the pink outlined squares mean, have you seen them before? (**pattern recognition**). Do we need to visit all of the characters (**abstraction**). Creating a series of routes using the TagTiles (**algorithm**).

*Get access to the different resources on KUBO Portal. Create a free account today!