Regular readers know that I have been pushing this idea of programming and computer science as being a liberal art - something that everyone should learn some thing about. Recently I came across an article by Marc Prensky that says pretty much the same thing. One key quote is:
I am one of these last, in that I believe fluency with multiple spoken languages will continue to be important, and that multimedia, interactivity, and other game-derived devices will be increasingly significant tools for communicating twenty-first-century thought. Nonetheless, I firmly believe that the true key literacy of the new century lies outside all these domains.
I believe the single skill that will, above all others, distinguish a literate person is programming literacy, the ability to make digital technology do whatever, within the possible one wants it to do -- to bend digital technology to one's needs, purposes, and will, just as in the present we bend words and images. Some call this skill human-machine interaction; some call it procedural literacy. Others just call it programming.
The whole article is worth reading especially the parts where he talks about there once being a time when people did not read and write but rather hired people to do those things for them. I find that a most fascinating analogy. Does it go to far? I'm not sure it does at all.
For years we have had jokes at the expense of people who could not program their VCRs to show the correct time. Newer VCRs do not show the time and in fact get the time from external sources. But today a lot of people have DVRs to record their TV shows and one still has to do some "programming" of a sort to get them to work. Beyond that though people who work with information, numbers, text, data of any kind, are increasingly having to do some of what we call programming to get the most out if them.
We use Boolean expressions to do searches not just in databases but in Internet search engines. We use more and more complicated decision structures with our spreadsheets. I see a time when more and more applications will include the ability to customize them with programming. It may not be programming in Java or C++ and it sure will not be in COBOL but of course the concepts are largely constant.
Will the person who says "I can't program" someday find themselves in the same situation as a person who today says "I can't read?" Perhaps not to the same degree but to some degree I think it could happen. What do you think? More importantly what do your children or your students think? Send them to the article and ask them if it makes sense to them? Is is scary to them or do they think they are ready for that sort of future?
Of course the question for schools (and for parents) is, if this is indeed the future are we doing enough to prepare today's young people for it? If not, how do we fix that? OK well DreamSpark is one attempt to help but a lot more is needed in our schools.
[Note: Lots of comments and not everyone agrees. Always a good thing. Be sure to add your opinion.]