# math through programming

Kirby Urner urner at alumni.princeton.edu
Tue Feb 13 22:04:51 CET 2001

```[

below is my most recent post to math-learn, clearly a
response to something earlier -- but with enough standalone
content to give the idea.

Earlier posts in the same thread include Python source
code for computing Pascal's Triangle and comparing the
results with balls randomly falling, pachinko-style,
through a triangulated grid of pins (some of you may have
seen the well-known science museum demo showing the bell
curved result).

Thanks again to Tim Peters for cluing me re 'Concrete
Mathematics' which I went out and grabbed some months ago
(if edu-sig had a search feature, I'd go find where he
first posted about it, as an easier intro than Knuth's
"telegraphic" 'Art of Computer Programming' -- and indeed,
that's how this text evolved, from notes around the
mathematical preliminaries leading into Knuth's magnum
opus).

I'm cross-posting this here as a snap-shot of my ongoing
effort to combine the math learning process with a
strong programming element, to create a hybrid more
adapted to life in the 21st century.  The mass-education
juggernaut has too much inertia to steer in this new
direction any time soon, but there's always the hope
that more alert passengers will jump overboard and swim
for their lives :-D (good to have this alternative more
seaworthy craft in the vicinity, given the more
conventional curriculum simply isn't).

http://www.mathforum.com/epigone/math-learn/snoipumkhee

Kirby

]

Subject:      [math-learn] Re: Intro to Probability
Author:       pdx4d at teleport.com
Date:         Tue, 13 Feb 2001 16:33:03 -0000

> So the short way to write (n-k+1)! is just n!/(n-k)! as
^^^^^^^^^^^^^^^^^^^^^^^^^^

> that cancels all terms except n(n-1)(n-2)..(n-k+1).

Right, a typo, thanks to a close reader for catching that.  What I
wanted to express with (n-k+1)! were the k terms in n(n-1)...(n-k+1),
but of course these aren't equivalent. What I need is notation to
expressing a "falling factorial" running for k terms, and, indeed,
such notation is offered in 'Concrete Mathematics' by Graham Knuth
and Patashnik (Addison-Wesley, 1994), pp 47-48.

The notation can't easily be written in ascii unfortunately, but
"n to the m falling" is written [n to the m-underbar].  With "n to
the m rising" = [n to the m_overbar].  "These functions are also
called 'falling factorial powers' and 'rising factorial powers',
since they are closely related to the factorial function n! =
n(n-1)...(1).  In fact n! = [n to the n-underbar] = [1 to the n-
overbar]."

So anyway, what I should have written was [n to the k-underbar].

This book 'Concrete Mathematics' I've mentioned before on math-teach,
as exemplary of what I'm aiming for at the college level with my
K-12 curriculum writing.  It's used for computer science students
a lot, but it's also just a fine introduction to a lot of concrete
(not too abstract) mathematics, including discrete probability,
binomial coefficients and elementary number theory.

I'm also trying to boost geometry content, by moving 'Beyond
Flatland' (off the plane) -- which links to a 'Beyond Calculators'
push as well (as I haven't seen many rotating polyhedra on
calculator screens -- though maybe these have appeared in Japan
by this time, a market typically ahead of the USA's in the
calculator department).

As I wrote to a math educator recently by email:

You may remember from emails past that I'm one of those
looking for ways to incorporate more of Bucky Fuller's
contributions into early math ed.  I also push a "math
through programming" approach, and converge it with the
Fuller-informed spatial geometry.  "Beyond Flatland" and
"Beyond Calculators" summarize my two pronged strategy
to revamp math ed pedagogy.

I've just put up a new essay, well-illustrated, which
looks at the "Beyond Flatland" approach:
http://www.inetarena.com/~pdx4d/ocn/overview.html

And here's a review of my "Beyond Calculators" initiative:
http://www.oreillynet.com/pub/a/python/2000/10/04/pythonnews.html

Kirby

```