[Edu-sig] Algebra + Python

Kirby Urner pdx4d@teleport.com
Sat, 28 Apr 2001 01:44:51 -0700


Lot's of interesting ruminations here.

> disjunctions or whatever of subsets of that space".  And I don't know
> whether the multidimensional spatial metaphor is helpful or harmful in
> 7th grade; if people have read E. A. Abbott, it will at least be
> _exciting_ to them.

( I'm somewhat impatient with this approach of using "higher dimensions"
as hype (pun intended) -- getting math to seem "cool" by doing stage
magic ala Abbott.  But I'm very much in the minority here. )

> Once I studied Scheme and lambda and environments in _SICP_, I felt
> much more comfortable about all of this.  Here programming can help
> a great deal, I think.  But I wonder how many algebra students can't
> really see what's going on and what the actual roles of those letters
> are.

Yes, good point.  I think it all seems clearer once you've got the
computer language to refer to.  Just studying the language clears up 
operating on functions, passing functions as parameters.  Python makes
this all more concrete, easier to wrap your brain around.

> If Python's variable scope rules didn't prevent it,
>
>	return lambda x: A*x**2 + B*x + C

I think there's something more like this I'm just not getting 
tonight.  The scoping rules did change recently.  Surely there's
a better way than my eval("%s") stuff, I agree.

> I would add an h parameter, with a default value:
>
> def deriv(f,x,h=0.0001):
> 	return (f(x+h)-f(x))/h

Yeah, good suggestion.

There's also a way to compute an optimized h based on analysis of
the function itself, but I don't have that at my finger tips.

> I could have understood a lot about that in high school, if somebody
> had taught it.

You make a lot of on-target observations in this post, ask some
good questions.

Given different learners have different strengths and weaknesses,
what's the best mix of approaches and methods is maybe not 
something we can optimize in a blanket way.  But the computer 
language and command line capability adds a lot more tools and
ways to get at the substance of math.  It's a whole new bag of
tricks (relatively new).  I think teachers will eventually have 
a lot of fun with this stuff -- but right now calculators are 
all the rage, are hogging the limelight.

Given all the stuff you can do with computers, kids want them
(MP3s, web etc.).  But calculators are pretty specialized and 
relatively few would go out and buy them were they not required 
for various math courses.  

So you spend a lot of time learning to use a tool that you may not 
use beyond the math course itself (if you're going to be using math
professionally, you'll likely switch to a computer).  

With a computer language, though, you've got something to grow with.
It'll engage the operating system, serve as a way to control various
other apps via APIs and so forth.  I think this is a better and 
more versatile platform on which to build in a lot of mathematical
concepts, vs. being so reliant on calculators.

Kirby