[Edu-sig] Learning (some more) programming

Paul D. Fernhout pdfernhout at kurtz-fernhout.com
Tue Dec 26 18:46:39 CET 2006

Arthur wrote:
> One theme that seems to run through discussions here is related to this 
> issue. Is it the educators' mission to find just the right motivational 
> buttons and push them just right ???  Or rather focus on responding 
> appropriately to those who come to the learning process with some 
> critical mass level of  motivation???
> It seems to be one of the fault lines, in some of the discussions here.

You're right; this is very insightful.

Also in the category of motivation you might add "operant conditioning" 
and related methods of shaping behavior through positive reinforcement and 
other techniques. Consider this book by an ex-Dolphin trainer:
   "Don't Shoot the Dog!: The New Art of Teaching and Training"
 From there: "A groundbreaking behavioral scientist and dynamic animal 
trainer, Karen Pryor is a powerful proponent of the principles and 
practical uses of positive reinforcement in teaching new behaviors. Here 
are the secrets of changing behavior in pets, kids--even yourself--without 
yelling, threats, force, punishment, guilt trips...or shooting the dog: 
The principles of the revolutionary "clicker training" method, which owes 
its phenomenal success to its immediacy of response--so there is no 
question what action you are rewarding". Clearly these methods can be used 
to shape how children or adults act in a B.F. Skinner "Walden Two" sort of 

Although I might add a third possibility -- hierarchical *force*. You 
compel the child to learn, or at least go through the motions. We all know 
this doesn't work well, delivers small results for lots of resources, 
results in pathologies among students, and so on. But, it does result in 
some apparent results, which can be motivating to the authority figure 
themselves in an operant conditioning sort of way.  And it is the basis of 
the theory of modern compulsory schooling -- force kids to deliver 
themselves to schools between certain hours and go through the motions 
whether they are interested or not. Peer pressure might be another variant 
on this; to feel compelled to participate because peers appear to be doing 
it. But isn't there general agreement these days that using *force* is not 
a good way to teach?

For comparison, learning to drive a car can be a very stressful nerve 
wracking experienced for some -- and entails far more personal danger than 
most programming tasks, yet almost everyone learns to drive. As Gatto says 
"Now come back to the present while I demonstrate that the identical trust 
placed in ordinary people two hundred years ago still survives where it 
suits managers of our economy to allow it. Consider the art of driving, 
which I learned at the age of eleven. Without everybody behind the wheel, 
our sort of economy would be impossible, so everybody is there, IQ 
notwithstanding. With less than thirty hours of combined training and 
experience, a hundred million people are allowed access to vehicular 
weapons more lethal than pistols or rifles. ... Five gallons of gasoline 
have the destructive power of a stick of dynamite. The average tank holds 
fifteen gallons, yet no background check is necessary for dispenser or 
dispensee. ... Why do we give the power of life and death this way to 
everyone? It should strike you at once that our unstated official 
assumptions about human nature are dead wrong. Nearly all people are 
competent and responsible; universal motoring proves that. The efficiency 
of motor vehicles as terrorist instruments would have written a tragic 
record long ago if people were inclined to terrorism. But almost all auto 
mishaps are accidents, and while there are seemingly a lot of those, the 
actual fraction of mishaps, when held up against the stupendous number of 
possibilities for mishap, is quite small. ... Notice how quickly people 
learn to drive well. Early failure is efficiently corrected, usually 
self-corrected, because the terrific motivation of staying alive and in 
one piece steers driving improvement. If the grand theories of Comenius 
and Herbart about learning by incremental revelation, or those lifelong 
nanny rules of Owen, Maclure, Pestalozzi, and Beatrice Webb, or those 
calls for precision in human ranking of Thorndike and Hall, or those 
nuanced interventions of Yale, Stanford, and Columbia Teachers College 
were actually as essential as their proponents claimed, this libertarian 
miracle of motoring would be unfathomable."

So with all this potential danger to drivers and society, people make the 
investment to learn to drive because they want freedom (or just need to 
transport themselves for a job, to get food, etc.) and society lets them 
because cars are part of the bedrock of US society. On the other hand, 
modern cars have been engineered to some extent to be easy to use 
(compared to, say, Ford Model T's). They have standards across all cars 
ands pretty much the same capabilities so even when the switches are in 
slightly different positions, so if you learn how to drive one car, you 
pretty much know how to drive them all, so there is a big payoff long 
term. (Contrast this with programming; maybe we need a big shakeout of 
programming systems. :-)

Then again, there are lots of different driving styles. So even when you 
know how to drive mechanically, there may be various tips and tricks 
stylistically people should learn to be safe drivers, and then how do 
those styles get taught or learned? Of course, even if kids start 
programming on their own, I'd perhaps be more concerned about how to you 
communicate the stylistic parts "programmer safety" to be a responsible 
member of the programming community the same way driving courses might 
focus on "driver safety". :-) Perhaps using Python (or a similar dynamic 
language) should be taught from a "programmer safety" aspect? Python 
programs have a lot less security risk from buffer overflows, for example. :-)

A modern car is effectively a robot, considering all the electronics in it 
-- "stability control" being the latest addition. Equipment with embedded 
computers is becoming more and more common in all sorts of areas -- even 
greeting cards -- although paradoxically it seems computer programming is 
taught less and less from what I read here and elsewhere.

More and more of using some applications is actually what might once have 
been thought of as programming -- word processor macros, spreadsheet 
templates, mail filters, Google queries, writing web pages, modifying 
images, building 3D virtual worlds, configuring your desktop operating 
system or cable modem/router, and so on. Perhaps is programming becoming 
like AI -- in the same way once a computer can do something it is no 
longer considered "intelligence", perhaps when most people can do 
something like make a spreadsheet that is no longer considered 
programming? For general purpose programming (in Python), how attractive 
do you need to make an activity before kids want to do it? They all want 
to drive, even if it is both hard and scary to learn. Maybe the importance 
of computers to modern society is just not as apparent, similarly to how 
the value of learning to write well is not obvious in the K-12 environment 
(other than for letter grades)?

On the other hand, one might argue learning to program is more like 
learning to fix your car. And who fixes their own car these days (or even 
changes their own oil)? With front wheel drive cars now common -- 
combining power plant and transmission in a single engine compartment 
(partially as a cost savings measure for production) -- there is not much 
room to work on a modern engine or transmission. And who has all the right 
tools now that so many operations require specialty tools? So, perhaps, is 
programming going the way of fixing your own car? Yet, free and open 
source software is countering this trend towards more specialized closed 
systems. And computers are more and more important to daily life.

--Paul Fernhout

More information about the Edu-sig mailing list