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

kirby urner kirby.urner at gmail.com
Sun Jan 31 23:28:29 CET 2010


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


<< SNIP >>

> Again, one of the things I truly love about Sage is that at its core, it is
> pure Python.  I was delighted with something one of my FST students said.  I
> had been using Sage as my blackboard in class, and then I started showing
> them pure Python.  My student said that he liked having to think things
> through in pure Python better than using Sage directly, because Sage seemed
> so overwhelming.  When I had them restricted to just the Python shell, he
> liked having to reason with just a small set of constructs.  I was glad to
> hear him say that, as it showed he was really getting the message about what
> I was saying 'computational thinking' was all about.
>
> - Michel

Thank you for sharing more about Sage, the above remark especially.

Yes, like Mathematica, Sage may seem overwhelming given how the math
concepts come flooding in on top of Python.

If Python is unfamiliar to begin with, then the learning curve may seem
vertical.

If you read through parts of the tutorial below (as I've been doing),
you'll see that the introductory chapters read a lot like a standard
Python tutorial.

This book is written (per introduction) for Sage users who have been
exposed to a computer language before, just maybe not Python....

http://sage.math.washington.edu/home/tkosan/newbies_book/sage_for_newbies_v1.23.pdf

Here's a direct quote from the above work:

"""
In a computer, a value is a pattern of bits in one or more memory locations that
mean something when interpreted using a given context. In SAGE, patterns of
bits in memory that have meaning are called objects. SAGE itself is built with
objects and the data that SAGE programs process are also represented as
objects. Objects are explained in more depth in Chapter 4.
In the above expressions, 2, 3, 5, 6, 21, and 18 are objects that are
interpreted
using a context called the sage.rings.integer.Integer context. Contexts that
can be associated with objects are called types and an object that is of type
sage.rings.integer.Integer is used to represent integers.
There is a command in SAGE called type() which will return the type of any
object that is passed to it. Lets have the type() command tell us what
the type of
the objects 3 and 21 are by executing the following code: (Note: from this point
forward, the source code that is to be entered into a cell, and any results that
need to be displayed, will be given without using a graphic worksheet screen
capture.)

type(3)

<type 'sage.rings.integer.Integer'>
"""

TECHNICAL NOTE APPENDED re "context". [1]

What I'm getting from this is we have a stronger case than ever for wanting
to just cover some basic Python ahead of time, in a math-learning context.

A student already practiced with a text such as Mathematics for the Digital
Age will have a much easier time picking up those parts of Sage most
relevant to whatever math domain currently under discussion.  Might well
be calculus (many examples of taking integrals and derivatives in the docs,
also solving differential equations).

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!

With Sage, I think we get more of a foot in the door, for those lucky
schools with faculty wishing to innovate in this direction.

Point an administrator to the above tutorial and explain how how
mathematics has been greatly affected by computer technology
and confining student experience to templates of the recent past
is actually quite a risky strategy, perhaps even unconscionable
given the software is free?

That argument depends on the district -- in some corners, hardware
is not really a bottleneck either, as companies and government
agencies are keen to cast off fairly decent equipment for a tax
write-off... the only real shortage in this picture is trained personnel,
which is where teacher training comes in.

On the bright side, many high school math teachers are seeking
ways to make their subject area more illuminating and relevant.
Students would exit in droves were it not for these being required
subjects (at least for some years).  The political rhetoric and
climate is conducive to taking bold action, as there's widespread
agreement that the K-12 "pipeline" (some object to that term)
is broken, dysfunctional, losing too many students.

Adding an industrial grade professional computer language to
the mix (not necessarily Python, though we know that's a good
one) would come across as reassuring to students.  They feel
that same pressure to keep up, know their peers in some other
states ("states" broadly interpreted, could mean nation, district
or zip code area) are already getting these advantages.  Just
knowing one's school has the *option* of a digital math class
(or whatever we call it) would seem like proof that we're really
getting somewhere, that all this talk of upgrading is not mere
lip service and hand waving (easy to get cynical when all these
press reports, e.g. of Intel offering millions, leads to nothing
different on the ground [2]).

Back to the above paragraph, you see how it becomes necessary
right from the top to start talking about objects and their types.

Yes, we may still argue about whether whole numbers deserve
their own type simply because we've added zero to the "natural
numbers" starting with 1 (i.e. W = N + {0}).  But the mere fact of
these arguments serves to reinforce the core ideas:  (a) that
mathematics has types and (b) we may refer to these as "types
of object" or even "math objects" for short.  This way of thinking
does not depend on knowing a lot about computers or computer
memory.  The "grammar of objects" is already embedded in
human language, with the original aim of Smalltalk being to
more closely mirror how people already think in their respective
knowledge domains, mathematics no exception.

That we should be giving math teachers opportunities to move
their skills in this direction seems prudent and conservative to
me, not like some radical "out there" suggestion.  Clinging to
the status quo, in contrast, seems like pure denial that any kind
of future is happening.  Holding on to the way things were, paying
no attention to trends, would seem the radical / risky position to
me.

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.

Don't get me wrong:  I think there's plenty of room for honors
electives in this picture, steep learning curves, lots of challenges.
But I'm quite aware of administrator concerns about inequity,
funneling resources to those labeled talented and gifted, whereas
so often it's a mere lack of opportunity that keeps this "digital
divide" so divisive.  The pilot programs we need to be reading
about should not all be based in these exclusive private schools,
lest we send the wrong message.  One Laptop per Child is a
source of counter-spin, plus various foundations we could name
have diversity and broad spectrum outreach among their core
values.  When it comes to getting support for these teacher
training programs, one needs to make sure we're getting through
to those big public high schools, including in rural areas.

Anyway, I'm straying into politics here (again).[3]

To some extent, I think it's up to the various open source
communities to keep reminding the public of the opportunities
here.  GNU and its expanded legacy is one of the more
hope-inspiring achievements of recent generations, evidence
that humans will indeed collaborate cross-culturally, on a
global basis, once provided with the infrastructure to do so.
Open source is an integral part of world affairs at this point,
and deserves to be taught as such.  If your high school
offers a current events class, yet there's no mention of
the free software movement, then how is this really an
intelligent overview?  Are librarians the most up to date these
days, given libraries are where students go for help with all
these new tools?  Maybe so.

http://www.techlearning.com/article/23558

More preaching to the choir here I realize...

Kirby

[1]

The Sage docs use "context" as a substitute for "namespace"
pretty much, as types of object do have their associated namespaces.

One way to introduce "dot notation" to those unfamiliar with this syntax
is to point out its role in "disambiguation" (a big word, but as much a term
in language arts as computer science), a thing we do on Wikipedia for
example, when the same term points to more than one entry.

When Java simply inverted the domain name to make that a prefix to
unique packages, we were seeing disambiguation taken to a new level.

[2] thread on math-teach about the Intel announcement:
http://www.rdmag.com/News/Feeds/2010/01/information-tech-intel-commits-200-million-for-math-and-science-ed/

(is it really feasible to accomplish all the necessary training based on
distance education and Web 2.0 technologies?  I'd say one still needs
a mix of distance and in-person, so I'm skeptical of any funding proposals
that just focus on the Internet as the only curriculum delivery vehicle --
we need to recruit a large army of volunteers willing to take some paid
time to do actual field work, no?  Where is that Intel-sponsored facility
in Portland where teachers might actually show up and compare notes?
If it's all burning the midnight oil in some self-study atmosphere, even
with shared whiteboards etc., then that'll invite a backlash).

Note:  my preferred solution, based in historical precedent, was to
actually field a fleet of specialized vans, send them around in a kind
of circus mode to take trainings directly to schools, get the ball rolling,
a kind of recruitment drive, in the sense of getting people signed up
for whatever distance learning follow-ups, hands-on classes.  Proud
sponsors would have their logos emblazoned on these "bookmobile"
like vehicles and the very fact of their existence would galvanize the
teaching world, make innovation in education a cause celeb, something
to publish fun stories about.  I haven't given up on this vision, but after
so many years of promulgating the possibility, I realize I'm somewhat
alone in sharing science fiction of this genre.  If it's just me that's
interested, it obviously ain't gonna happen.

[3]

My personal experience is colored by stint with a local police
department right in the heart of the Silicon Forest, a stone's
throw from Intel.  The neighborhoods have many recent immigrant
families seeking opportunity and some training in computer
technology would help with that.  The police department was
actually putting some computer labs and browser access points
in various housing projects, wanting to jump start more of a
learning experience.  The chief (a son of Chinese immigrants
himself) set up a Linux lab right in West Precinct, and invited
kids to come for lessons in open source technologies (I was
one of the co-teachers).

(When I say "stint with" I don't mean I was ever on payroll with
the police.  They hired Saturday Academy, a local nonprofit,
to supply the teachers and curriculum).

What impressed me about all this was the police were doing
all this out of a sense of survival and wanting to keep their
future from being too nightmarish.  If these students had no
hope, if opportunities were all closed to them, then that would
just mean more despair, more crime, more pressure on police
to manage an unworkable situation.  How much better it would
be if some real and relevant education were happening!

I thought their thinking process was rational, bold and worthy
of respect in this instance.  I had no problem getting on board.

So what were the schools doing?  They mostly wanted the
police to come in and give scary talks about how software
piracy was bad, downloading music evil, etc. etc.  These
were the early days of Napster.  Was there any mention of
open source, of subcultures that actively encouraged sharing,
legally and ethically?  Precious little, actually next to nothing
back then.

We've come a long way in the meantime, but maybe not far
enough.  Resistance to necessary innovation, right in the
heart of the Silicon Forest, is still a major fact of life.
Educating administrators about introducing a new kind
of math class is an uphill battle even here.  I'm seeing the
community colleges as potential allies.  Anyone else want
to chime in?

>
> --
> "Computer science is the new mathematics."
>
> -- Dr. Christos Papadimitriou
>
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig
>
>


More information about the Edu-sig mailing list