[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