Computational Thinking – is it confined to computing?
It’s the latest buzz word – Computational Thinking. What do you think of when you hear it? A quick search of the Australian Curriculum puts it squarely in the Technology learning area, specifically that of digital technology, but is that where it sits? Can it be found in other areas? Is it not just a way of thinking?
To help me understand Computation Thinking (CT) I have signed up to the Computation Thinking for Educators course offered by Google. I am wandering through the course in an illogical manner (oops logic seems to be a key component of CT), which is what I tend to do when I can click on anything and go anywhere – maybe some CT needs to be used to address a solution for this, but that would suggest that it is a problem.
I have now moved completely off task (well out of the Google course) and read a post that came via my way the other week just as the first course offered by Google concluded (yes I signed up for that but got distracted…hm…there is a pattern developing here). It was by Dave Stacey in the UK. He posted his first response to the two required pieces of work needed to gain a certificate. You can find his blog post here. What I liked about his post was that he highlighted another company offering support in understanding CT for the classroom with a primary focus. Barefoot is their name. If you want access to their resources you need to sign up, but it is free. I quite like the way they have gone about explaining the different concepts in CT giving practical application to a range of learning areas. For example looking for patterns:

Screen capture from video on patterns at http://barefootcas.org.uk/barefoot-primary-computing-resources/concepts/patterns/
As I think about the different aspects that make up CT, one thing jumps out at me and that is the use of language. Breaking down the potential barrier of not understanding CT is linked to language and understanding what it means. To do this using the concepts in a range of areas is worth thinking about. For example, when learning rules the patterns allow one to understand why they are there. This can be applied to many learning areas. Yes, we attach CT to computing, but thinking is inherently human. The computer is just a tool.
So getting back to the course at hand…
Logic – will I complete the course?
Algorithms – it might be useful to make some steps and rules to ensure I do complete the course…
Decomposition – I need to break down CT into the concepts to understand it, I need to see how it applies to life, how it connects across disciplines.
Patterns – are there any, well yes I get distracted and have now had to reschedule my massage (think I might have been in a flow state)
Abstraction – what do I need to remove to ensure I get this done or ensure I get to my next massage (really this boils down to setting a reminder on my phone – and before you ask, yes it was in my calendar)
Evaluation – did it work? I will know on Monday if I get to my massage, completing the course is another thing 😉
9 Comments
Of course CT has applications outside of computing, just like scientific thinking has applications beyond science.
Thanks for responding Ken. One of the things I think is important when employing a particular thinking are the limitations that coexist with the thinking. I’m interested in what your thoughts are with regard to limitations that appear to exist within CT.
I suspect that computational thinking might just be an ICT perspective on problem solving in general. In which case it certainly a more general skill. And no it is not well covered by our current curriculum in Australia.
Transference is also an issue. While this is taught mainly in the ICT context students don’t apply CT more broadly.
Thanks for your thoughts Grant. The question I raise is, can CT exist without ICT and computer science. I raise it as I wonder if the question was reversed would we get a different answer. Are they both reliant on one another? Or is ICT and computer science a tool/medium (broadly speaking) a way of enabling CT to be taken further with regard to producing a solution to a problem?
I view CT as short hand for procedural text. There are many forms of CT. Knitting is another. Kids who don’t like writing can devour CT with coding.
Thanks for sharing your thoughts Jen. You have picked up on an aspect I’d like to explore further, ‘kids who don’t like writing can devour CT with coding’.
I am thrilled that someone is even having the thoughts you are having Ms Batty (sorry, habit). As someone who works as a software developer, writing code since early high school, computational thinking has infected my life. I can assure you (and my wife more so) that computational thinking has serious limitations; many practical, others social.
I interpret computational thinking as adapting a problem to be solved by computational means, which for me means data structures (organised information) and algorithms (methods). The true power of computational thinking is removing yourself as much as possible from coming up with the solution. The implication is that problems which are great to solve computationally have information which can be easily and objectively specified, quantified, measured and manipulated: basically numbers. Everything else enters into a scale of increasing difficulty, all the way from basic text all the way to vague concepts like emotions.
From a practical standpoint, a computational solution needs ALL the information defined within it to arrive at a solution. Well either all the information, or a compromised solution. If you have a complex problem, enumerating all the necessary information into a collection of organised structures is simply too costly:
An example, suppose you decide to compute a weeks worth of recipes to cook for yourself for dinner each night. How do you decide what information you’ll use to decide on recipes: cost? nutritional value? taste (how would you even determine this)? Some combination? What combination? If you decide cost is a leading factor, how do you determine it; nearest supermarket prices (can you even access this)? how do you determine between similar products with similar sounding names? What if the recipe asks for an aubergine (because Jamie Oliver is from the UK) does a computational solution realise they are the same?
These problems, much like Terry Pratchett’s turtles, go all the way down and you either have to specify all of it, or accept the ambiguity and possibly useless ‘solutions’ as a result. Steve Yegge (google software developer last I looked, his blog post comes with a serious EXPLICIT LANGUAGE WARNING) has a great rant about legalising marijuana and otherwise computationally thinking through ideas (http://steve-yegge.blogspot.com.au/2009/04/have-you-ever-legalized-marijuana.html) which follows a similar line, this time applying computational thinking to a social issue, which is obviously full of ambiguity and emotions (ie: hard to compute) for comical result. His blog posts are also famously long, for the time concious.
If computational thinking were a panacea, why do over half of all IT projects fail at the cost of millions and billions of dollars. IT projects should be full of people trained for computational thinking. A lot of the failings relate to human factors which, like emotion, don’t lend well to computation and also don’t show on the radar of people tuned to think computationally at the expense of ‘less rational’ modes of thought.
Do I think computational thinking is valuable? Of course. Does it only apply to computers? absolutely not at all. Is it never-ending awesomeness? Gosh no, sometimes it is all nightmares and disappointment, but it is the closest experience to Harry Potter of conjuring, collating, and curating incantations to reduce life’s burdens as we may ever get, and that’s a good enough exchange for me.
I understand the habit Fred, I have too struggled with calling past teachers by their first name. Thank you so much for responding, I really appreciate it. 🙂
I don’t really like the term computational thinking (just as I dislike quantitative reasoning for mathematics), though it captures ‘thinking fit for a computer’ pretty well.
I believe we apply this style all the time: cooking, most of what we call mathematics is actually computation, sorting a deck of cards.
I believe the most powerful and exciting tool for the individual is abstraction. Abstraction is described as removing details, but this is misleading. The details are always there, you just don’t have to think about them. An automatic car removes the burden of the transmission from the driver, but it’s still part of the car. The driver can now think of accelerating as simply pressing a pedal.
CT has serious limits, especially it’s practicality for complicated or random circumstances (patterns are hard to find implies expensive). It also doesn’t carry over well to emotions, and it’s particularly bad at predicting human responses.