Having taught ‘Computing‘ for two years now I have taken some time during this summer to reflect on Computational Thinking. Since September 2013 I have been telling Primary Teachers that the new Primary Computing Curriculum (England) was about ‘reprogramming’ pupils to help them think logically, to attack challenges in a logical way by decomposing them into manageable chunks. This is a life skill and something with application across their lives and the whole curriculum from Maths to Science to Music…
I have been reading more about Computational Thinking over the summer. I first really looked at the phrase when it came up in Barefoot Computing from CAS. That then made me take a look at Google’s Computational Thinking for Educators online course. It’s a free course that will make you think a little more about Computational Thinking so if you are interested I would recommend it.
Computational Thinking involves some of the following:
Decomposition (I mentioned earlier) is about taking a large challenge or task and being able to identify sensible parts to break it up in to to tackle it in a logical manner. This can apply to any physical or mental task from ‘writing a piece of music’ to ‘making a cupboard’ and of course will include ‘writing a computer game program’.
Pattern Recognition is about spotting patterns that can be used to help you work out solutions. These could be patterns in data which would help you solve a problem like ‘what is causing this illness’ to patterns in a computer program so if you code that bit you can re-use that code again.
Abstraction is a confusing word which tends to make most Primary Teachers panic!. It seems to be about discovering the principles which make the patterns happen. Sometimes it is described as being about honing down what is going on to the bare bones. ‘get the little dots and avoid the ghosts’ = Pacman!
Algorithm is another confusing word. Basically it’s the recipe that makes something happen. Cooks use them to create their wonderful food, young pupils are taught them for ‘what to do when you first come into the classroom in the morning’ or ‘what we do now it’s dinner time’. Algorithms are vital for programming. If a programmer doesn’t understand exactly what the program should do they will not program it correctly. In Pacman the player character needs to be able to move left, right, up and down but NOT through walls. Once you understand this little part of the program you can work out how to make it happen.
Computational Thinking is definitely a life skill, but it is also something that I believe not everyone will be able to embrace and be proficient in. Having said that even if pupils just gain a little more insight into how to tackle something logically the benefit to society will be huge.