How Should a Non-Techie Learn Programming?

Nontechnical people — for example marketers or small business owners — increasingly get the feeling they should know more about technology. And they’re right. If you can throw up a small website or do some real number-crunching, chances are those skills will help you feed your family. But how should they get started? —Ask Slashdot

For about 10 years, I have been
teaching Inform to students (mostly English majors) in courses that
combine writing with media production. I start them off with HTML and
CSS (just to get them familiar with the level of accuracy required of
any kind of coding). I’ve also taught Flash, but this fall I will
probably drop it to make more room for Scratch.

The point is not
to make these English majors into professional programmers, but rather
to familiarize them with fundamental processes such as iteration,
versioning, scaling, beta-testing. To someone who has never written a
computer program, even very simple concepts such as if-then statements
and variables can be completely baffling. I notice that students who
play old-school text adventure games are at first very unforgiving about
the limitations of the parser, but after they’ve programmed their own
short games, and watched their beta-testers come up with reasonable
vocabulary words that they expected the programmer to have implemented,
students are more ready to appreciate when a text-adventure author has
done a good job anticipating the user’s actions. This is a lesson that, I
hope, translates to their encounters with other interfaces, making them
more willing to take beta-testing seriously, in the future, when they
might be writing the copy for team that includes programmers.