[Edu-sig] More brainstorming about teaching Python

Kirby Urner pdx4d@teleport.com
Fri, 15 Jun 2001 12:27:06 -0700


My own approach to Python teaching, for those new to this list, is to
establish it in the context of material that's already required in 
most schools i.e. in the midst of mathematics teaching.  A new 
math + computer science hybrid would come to displace the 
mostly computerless math taught in most schools today.  This is 
currently impractical as math classrooms don't have computers.  
Mostly it's the homeschoolers with access to the internet who 
already have the necessary tools.

Of course many people consider math boring, and/or difficult, but
my feeling is an interactive computer language like Python is the
secret magic ingredient that transforms a dull subject into a more
interesting and relevant one for a lot of people.  Plus it takes 
a subject which sometimes has a hard time connecting to the real
world, and swaps in a better springboard to applications and 
future career options.

Since edu-sig is a lot about computer science teachers looking for 
ways to replace C or Visual Basic or Java with Python, in already-
existing courses, I'm mostly posting in other contexts, trying to 
spread the gospel of Python to the math teaching community more 
directly, talking up why a general purpose programming language is 
a better thing to be teaching than a specialized high end graphing
calculator language such as the TI's, or even Mathematica's -- not
that it's either/or (we can always do both).

However, I draw a lot of inspiration from edu-sig, and come here to
whine and complain when I only get cold shouldered by math teachers,
who simply don't want to hybridize with an alien discipline, even
though various great mathematicians were very into inventing computing 
machinery to the extent permitted by the technology of their day.

The division of numeracy into math on one side of the fence and 
computer science on the other, especially at the introductory level,
is a symptom of over-compartmentalization, over-specialization. 
A Renaissance approach is to integrate what is artifically kept 
separate, in order to foster synergy (new wholesome developments, 
way cooler than what any of the parts considered alone would 
predict).

The thing about computer games is that if they're 3D, vs. a flat 
panel tableux, they probably feature 3D rotation of objects.  This
requires some linear algebra or even quaternions.  Plus there's this
newfangled thing in the pipeline called Clifford Algebra, which 
is making headway as a new source of algorithms.  All these topics
have many applications in gaming, and represent some of the main 
areas covered in mathematics courses.  So getting more of the math
behind computer games into math class, in tandem with the computer
power it takes to play with these gizmos, is something of a priority
in the kind of curriculum writing I do and share via the web.

Another topic I get into a lot is cryptography, because here we have
a lot of great historical narratives intersecting with plenty of 
interesting math.  "Math through storytelling" along with "math 
through programming" are headings under which a file a lot of the
major trends and reforms I consider most encouraging, and do my 
little part to encourage.

None of these ideas are particularly novel or revolutionary of 
course.  A lot of writers have adopted similar strategies.  This
is just the latest chapter in a long story, with the novelty having
a lot to do with the fact that before, we didn't have Python, but
now we do.  That changes things.  For example, having easy access
to the extended mathematical routines (big number algorithms), 
which wasn't available in Turbo Pascal (for example), makes it 
much easier to explore the connections between number theory and
group theory -- in ways that don't require college-level background
and training, nor years and years of prior programming experience.
Python brings all this within range of high or middle schoolers.

I'm of course not saying that Python is the *only* language suitable
for this approach.  There are others.  It's just that we've come a
long way since the 1980s, when I pondered these questions from the
28th floor of the McGraw-Hill building in Rockefeller Center, 
Avenue of the Americas, New York City (right across from my favorite
sushi bar).  Everything I worked for back then is way more doable
today, thanks to Guido et al.  The spread of hardware, sophisticated
operating systems, and the distribution networks has been phenomenal,
and has everything to do with their affordability and ease of use.
Now, teachers in many walks of life, spread around everywhere, can
engage in collaborative curriculum writing and idea testing so 
easily.  Students can ascend the learning curve more quickly, if 
at all motivated to do so, and turn around to begin teaching 
themselves.  I'm excited by the increasing levels of literacy, 
including numeracy, that I sense in so many subcultures and 
communities.

Kirby
Curriculum writer
Oregon Curriculum Network
http://www.inetarena.com/~pdx4d/ocn/