TITLE: This and That: Problems, Data, and Programs AUTHOR: Eugene Wallingford DATE: February 10, 2011 4:04 PM DESC: ----- BODY: Several articles caught my eye this week which are worth commenting on, but at this point none has triggered a full entry of its own. Some of my favorite bloggers do what they call "tab sweeps", but I don't store cool articles in browser tabs. I cache URLs and short notes to myself. So I'll sweep up three of my notes as a single entry, related to programming. Programmer as Craftsman Seth Godin writes about:
... the craftsperson, someone who takes real care and produces work for the ages. Everyone else might be a hack, or a factory guy or a suit or a drone, but a craftsperson was someone we could respect.
There's a lot of talk in the software development world these days about craftsmanship. All the conversation and all the hand-waving boil down to this. A craftsman is the programmer we all respect and the programmer we all want to be. Real Problems... Dan Meyer is an erstwhile K-12 math teacher who rails against the phony problems we give kids when we ask them to learn math. Textbooks do so in the name of "context". Meyer calls it "pseudocontext". He gives an example in his entry Connect These Two Dots, and then explains concisely what is wrong with pseudocontext:
Pseudocontext sends two signals to our students, both false:
Are we really surprised that students aren't motivated to practice and develop their craft on such nonsense? Then we do the same things to CS students in our programming courses... ... Are Everywhere These Days Finally, Greg Wilson summarizes what he thinks "computational science" means in one of his Software Carpentry lessons. It mostly comes down to data and how we understand it:
It's all just data. Data doesn't mean anything on its own -- it has to be interpreted. Programming is about creating and composing abstractions. ... The tool shapes the hand.
We drown in data now. We collect faster than we can understand it. There is room for more programmers, better programmers, across the disciplines and in CS. We certainly shouldn't be making our students write Fahrenheit-to-Celsius converters or processing phony data files. -----