Do you want to know what shocked me the most when I started teaching in a High School? It wasn’t the workload (although that was, indeed, profoundly shocking, and still is over 5 years later). It wasn’t the intensity. It certainly wasn’t the students – they often startle me but rarely shock (try harder, people!).
It was the casual acceptance of teachers teaching subjects they aren’t qualified to teach.
This is normal.
This is an accepted fact of life.
This is SO VERY WRONG. Here’s how it happens: Funding. We don’t have enough. Not nearly enough. And because of that funding squeeze, schools can only afford to hire precisely as many teacher bodies as they have teaching slots to fill. This means that someone who is hired to teach, say, English, may also wind up teaching Science, simply because there was one science slot to fill and only the English teacher had time in his schedule. Because schools simply can’t afford to have any of their teachers teaching less classes than the maximum (never mind that the maximum is a ludicrously crushing workload). They can’t afford extra staff. Let’s face it, they can barely afford the staff that they have. (this is one of the many reasons Australia needs to #giveagonski, but I digress…)
Everyone knows it’s not ideal. It sucks for the teacher, and in most cases it sucks even more for the students. We thus wind up with Science teachers telling a year 7 class that a hippopotamus is an amphibian, and a sea star is a mammal (true story). And we frequently wind up with teachers who are not programmers teaching kids to program. And even more often than that, we have teachers who are not Computer Scientists teaching Computer Science, and Computational Thinking (CS/CT).
This last part is more than a funding issue, though. As many people said to me at a Computational Science Conference I was lucky enough to attend recently – if you have those skills, who would be mad enough to use them to go into teaching? …ok, apart from me. I’m not the only one out there, but sadly there are far too few of us crazies to go around.
The other part of the problem is that schools frequently don’t understand the difference between being able to use a computer to type up documents, and being able to teach Computational Thinking. They genuinely think that pretty much anyone can teach this stuff to kids. The thinking seems to go: “I have a computer on my desk. I use it, therefore I compute, therefore I can teach computing. How hard could it be?”
How hard? So very much harder than most people imagine.
A few weeks ago I had a student using a scratch-based program to do some simulation work. Scratch is a simple, block based programming language designed for kids. It’s not hard to write programs in scratch. This student had little sprites running around doing stuff, but periodically some of those sprites would simply stop moving, which didn’t seem to make sense according to his code. Now I have been teaching programming for an alarmingly long time, and writing my own code for even longer than that, but it still took me around 15 minutes to work out that it was a divide by zero error. There was no error message, the affected sprites simply tried to divide by zero and then stopped.
Anyone without strong programming skills would have had little or no hope of understanding what was wrong with that code, which would probably have left the student feeling like the whole damned thing was inexplicable, impossible to understand, and a waste of time. As it was, the student went away happy, I cursed the software, and thus progress was made.
This is not an isolated example. One of the most crucial things any teacher hoping to teach code needs is to be able to help students debug their work. It’s very easy, even in the simplest programming languages, to get stuck in a way that is incredibly difficult to resolve without expert help. If you don’t provide that expert help, because no experts are available, the unavoidable message that comes through loud and clear is “This stuff is so hard no-one can fix it when it goes wrong.” Which is not the message we really want to give kids about computation. We desperately need to give people positive experiences, not examples of how impossible it is.
But, ok, we don’t have enough skilled CS/CT teachers. We’re stuck with that for now. So we have great online courses trying to skill up the teachers who are keen to get involved, but we also have a lot of teachers being thrust, unprepared, into programming, ICT, and other CS/CT courses. Last week I met with a friend who has to provide professional development in digital technology to primary teachers, and she has 1.5 hours to do it in. Because that’s plenty, right? (I’m just going to pause here and go into a sound proof room and scream for a bit, ok?)
Of course, that’s not enough, by several years. But as we talked over (and over) what she could possibly do in that time, I came to realise that there is one single message that’s more important than all of the others put together. One single goal out of CT/CS pd that, if we can just achieve it, will make everything else possible in the long run. And it is this:
Teach them not to be afraid to try. Teach them to play.
By the time they get to me, a lot of my year 10s have learnt that computers are scary. And a lot of that fear they have learnt from their teachers. There is nothing more likely to put kids off than learning something from someone who is terrified of it. Who absents himself (or herself, it’s an equal opportunity game) from the problem by pointing them at online resources and refusing to answer questions. Who requires textbook, carbon copy, template responses that show no creativity, because that is the only type of response that the teacher can mark. This teaches kids that there is only one right answer, and it is frequently inexplicable, if not unattainable. It is immensely dispiriting. It shows kids that their teachers don’t understand this stuff. That it must be scary, because even teachers, who are supposed to know things, are freaked out by it.
The thing is, it’s ok for teachers not to know all the answers. I learnt very early on in my lecturing career that saying “I don’t know” is a far better strategy than trying to bluff your way through. Kids can respect someone who knows their limits. And teachers who admit that they don’t know a lot about this stuff but are keen to learn don’t do any harm. Teachers who are keen to engage, who throw themselves at this stuff to see what happens – they will teach kids that you can experiment with computing and live to tell the tale. They might even teach them that it’s fun.
When kids in our year 11 Computer Science class ask us “what happens if we do x?” our default response has become “try it and see! Tell us what happens!”, whether we know the answer or not. Because that is some great learning right there. That spirit of exploration is what built the field of computation (and of science, come to think of it). Press buttons, write code, try variations, and see what comes out. The only thing you can produce by following the rules precisely is something that has been produced a million times before. The fearlessness and enthusiasm to try new things are the very seed of innovation.
The best thing we can do with the resources we have available to us is teach teachers to play with technology. Teach them to explore. Teach them to press buttons and see what happens. And teach them to be excited about it, rather than afraid.
Teachers don’t have the spare time or energy to be trained to be Computer Scientists. But surely we can train everyone to play?