Why everyone should learn to code [eventually]

Will Richardson pointed to Bret Victor’s critique of code.org highlighting Seymour Papert’s writing where he laments the misinterpretation of his book, Mindstorms, that programming in itself is worthwhile.

Spoiler alert: It is not. Programming without the purpose of exploring ideas is just learning to code. Nothing more, nothing less.

Case closed… I guess?

But what about reading? And writing?

Take the  passages from Papert’s “What’s the Big Idea?” paper that Bret Victor has highlighted and replace the word “program” with the word “read” or “write.” Is it any less true that reading does not “in itself have consequences for how children learn and think”?  Is it any less true that writing does not “in itself have consequences for how children learn and think”?

It a lot of ways whether programming in itself is necessary for students to learn is the wrong question. The bigger question is what do students need to learn, period. If we’re throwing things such as programming in and out of some supposed curriculum and unspoken (for Bret) but crucial pedagogical framework, then we need to put everything on the table: reading, writing, programming, quadratic equations, surds, history, geography, …. everything.

So what do students need to learn?

Students need to learn what they need to learn, just like us. We need to learn what we need to learn when we have to solve real problems. Students are no different. Curriculum is designed to predict need. We can do better now. We no longer need to teach programming, reading, writing or anything else just in case. Having said that, over time, through a variety of experiences our students will most likely cover all the good bits of the old curriculum.

Of course, using that criteria, I doubt there is any debate that reading and writing would make the cut. That quite early the need to read and write would be necessary for whatever the students were exploring.

I’ll leave it to the mathematics, history and geography teachers to argue the rest of my list above…

Since 2000, when Seymour Papert wrote this quoted paper, the world has gone digital. In the space of 14 years we (and our students) deal with digital information and content continually. Programming gives us (and our students) powerful tools to play, explore and make sense of of this information. Whether it be a simple  function to manipulate data in a spreadsheet, or a script to scrape data from a website that thinks it “owns” our data, a website to communicate with the world or many other cases, without the ability to program our students will be constrained, limited and frustrated.

Authenticate problem solving, ideation and play in our digital world requires the ability to program. I can’t believe how any student can go through the schooling experience without being faced with that fact. If our students are working on meaningful problems and projects, if our students are seeking to understand their world, and explore big ideas, programming in some shape or form is essential.



Note 1: Yes, I probably agree with Bret Victor’s caricatures of the rich and famous’ reasons for learning to code, but that doesn’t mean I agree (and I’m not sure what Bret actually thinks) that student shouldn’t learn to code.

Note 2: This is not meant to be a critique of Bret Victor, I love his ideas and work. Bret suggests that you read Mindstorms if you haven’t already, I second that.

Leave a Reply