How to teach coding

Or how NOT to teach coding.

I get a lot of email asking me to look at various computer programming lesson plans and curriculum. “Is it good? Should I use this?” people ask. Some people want me to endorse something, “We’ve created something the kids will love! It’s so maker!”

So let me share one secret, the very first thing I do when I click the link of whatever comes next in the email. I look at the first thing, the very first thing the kids are supposed to do. If lesson number one is bits, bytes, and binary arithmetic, I’m done.

Yes it’s that simple. (You may find it amusing that my decision-making process is so binary.) But it’s what poker players call a “tell.” It shows that they’ve resorted to the “building blocks” theory of learning. It shows that they’ve looked at lots of other programming lessons and that’s where everyone else starts. It ignores constructionist learning theory that the experience is the place to start.

In our book, Invent To Learn: Making, Tinkering, and Engineering in the Classroom, we begin every chapter with a quote. One of my favorites is:

If you want to build a ship, don’t drum up people to collect wood and don’t assign them tasks and work, but rather teach them to long for the endless immensity of the sea.  – Antoine de Saint-Exupery

Leave a Reply