Wednesday, January 20, 2010

Programming as a super power

From the time I wrote my first computer program about 38 years ago as a college student there has always been a bit of magic about the process. A bit of a super power sort of feeling if you will. Back in those days the average college/university had one computer, perhaps two, and they were kept locked away from normal people. It took special training and permissions to actually touch a computer let alone write a program for it.  As a computer science student I was able to control those powerful computers and make them do things other people couldn’t. I felt empowered in a way I never felt before.

I was reminded a bit of that feeling when I read a recent blog post by Eugene Wallingford (@wallingf) titled “Programming, Literacy, and Superhuman Strength.”

It’s all a good post but I especially like this part:

All I know is, if we can put the power of programming into more people's hands and minds, then we can help more people to have the feeling that led Dan Meyer to write Put THAT On The Fridge:

... rather than grind the solution out over several hours of pointing, clicking, and transcribing, for the first time ever, I wrote twenty lines of code that solved the problem in several minutes.
I created something from nothing. And that something did something else, which is such a weird, superhuman feeling. I've got to chase this.

We have tools and ideas that make people feel superhuman. We have to share them!

There are people out there who Wallingford refers to as non-programmers. In Microsoft we call them “non-professional programmers.” These are people who write programs for fun, for personal satisfaction and to solve personal/business problems.  We, our society, really needs to enable those people.

There are more programs that should be written than professional programmers can ever write. Most of these are small, manageable problems. They range from spreadsheet macros to some programs to analyze large data sets. And games. And programs to solve interesting little problems. And the list goes on.

One of the things I hear when I suggest that all students take a computer science or programming course is “these kids are not going to be [professional] computer programmers.” And that is true. But we don’t say “why teach English? These kids are not going to be professional novelists.” That would be ridiculous. We know that pretty much everyone needs to write well. Like wise we are getting to a point where many more people than ever before really should be able to write some computer code.

Right now people think of programming as some sort of “super power” and something that few can handle. Computer programming is a hugely empowering skill but it is more approachable than many realize. They just need training, tools and opportunity. We really owe it to our students to give them that.

This empowering of non-professional programmers is what the Beginning Developer Learning Center BTW. Young, old, student, experienced life-long learner? There is probably something there for you.

No comments: