[Edu-sig] Python in Education

Kirby Urner pdx4d@teleport.com
Mon, 08 Jan 2001 20:41:31 -0800


First, I think it's a premise of this list that we're talking
about using Python in some way.  Not necessarily to the exclusion
of other tools.  On the contrary, Python is very powerful as a
"synergizer" -- works well with others.

So, once you're in the realm of the Python language, you're 
doing something at least precise enough to use Python for.
Other aspects of the toolkit might be less precise, but Python
is Python -- it has to at least have well-formed syntax or it
won't run.

My tack has been to eye the math classroom and see a lot of 
ways in which programming fits.  But this isn't the standard
approach.  Most people, when they think of Python in Education,
think (a) of a computer programming or computer science course
and (b) of using Python as a main language in that course. 
That's the standard way of thinking about Python in Education,
and it puts Python in competition with languages already being
used to teach programming in those kinds of courses:  VB, C++, 
DrScheme or whatever.

So again, I'm doing something non-standard:  suggesting we 
phase Python into the K-12 math curriculum.  To me, that's a
direction you'd need to go if you're really, trully serious
about "programming for everybody" -- because math has a wider
audience, is more core to the curriculum, than computer 
programming courses.  Programming is mostly an elective 
subject, offered only in high school initially (with more
to follow in college).  Math is something everybody studies,
starting in kindergarden.

Now, if you look at the current situation in the USA at least,
there's a lot of controversy about how to best teach math.
We've got these so-called "math wars" raging and everyone is
up in arms about "fuzzy math" or the retreat to "traditionalist"
approaches (already proven turn-offs) or whatever.  

Plus you've got everyone jabbering about calculators, whether 
they're good or bad.  If they talk about computers at all (and 
they do -- a little), it's not with reference to programming 
them, but with reference to using canned applications:  dynamic 
geometry packages, CDROMs, other stuff.  That seems to really 
narrow the discussion, and marginalizes voices like mine, which 
want to talk about how to program around math concepts, in the 
context of the math curriculum.

So I come along and say:  hey, lets rescue math from being such
a dull, stale subject AND let's adhere to this CP4E rhetoric.
Instead of manufacturing a lot of applications (e.g. Alice) in 
separate computer science courses, and taking up programming 
only in programming classes, lets make programming more second 
nature, the kind of thing anybody might do when trying to work 
on a problem.  The way to do that, it seems to me, is to phase 
out those calculators (harder to program) in favor of a VHLL 
(very high level language) like Python -- plus assorted tools 
(e.g. Povray, VRML, etc. etc.).

Now, if you look at it this way, you're immediately confronted
with a lot of challenges (not to mention resistence).  For one
thing, math as a school subject couldn't stay the way it is now 
if we brought a lot of computer programming into the picture.  
The way we teach math would have to change quite a bit.  And I 
enjoy thinking along those lines.  I'm _glad_ math would have 
to change -- I don't like the status quo.  But certainly there's 
a lot to think about.  More than if you just imagine Python 
swapping in for C++ in a standard computer programming course -- 
things wouldn't have to change that much, except you could 
probably move faster and not lose so many students (because 
Python is a lot easier to learn and start using effectively 
than C++).

So whereas I have no problem whatsoever with the fact that most
people want to brainstorm around putting Python into a computer
programming classroom (makes sense), I _am_ a little surprised
that there's not more interest in this "programming in a math
classroom" approach.  Because math is withering on the vine right
now, in a lot of trouble.  Because math is way more widely taught
than computer programming, so CP4E would be given a really serious 
boost if math teachers start to embrace Python and computers, 
over those silly calculators (great for TI, but is this what's 
best for our future?).  To me, pushing Python towards mainstream
math looks a lot more pro-CP4Eish than saying it should just
be taught in computer programming courses.

So on the one hand, I talk to math teachers who may well know 
nothing about programming, let alone Python, and on the other, 
I talk to computer programming teachers who seem reluctant to 
think about programming outside of the standard, already known 
context.  Whereas programming languages + math would seem to be 
a natural, obvious, no-brainer kind of synergy, it's actually 
not being promoted by either those into teaching math, or by 
those into teaching programming -- not by many that I can find.  
And I find that most curious.

Kirby