In the early days of educational technology reform, programming was en vogue and Logo was taught in many classrooms. Over time we have found that fluency in a programming language was not neccessary for students to survive in the 21st century. Programming in schools has fallen out of favor and multi-media skills have become more prevalent. Part of this is probably to blame on the prevalence of fast and elegant user interfaces. Still, I would argue that there is still a place for programming languages in education, though maybe a less traditional language such as Scratch.
The Generalized Lessons of Programming
- Cause and effect are not always direct. Often the effect is emergent. The science fiction term for this is The Ghost in the Machine; the common term is often a bug.
- Outlining and ordering thoughts. A good programmer has a plan of action before beginning any project of length. The amount of code and troubleshooting requires a clear program outline.
- Research skills. One of Gee’s (2003) Learning Principles is the Just-in-Time Principle. Programmers do not just memorize all the code in a language. They have the ability to peruse online help files, databases, and the internet in general to find the answers they need to accomplish their goals.
- Language Skills. Knowledge of translating your thoughts so that another person/machine can understand them is a useful skill in perspective. Programming requires similar metacognitition as learning any language.
- Problem solving and mathematics.
- Programming skills. I started this article by discussing the rise of the user interface leading to the fall in programming being essential. I would turn that on its head now and point out that programming is still a useful skill for productivity and analysis. Excel and word each make use of Macros which are programming languages. Statistics software, wikis, websites, and a host of other applications make use of some programming. Which leads me to my last point:
- Communication. IT professionals have become the backbone of modern companies. Joining administrative personnel, custodial workers, and human resources in their employment across all industries. The jargon of this profession is useful for all productive employees.
Gee, JPaul. (2003). What Video Games Have to Teach Us About Learning and Literacy. New York: Palgrave Macmillan.
I would like to hear more of your thoughts about Scratch in particular as a programming/multimedia environment for youth.