Over the summer I started Google’s ‘Computational Thinking for Educators‘ course. With the deadline for the final project submission looming, I’ve been reviewing what I wrote and putting the finishing touches to my final project, which I’ll post tomorrow.
If you’re not sure what ‘Computational Thinking’ is, it’s a set of thinking tools to allow someone to break a problem down into the kind of logical steps that a computer would need to solve that problem. The Google course is based around four of these concepts:
- Decomposition: Breaking down data, processes, or problems into smaller, manageable parts
- Pattern Recognition: Observing patterns, trends, and regularities in data
- Abstraction: Identifying the general principles that generate these patterns
- Algorithm Design: Developing the step by step instructions for solving this and similar problems
The Barefoot Computing project (run by Computing At School) breaks Computational Thinking down into 6 concepts, and 5 approaches. You’ll find them in the header image, a poster that I picked up at the TLAB Conference earlier this year.
The Google course is a great starting point both for thinking about computational thinking across the curriculum, and for some great resources that can be used in lessons right now, especially for anyone starting to think about the content of their ‘IT’ lessons (I think the Traveling problem was my favourite). While I have no idea what ‘Digital Competence’ will look like the context of the new Welsh curriculum, personally I’d hope that there was at least an element of this in it (rather than ‘Coding’ or ‘Comp Sci’ as some areas of the media seem to be fixated on). Certainly the work done by Barefoot Computing in England has shown, these are concepts that can be taught to, and have real tangible benefits to, students from KS1 (Foundation Phase) and up.
Part One of the assessment for the course was to answer the question: How does computational thinking apply to your domain or subject area?
This was my answer. (I’ve added the links back to the relevant sections of the course in the following text)
My initial thoughts are that Computational Thinking applies to History in three main ways.
Firstly, it provides a context for some of the activities. The chatbot is a good example of this – students would need to learn a lot about an historical character to program the bot. The activities are largely unrelated, it would simply be a vehicle for learning about a character, in the same way that it provided some context for the CT activity.
Secondly it provides a useful toolbox for thinking about big historical questions – decomposition and abstraction in particular are key tools in helping historians, even though they would probably use different terms to describe them.
Finally, with more and more access to ‘big data’, some of the pattern recognition and algorithm design may open up new avenues for historical enquiry, for example through activities such as the Google Books ngram viewer. While at first glance these may offer more tools for the professional historian, there may be something here that can be used in a classroom setting in a meaningful and useful way.