**Computational Thinking**is getting a lot of attention at the moment as an area for students to develop and I think is vital if students are going to understand how to logically approach problem solving and also write well structured computer programs.

**So what is Computational Thinking and Why is it Important?**

**Computational Thinking**is an approach to problem-solving that involves analyzing and logically organizing data in order to create a model (flow chart or map to logically show how something works) to simplify to be understood by a computer.

This then means that a computer can be used to identify and test possible solutions which can be applied to other situations.

Solutions from this approach can then be used to automate solutions that can also be applied to other problems.

Getting students to understand this is not an easy task;

**the starting point is for students to understand that a Computer cannot do anything unless it is explicitly told how to behave.****A simple Task - Noughts and Crosses?**Setting out the instructions and order of the instructions are the difficult task and an easy way to get students to think about this is to take a look at a simple Tic-Tac-Toe game (noughts and crosses) and see if students can create a a series of instructions: rules to be followed in order to win!

**Instructions**

(Assume that the Computer is "X")

Instruction 1: Place an "X" in a corner.

Instruction 2: Place an "X" in the opposite corner to move 1 if possible, otherwise place an "X" in a free corner.

Instruction 3: If there are two "X"s and a space in a line then place an "X" in that space. Otherwise if there are two Os and a space in a line then go in that space. Otherwise go in a free corner.

Instruction 4: If there are two "X"s and a space in a line then place an "X" in that space. Otherwise if there are two Os and a space in a line then place an "X" in that space. Otherwise go in a free corner.

Instruction 5: place an "X" in the free space.

That should provide a clear way for people to proceed to play the game and that is all a computer program is - a list of instructions that the computer follows.

The instructions have to be written very precisely in special languages so that the computer can follow them without understanding them, but the idea is the same.

Computers can only do the things the programmer thinks of - if things aren't as expected, it won't seem so clever.

I wrote the above rules expecting the paper to go first...what if the computer has to play second? Does it still seem so clever? That is the skill of the programmer: writing rules for every eventuality. Have a go at writing some better instructions for player 2 at Noughts and Crosses.