[Edu-sig] Math + Python: reviewing some themes (long)

kirby urner kirby.urner at gmail.com
Mon Feb 1 04:25:12 CET 2010

On Sun, Jan 31, 2010 at 2:28 PM, kirby urner <kirby.urner at gmail.com> wrote:
> On Sun, Jan 31, 2010 at 10:05 AM, michel paul <mpaul213 at gmail.com> wrote:

> Per earlier remarks in this thread, it seems an uphill battle to have school
> administrators accept coding in Python as having anything to do with a
> math course.  It doesn't look like textbook math.  The notation is not
> traditional.  Where are all those greek letters?  Science and engineering
> maybe, but surely not math!

I should clarify here, that it was never my wild fantasy that traditional
math notation was just going to evaporate into the ether.

The idea here is concrete interaction with an interpreter adds another
way of expressing the same concepts, so you get more like two
opportunities that cross-check one another.

Here's sigma notation (capital Sigma) on the one hand, here's a while
loop (a do loop) on the other.  Both have incrementing indexes that may
be used to define successive terms.

Both may result in a sum.

By having them side by side, using one to explain the other, you
don't double the difficulty, you halve it, is what I'm contending.

All the advocates for incorporating computer languages have
kept it a mix, The Art of Computer Programming giving a good
sense of it, with MMX coming in as a new flavor, an ingredient,
not as a replacement for anything.

Just because we have Sage on the projector, are working
through some integral, doesn't mean we can't show the Integral
sign (Riemann Sum symbol) on the adjacent white board.

Some GUIs give you that typesetting layer, atop a more rigorous
machine-friendlier layer [1], whereas others do not.

Sometimes you have a pretty simple shell, like iPython or
IDLE or PLT Scheme, or just a bash terminal window -- and
that's not such a terrible thing, if you've had some training
in lexical subjects.

> The bias we need to overcome, in my view, is that computer
> programming is really hard, and that by adding some coding
> language to the math curriculum is just making a difficult
> subject more difficult.  That point of view pushes Computational
> Thinking into the "honors elective" category.

Botched the grammar there didn't I?

Feeling again the need to add corrective thinking, reply to my own

Computer programming *is* really hard sometimes.  Denying that
fact would sound easy-breezy cavalier plus is simply not true.  The
key word is "sometimes".  Math gets really hard too (duh).

The goal is to help develop an appetite for these challenges, not
to be ultra intimidating.

The point of yakking about "types of math object" their properties
and operations, is *not* necessarily to shoot for high honors or
advanced placement credit.

That *might* be the point in some contexts.

More to the point is wanting to render pre-existing well-established
mathematics in a more accessible, hands-on, and intelligible
format, without losing any backward compatibility.

List comprehensions *illuminate* ideas about functions, do not
detract from them.  Creating a list of (domain, range) tuples
using "zip" is kind of interesting, gives a hands on component
to what's in the book.

I'm not posing as some uber-mathematician or programmer god
in any of these postings, or if it looks like I see myself that way,
then my apologies.  I'm all thumbs with bash.  Getting Ubuntu
and Win7 to work on the same laptop pushed me to the limit
of my ability and without pointers from Ron, I'd surely have failed.**

I'm thinking what might be useful to an average student.  Add
a computer language to make math seem easier, not more
difficult.  If that seems counter-intuitive, then maybe give it
a try anyway?  I've been doing empirical field work, actually
doing this in my classes (few and far between, not a full timer,
much as I'd like to be some days).  I'm learning many things
that work.  Telling more lore is one of them (have meaningful
stories on tap, not deliberately meaningless ones).


** the motherboard video on the Core i3 wasn't gonna work
with Ubuntu, found the needle in a haystack post.  Ron
told me about VirtualBox from Sun Microsystems, actually
hand-holded me through the download.  Ubuntu 9.10 went
on as a guest operating system, WIndows 7 a host.  A few
hours later, I figured out how to get wireless passed through,
and hours after that, full screen Ubuntu instead of 800 x 600.
So satisfying.  Now its back to where I left off at the Django
conference, trying to figure out about virtualenv again.  Ian
Bicking did the demo.  I was "snake bearer" (token PSF guy,
not some kind of Django expert by any stretch of the imagination).
Now there's virtualenvwrapper too.

Ron is lightyears ahead of me in so many ways.  Like me,
he's a Quaker, and reported that at meeting today (I skipped)
we had a guy from Scotland who turned out to be some
key guy with Canonical, with Kubuntu in particular.  Ron
just phoned as I was writing this and saying he's very
likely moving to kubuntu now as another virtual OS, likes
KDE over Gnome.  He's already running OSX, WIndows,
developing cross-platform for iPhone, Android, Nokia's
thing....  I'm so not in that league.  I'm more just the local
high school math teacher, gray hair, obsessing about
polyhedra too much or something.

More information about the Edu-sig mailing list