I wrote about my interview with CSTA Executive Director, Chris Stephenson, yesterday and mentioned their emphasis on teaching algorithmic approaches to problem solving as early as primary school. Interestingly, a reader on Slashdot asked a related question about the need for some programming skill (no particular language, just flow control concepts that are broadly applicable in most languages) for college physics majors:
"I'm a fairly new physics professor at a well-ranked undergraduate university. When I arrived, I was surprised to discover there were no computer programming requirements for our majors. This has led to a series of fairly animated faculty curriculum conversations, driven by the question: to what extent should computer programming be a part of an undergraduate science education (in particular, physics)? This is a surprising line of questioning to me because in my career (dominated by research), I've never seriously even questioned the need. If you are a physics major, you learn to program. The exact language isn't so important as is flow control, file handling, basic methods/technique, basic resource management, and troubleshooting. The methods learned in any language can then be ported over to just about any numerical or scientific computational problem."
The question is relevant well beyond physics; those of us in my masters program who have at least some programming experience are far better equipped to make use of tools like Maple and Matlab than those who have never programmed. What I thought was more interesting, however, and closely related to my post on the CSTA was one reader's response:
In a modern, educated nation...one might expect, given the ubiquity of computers, that everyone (not just science majors) have some basic understanding of programming, even if it's just -- err --- BASIC.
I'll go even further and suggest that this isn't appropriate for college, but would fit nicely into 6th and 7th grade algebra.
Bingo. Anyone up for worrying less about how to use TI-83s in class and more about getting kids to solve problems in ways that can have a long-term impact on their success in advanced study, industry, and a technology-dominated society?
Is anyone out there actually doing this? Where does your school/district introduce programming concepts, if at all?