It’s probably a month or two ago now that I was talking with my friend Ben about programming and some of the work that he’s exploring and that I’m involved in.
There’s a project in my school district, folks working to figure out how to encourage computer science as the “fourth r” alongside reading, ‘riting, and ‘rithmatic. We are looking to see where computer science and programming live in our district habits and practices while we encourage teachers to incorporate principles of CS into their daily work.
And Ben’s all over top of projects that seek to bring programming as a skill and a habit to students from early elementary through high school.
But if you know me, you know I spend a lot of time wondering what’s new about the new stuff, and why the foundations we’ve already said we value are insufficient to incorporate the flavor du jour, whether it’s apps or programming or STEM or whatever. Most of the new, I’m certain, is covered in what we claim to value already.1
In talking with Ben, I wasn’t quite able to articulate some of my beef with programming and computer science as a new collection of knowledge that we already emphasize and value. Let me see if I can do a better job here.
Alan Turing, more than fifty years ago, made a case for how and when we’ d know that computers were thoughtful. Instead of asking “Can we tell if computers can think?” he fiddled with the question a bit. His question was something like “If a computer is talking to us, and we can’t tell it’s a computer, then that computer is clever enough to be confused with a person.” 2
If the singularity is fast approaching, and if the computers we grow closer and closer to are able to both respond to and decipher voice commands, how far away from a time and place are we when programming (coordinating and sequencing a series of steps that leads a machine to perform some work we’ve asked it to do) is really not at all functionally different from us asking someone to step into the next room and bring us a glass of water (coordinating a person to perform some work we’ve asked them to do)?
Is programming a new task, one of teaching oneself to speak an entirely alien language? Or is it an old skill – one of persuasion? How about a hybrid – language learning and linear thinking? Are we better served to distract attention from these old skills we say we value, or to find room for the new stuff in the middle of the old we already have too little time to work with?
And is programming itself a transitional skill? How long before it’s truly a persuasive task, rather than a language one?
I dunno. But I do know that an “hour of code” is a tease and not a rich, fulfilling experience. And that “covering” programming isn’t really enough.
How are you finding room for the best of the old and new in your work? And do you find programming to be a new set of stuff, or more of the valuable old?
- The trick is that we claim in our words and creeds more than we honor with our time. That’s not an empty critique – it’s really hard to squeeze all the important stuff in. [↩]
- He and others have done much more articulate and thoughtful work on the nature of intelligence, artificial or otherwise, but go with me on the gist of the idea. [↩]