Last week at KidsMeet I ran a series of workshops using a Raspberry Pi computer and Scratch to teach some programming to children. I have dabbled in coding and technical fields, but I am by no means an expert. However, I came across an approach to challenging children with programming that might not actually require any knowledge of coding at all…
A lot of the children I was working with were quite familiar with Scratch, when I saw them present on what they had been doing I realised that some of them were far more familiar with it than I was. They started with the default project in Scratch, which consists of a cartoon cat stood in the middle of the screen. I asked them if they could make the cat run around, and they did so quite easily. Next I asked if they could create a dog character, which they also did quite easily, and here it got interesting…
I asked the children what would happen if you put a dog and a cat in a small space like this, and they replied that the dog would chase the cat. They then set about trying to figure out how to get the dog to chase the cat, first trying to simply make the dog run around in the same way they had done with the cat. They told me they had done it, but I questioned whether the dog was really chasing, or just running around randomly. They conceded that it wasn’t quite what it could be, and set about adding a script that made the dog actually watch and follow the cat.
This resulted in the program below, click on the green flag, press space and watch the chase…
Learn more about this project
This looked pretty good, but the children noticed that sometimes the cat will run straight towards and through the dog, which doesn’t quite look right. They knew this wasn’t quite right, but couldn’t quite articulate what it was that was wrong with it. Then I asked the question that set them off on a whole saga of problem solving, trial and error, and exploring the capabilities of Scratch…
What would the cat do if it turned around and saw the dog?
The answer is simple; it would run away. However, achieving that in the software requires making the cat aware of the dog, creating a whole set of logic to make it run away by reversing the built in functions which only facilitate following, and making the cat behave in different ways depending on the situation it is in. Quite a challenge, but the children rose to it and worked through some complex problem solving to try to achieve it.
I am sharing this story for two reasons. Firstly this was a really simple scenario and despite the children having previous experience creating all singing all dancing two player games full of their own graphics, this simple automatic program posed a significant challenge to their computational thinking. It’s easy to over complicate these kinds of projects and fill them with custom graphics and user interactions without having to think really deeply about logic and the actual programming going on underneath.
Secondly, and most importantly I think, none of my questions had anything to do with programming or computer science. In fact, not one sentence that came out of my mouth had anything to do with programming, I just asked them to apply their real life experience of what a dog and a cat would do.
It seems to me there are two ways to approach this kind of questioning. In my head I knew that it was possible to achieve what my questions were getting at in Scratch, and I had a fair idea how to go about doing it. This gave me the confidence to ask the children questions that were obtuse, yet challenging enough to prompt their thinking.
However, asking such questions doesn’t actually require that knowledge; it just requires the confidence to ask. My confidence came from my knowledge, but it could just as well have come from the confidence that you don’t have to know the answer to a question to ask it.
There is a lot of discussion going on about the changes in the English ICT curriculum and the fact that programming is going to pose a significant challenge to many teachers, particularly in primary schools. However, I think we would do well to recognise that challenging children to think doesn’t always require knowing all the answers. What it does require is a commitment to making them think, and having the confidence to do so even when the subject area is unfamiliar. Granted, we are going to need a lot more teachers with a solid understanding of computational thinking, but I think getting started is going to be a lot more about confidence and approach.
Image: CC BY KidsMeetDL