I’m not super sure when I first heard the term Computational thinking, but the first time I took proper notice of it was in March this year when I was fortunate enough to hear Lisa Anne Floyd speaking at E2 this year. Even then, I thought, this is nice, this is a way to get people thinking about thinking and problem solving, rather than, this is life changing. But as I have delved a little deeper and been planing our digitech module for next year, I’m really liking the ideas behind computational thinking, and the links I can make to multiple other ‘thinking’ thunks, like Nature of Science, or using taxonomies. To my mind, the ‘computational thinking’ strategies seem a little more visible, maybe because they are based around problems and finding solutions, rather than just meta cognition and thinking about thinking. I then read this fabulous paper about a pedagogical framework for computational thinking which got me onto other papers and other ideas.
So what is computational thinking? There are lots of fancy definitions, like this one
‘an approach to solving problems, designing systems and understandinghuman behaviour that draws on concepts fundamental to computing’“Wing 2006″
but to my mind, it is breaking a problem down into a flow chart, and working through the steps to solve it, with some iteration or corrections. A bit like this
Core education also has a nice page and video with Tim Rice talking about Computational thinking… and I have shared this video before but it is still a good one
So, how can I link this to my ‘Science lessons’? Lets say I want to know how the pH of an acid effects how quickly a piece of magnesium corrodes. There are various ways I can measure this . -how long it takes for a piece of Magnesium metal to disappear. Or how long it takes for a jar or test tube filled with water to be displaced by Hydrogen gas. I would need to ensure both of these measures were ‘fair’ so I could need to use pieces of Magnesium that were not only the same mass, but they same surface area. i would need to start the stopwatch at the same time and stop it at the same time. I would need to use the same gas jar or same water displacement to measure Hydrogen production. I would need to do a test run to check I could accurately measure the timings or that the volumes produced where sensible.
And then you get to the fun stuff of how do you accurately measure the pH of a solution anyway? In junior school we use universal indicator, but when you get into the senior school this isn’t specific enough – both HCl (a strong acid) and CH3COOH ( a weak acid) turn red in universal indicator. Yet CH3COOH has a lower pH because not as many Hydrogen ion dissociate, which you can pick up using a pH probe or different indicators. So while 10mL of 1 mol/L HCl and 10mL of 1mol/L CH3COOH will make the same mass of magnesium metal corrode and disappear, and the same amount of Hydrogen gas to be produced, the HCl will happen much faster, due to the lower pH/high concentration of reactive particles in the solution. Or do I just use different concentrations of HCl and test the impact of decreasing pH that way?
If you don’t teach Science, chances are the above 2 paragraphs make no sense at all. Even though I am pretty confident that every student in NZ in the last 60 years has put some magnesium metal in some acid and maybe done a pop test, you are definitely excused for not following
So if I put these steps into a flow chart, they become clearer…. and the steps required to determine each factor that might impact the conclusion become more explicit. And like the friendship algorithm above, it can be amended or changed if the process doesn’t work. The ability for iteration to be used and not perceived as a failure is massive.
So while this might not have been the best or clearest example to use, it is one that came to mind. A simple junior science experiment that is actually a lot more complex than it appears, or we even teach it. And when I ask my yr 13 chemistry students to do this, they get a bit a stumped. They have been taught fair testing in terms of nature of Science, but not how to go back and find a solution is the results are inconclusive, or what processes are available to find solutions.
I think these also applies to writing frames and other tools we use to organise our students thoughts, and try to get them to think about their thinking. Perhaps I have been using aspects of computational thinking all along with out realising it, but this now just means I can refine it and make it more explicit when I am trying to get my kids thinking ‘scientifically’ and following a process.
And this isn’t to say that computational thinking is the answer to everything. One thing I really like is the idea (to quote my colleague Kevin) if you can put a problem into a flowchart, a computer can solve it. If you can’t, then the problem needs a person (or several people). People have the ability to think creatively, which is also so important to problem solving, but only if you have a robust system in place to identify the problem.
One thought on “Thoughts on Computational Thinking”