[Edu-sig] Update: Python & the "Math Wars"
Kirby Urner
pdx4d@teleport.com
Tue, 04 Apr 2000 09:16:30 -0700
Howdy Pythoneers --
I quit this list a month ago, to the day, with the following
sign-off:
http://www.python.org/pipermail/edu-sig/2000-March/000271.html
As per that note, I headed back to k12.ed.math and the AMTE
listserv (AMTE = Association of Mathematics Teacher Educators)
The AMTE list is highly polarized and polemical these days.
That's because of the Math Wars that's going on, with
California a principal battlefield. One teacher (in the
reformist camp) was even planning a hunger strike!
Basically it's a war between the traditionalists on the
one hand (with Dr. Wayne Bishop the chief articulator
on the AMTE list) versus the reformers on the other.
You may recall that full page letter to Secretary of
Education Riley in the Washington Post, signed by a lot
of math profs, decrying the new "fuzzy math" which his
Department, along with the NSF and NCTM, consider an
advance over the traditional curriculum.
Anyway, with all this going on, it's a bit hard to get a
word in edgewise regarding computer languages in math ed
-- not really on the agenda of either camp, from what I
can ascertain.
My position is either the reforms don't go far enough, or
go too far down a dead end trail, and we should return to
base camp (traditional), and innovate in a more promising
direction (one that includes more computer language).
Given the slowness of the upgrade cycle in math ed, owing
to its being weighed down by mass publishing, which adds
tremendous inertia to the equation, I've also advocated
doing more to base math ed, including K-12, in cyberspace.
We need to cut loose from these huge investments in text
books, which don't do multimedia very well anyway. This
doesn't mean we don't print hardcopy of anything, only
that we collaborate/update/innovate much more quickly, in
order to catch up with the real world -- the curriculum
lags far behind these days, is in a time warp.
You can sample some of the dialog at:
http://mathforum.com/epigone/amte/zerdkhingdwer (that's
just the tip of the iceberg, but hey, life is short).
Of course my row would be easier to hoe if I were content
to rest easy with de facto compartmentation: mathenmatics
and computer science (CS) are down the hall from one another,
with their own respective faculties, text books, ways of
doing business.
While I have nothing against CS at the high school level,
I'm still of the mind that math educators need to integrate
at least one computer language into their thinking, in
order to revitalize their discipline and make it more
accessible, relevant and appealing. Numeracy and computer
literacy should be convergent goals in the early grades,
when our concern is to not overspecialize. I'm with the
reformers when they say "curriculum integration is the name
of the game".
Here's my recent post re my approach to comp.lang.python:
==========================
From: Kirby Urner <urner@alumni.princeton.edu>
Newsgroups: comp.lang.python
Subject: Learning in Stereo: Math + Python
Date: Sun, 02 Apr 2000 11:10:44 -0700
Re: "Learning in Stereo" by K. Urner (April 2, 2000)
VHLLs (very high level languages) are human-readable
-- not just computer-readable.
VHLL programs = notations suitable for expressing
high precision ops -- such as we find in math books.
Yes, of course, we still need to learn the time-honored
symbols, like SIGMA (<- capital greek letter goes here),
accepted internationally and accessible to all with
the proper training (and the right typesetting equipment)
But why not "hit two targets with one throw" and learn
a VHLL in tandem? Everyone should know some computer
language or other, n'est pas?
By learning a VHLL in tandem with math, you'll be able
to translate back and forth between math symbols and
a computer language -- using each to interpret the
other (call it "learning in stereo").
Enter Python, a VHLL eminently suitable to this task:
>>> def sigma(n,func):
sum = 0
for i in range(1,n+1):
sum = sum + func(i)
return sum
>>> def f(x):
return 1.0/(x*x)
>>> def pi(n):
return (6 * sigma(n,f))**0.5
>>> pi(100)
3.04936163598
>>> pi(10000)
3.14149716395
Yes, we're converging to PI ( = 3.14159...) albiet very
slowly. In other words (in more conventional math
notation):
PI^2
---- = 1 + 1/4 + 1/9 + 1/25 + 1/36 ...
6
= SIGMA [ 1/i^2]
i = 1
i.e. PI = [ 6 * SIGMA [1/i^2] ]^(1/2)
i = 1
At my Oregon Curriculum network website, you'll find a
4-part essay entitled 'Numeracy + Computer Literacy'
series. This will give you a clear idea of my approach.
See: http://www.inetarena.com/~pdx4d/ocn/cp4e.html
Is this a new idea? Not really -- people have used
BASIC for the same purpose. But Python has a more up
to date design, is the "new BASIC" for people just
starting out today. Your kids get to start with
something better than you had as a kid.
Of course what you learn from Python you can adapt to
other languages, such as Java, C/C++ and Perl.
In the mean time, why not teach and/or learn object
oriented programming and spatial geometry at the same
time? The math might come in handy as well.
This what we're cooking up at the Oregon Curriculum
network website.
Come on by and give us a try!
Kirby
Curriculum writer