# Computational Thinking

## KS1 Teaching Computational Thinking

Teaching computational thinking at early years can be achieved without recourse to computers.  This is because there is a fundamental approach to programming:

Define the Problem –

“ I want to fill up the jug with water” … can we come up with a clear definition of full?

Decompose the problem into small steps

Why don’t I fill it up a bit at a time? Maybe a cupful?

Creating an Algorithm –

• Continue to fill jug until 5cm from top
• Then use a smaller cup
• Continue to fill jug until 1cm from top
• Then use  a smaller cup
• Stop at 0.5cm

There are just such a lot of pair programming activities that students can do whilst pretending to be robots.

Remember that initially at KS1 we are teaching the conceptual idea of

Define the problem – Break it down – Create a repeatable rule to do it

## KS2 Computational Thinking

As we move into KS2 we need to add new elements into the teaching of computational thinking

1. Pattern recognition

Here it is important to create tasks which require a pattern to be identified.  Geometric programming is a natural place to start.  Have a look at this picture. What is the pattern?

The pattern recognition needs to be recorded in logical words or maths words and be precise.

A student attaining pattern recognition may be able to work out the programming around a Hexagon drawing.  A specific pattern leading to a specific program.

1. Pattern Generalization and Abstraction

We are now looking for the next step in thinking and this is a big one!  we need to find the general pattern or, in Maths speak, the general formula. If we think of it as the development of formula it is much easier to grasp this step.

Let us think of a late KS2 project such as developing a program to draw squares of all the square numbers to 100.

The student might have a program initially for square 1cm2

fd 1  rt 90

fd 1 rt90

fd 1 rt 90

But how will this pattern be changed to create the next square number.  The student, on exploration, may realize that this could be achieved by  adding 1 to the distance travelled every time.

Repeat 10 [

X = X+1

Fd x rt90

Fd x rt90

Fd x rt90

Fd x rt90

]

This is an example of a student understanding  ‘Pattern Generalization and Abstraction’

3. Logical Decision Making

Logical decision making is the key to most of what we do in life.  There is generally an input, a decision and two or more outputs (actions).

The decision making diagrams can be taught separately from programming.  They arise in every day situations such as plays and games etc.  The practical application in programming can be taught in any of the following systems:

• Scratch
• Pro-Bot by programming sensors
• Flowol by programming fairground rides