Teach Teachers to Code and Watch What Happens Next

Do we need specialist teachers to teach coding and computational thinking? Or can we trust our current teachers to handle the new digital technology curriculum?

Recently I was teaching a group of middle school teachers at my school how to use scratch. It was fantastic, they were a great group of people who were excited to get in and have a go. The goal of our 3 hour course was to give them a feel for what computational thinking is. In turn, this would lead to them feeling confident to embed it into their curriculum in ways that made sense to them and their students. At least that was the hope.

In classic first time coding style, we coded the cat to draw a square. Here’s the annotated code snippet. If you haven’t had the pleasure of using scratch before, definitely take a moment to think about this image.


And here’s what the cat did.square

So far so good. We’ve learned about a loop (repeat 4 times) as well as distance and angles.

After running through this, I challenged the teachers to draw a triangle. Easy right?


So now we have code that looks like this.


And now our cat draws a triangle…



Without fail, all of the teacher’s cats drew this “not a triangle” first go(full disclosure, I did this too on my first attempt). Then the flurry of conversation began.







The above conversation happened in an instant and they immediately knew what had to change. They spontaneously took part in one of the most important parts of coding, debugging.

But, being teachers, that wasn’t the end of it. They immediately saw the potential and stopped coding and started planning. What kind of lesson is this? How can we teach supplementary and complementary angles with this? What would the lesson look like?

Hang on.

A moment ago, these teachers didn’t know what scratch was, now suddenly they’re planning a whole lesson around it?!


But this is the way teachers work. We see connections between new knowledge and old and the whole thing gets bundled into the program. Particularly primary teachers, where everything is connected.

This happened over and over again. A little bit of coding knowledge, then 2 or 3 teachers breaking into furious conversation about how this could be used in a classroom. They couldn’t help themselves.

By the end of a little course designed to give them a little knowledge, this team had created so much more. They planned a bunch of lessons as well as an entirely new project for their students using Scratch and Makey Makey. This assignment integrates Geography, Literacy, Numeracy, Science and the digital technology curriculum in one neat little package.

To top it all off, the teachers created this project. They know their context, their students and their entire curriculum.

We don’t need specialist teachers to teach computational thinking. We need to trust the teachers we’ve got, they’re already pretty special.

By the way, if you’re interested in coding but not quite sure yet, why not check this blog post: Why Learning to Code Doesn’t Suck Anymore.




  1. Hi Joel,
    As a specialist AND a teacher, I can appreciate what you are doing. I love when teachers take the lead and show me how to do something. We work as a team to learn together technology. Specialists should never be the “sage on the stage,” but “guide on the side.”

    1. Learning together is really what it’s all about. I find my job as technology coach is probably made easier when I admit that I don’t actually know all that much. I learn so much from the people I work with.

  2. Hi Joel,
    Thank you for another wonderful and inspirational post. I always enjoy how you coach others from a place of strength. Tech tools are just that: tools. Great to see how these new tools can be used to design engaging and integrated curriculum lessons by giving teachers the opportunity to have a go.
    Keep inspiring!

    1. Thanks for commenting. It really is about just getting in and having a go. It’s not long at all before teachers find the connections.

Leave a Reply

Your email address will not be published. Required fields are marked *