Thoughts on pigeons and computational thinking – by Gerald Haigh

In the following post Gerald Haigh considers computational thinking from a rather unusual standpoint, but in doing so illustrates that this is a truly universally applicable skill, and not just one that will benefit coders.

Earlier this summer I tried in vain to find a way of connecting a hose to a tap in the bathroom so that we could lean out of the window and direct a jet of water at an otherwise inaccessible pigeons’ public toilet.  Yes, there are many devices for making such a connection; I know this because I tried them all, to no avail. In the end, I decided the only way was to fit less awkward taps. I discussed this with resourceful person who helps us with such things, and he immediately suggested that I was addressing the wrong problem.

‘It’s not about the taps. It’s about finding a way of keeping that bit of roof free of pigeon muck.’

He was right of course, and I immediately congratulated him for his level of computational thinking. He took it as a compliment.

One of the joys of researching and writing about educational technology is that I learn all the time. I had heard the phrase ‘computational thinking’, but was vague about its importance until, just before the tap business, I heard it used repeatedly and enthusiastically by Ian Phillips at Haberdashers’ Aske’s Boys’ School (HabsBoys) as we discussed what became a guest blog here:

Microsoft OneNote at Haberdashers’ Aske’s Boys’ School

To Ian, ‘Computational thinking’ is the founding principle of his work as a teacher of ICT and computer science. Indeed, as his students collaborate on problems using micro:bit and Class Notebook in Office 365, his frequently witty digitally inked interventions constantly emphasise the importance of being clear about the problem, and the elements within it, before applying technology and technological skills to the job of solving it.

Computational thinking, I now know, has numerous definitions, often split into sections. (Here’s one that’s manageable and concise.)

Essentially, though, it’s about applying methodical and creative thinking to the solving of problems; defining problems in precise terms to which a solution (usually, but not exclusively technological) can be applied.  The Computing at Schools ‘Barefoot’ resources site gives this example, aimed at primary classrooms.

‘For example, if you’re going to make an animation, you need to start by planning the story and how you’ll shoot it before you can use computer hardware and software to help you get the work done. The thinking that is undertaken before starting work on a computer is known as computational thinking.’

Inevitably as I read more, I came across the work of Jeannette Wing, Corporate Vice President of Microsoft Research, sometimes referred to as ‘The Godmother of Computational Thinking,’

One of the most accessible papers on this subject was written by her some ten years ago, when she was head of computer science at Carnegie Mellon University in Pittsburgh. In it, she writes,

‘Computational thinking represents a universally applicable attitude and skill set everyone, not just computer scientists, would be eager to learn and use.’

It is not, she points out, the same as programming.

‘Thinking like a computer scientist means more than being able to program a computer. It requires thinking at multiple levels of abstraction.’

Of the wealth of important lessons embedded in Jeanette Wing’s paper I select just four – but read the paper yourself and you’ll find others.

  • Computational thinking is an essential skill for everyone, not just for coders:
    • ‘Computational thinking will be a reality when it is so integral to human endeavors it disappears as an explicit philosophy.’
  • It is a human attribute, and sits ahead of the use of technology in the hierarchy of skills:
    • ‘Computational thinking is a way humans solve problems; it is not trying to get humans to think like computers. Computers are dull and boring; humans are clever and imaginative. We humans make computers exciting.'
  • The teaching of computational thinking needs to be tackled early and made available across the curriculum:
    • ‘Professors of computer science should teach a course called “Ways to Think Like a Computer Scientist” to college freshmen, making it available to non-majors, not just to computer science majors. We should expose pre-college students to computational methods and models.’
  • Parents (and I would say many teachers) whose children are being taught computer science need to realise that they are not being channelled into a highly specialist area of employment, but that the skills of computational thinking will actually broaden their horizons:
    • ‘One can major in computer science and do anything. One can major in English or mathematics and go on to a multitude of different careers. Ditto computer science. One can major in computer science and go on to a career in medicine, law, business, politics, any type of science or engineering, and even the arts.’

It’s not difficult to see that when it comes to computational thinking, schools in general may well be falling short. After all, what we’re talking about here is problem-solving, and most schools, traditionally, have been more interested in giving children answers than drawing out and refining open-ended questions.

So when I, conventionally educated, went into a huge hardware store and told the assistant that I was looking for a way to connect a hose to an oversize tap, I genuinely thought I was articulating a problem. In reality, though, I was actually stating my own flawed answer to a problem which I had failed to identify and break down to its essentials. It took a technically educated friend to do that.

Finally, one thought troubles me – and I am not qualified to do more than raise it as a question, which goes like this.

If we are to have a national curriculum which assumes computer science to be a specialist choice at secondary level, a rigorous course for appropriately minded candidates, does that get in the way of making computational thinking into a universal, across-the-board twenty-first century skill?

I leave that thought for others to ponder on.

Further reading:

Jeanette Wing’s 2006 paper on Computational thinking

Jeannette Wing reflects on her paper ten years on, in this Microsoft Research Blog, March 2016

Computing at School ‘Barefoot’ resource on computational thinking at primary level


Comments (1)

  1. This is great! Thanks, Andrew!

    For a full chronology of Jeannette Wing’s work, please visit this page:

Skip to main content