Marc Prensky has a interesting article recently published in Edutopia magazine entitled “Programming: The New Literacy.”
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.
I have to say I agree, and other scholars in ed tech and even traditional instructional design (like Dave Merrill) are now arguing that all students in educational technology need to learn how to program.
The problem is, what are our current options? Flash is quite difficult for novices to learn, plus even the academic version costs hundreds of dollars. It is also proprietary. Java is free, cross-platform, and recently open sourced, yet even more difficult to use than Flash. Visual Basic .NET is more beginner friendly, yet still quite complex and not cross-platform. There is a free, open source VB.NET compiler, but you cannot use it to develop cross-platform applications that run in a browser like you can with Flash and Java (applets).
On the flip side, programming languages and development environments that ARE designed with kids and novices in mind (like Scratch, Logo, etc.) cannot be used for general purpose development. You can’t develop a chat application or fast 3D game in Scratch, for example.
For a related story from a year and a half ago, see this earlier post on “Why Johnny Can’t Code.”