A couple of days ago I attempted to describe to my math dept chair the elegant 
way you can zip two lists in Python to create a set of ordered pairs.  Her 
response was dismissive, saying you can do the same thing on a TI using lists.  
Her point was that we were each doing the same thing in a different way.  My 
response was uhhh ... no, there's a huge difference.  My point was, and always 
has been, that thinking in a language is not the same thing as, is deeper than, 
using a gadget.  What follows is the body of an email I sent her.  I'd welcome 
any feedback to help develop my argument.  

Also - our school is building a new math/science/technology center.  I see 
Python as an excellent kind of thing to get people to explore.  I attended the 
SciPy conference at CalTech in August, just to see what kind of things were 
going on, and it was amazing.  But no one at school seems to care.  It's weird. 
 I feel like I've found this treasure, and I keep saying to people, "Hey!  I've 
found this treasure!"  But no one cares.  It's so weird.

A big problem that I see is the focus on the glamour of tech toys.  Our 
district is willing to spend money on SmartBoards, and these are really cool 
things, but there's so much else they just aren't paying attention to.  The 
focus is on getting gadgets.  But my point is that education should be more 
about language and the articulation of ideas.

So here is what I sent my dept chair.  Thank you for any suggestions to help 
get across to my dept what kinds of things COULD be done - I'm still finding 
out about Python myself.

- Michel 

============================================================

Here are some points I think are important:

Using calculators vs. thinking in a language are NOT two different ways of 
“doing the same thing”.  What is the “thing”?  True, if you’re creating a list 
of ordered pairs from two lists, you can “do it” on a TI or in a Python shell, 
but the difference in the two approaches is immense.  On a TI you have to learn 
where the buttons are.  In a Python shell, all you need to learn is Algebra:  

>>> x = [0, 2, 4, 6, 8, 10]
>>> y = [9, 7, 5, 3, 1, -1]
>>> myListOfPoints = zip(x, y)

So far, the only syntax issue beyond Algebra is “zip”.

>>> myListOfPoints
[(0, 9), (2, 7), (4, 5), (6, 3), (8, 1), (10, -1)]

What I’m showing here is precisely what you would get INTERACTIVELY in a Python 
shell session.

What you type at the >>> prompt simply gets evaluated.  It’s SO easy!

There’s a tremendous unity here – not a bunch of different buttons.

If a student can articulate their thoughts in Algebra, then they can articulate 
their thoughts in Python.

You don’t need yet ANOTHER piece of software to record and display the 
“history” of button presses.

The symbols hang together NATURALLY because of MEANING.  That is important!  It 
really is.

Look how simple this is:

>>> def f(x): return 2.0*x + 3.0

>>> def g(x): return (x - 3.0) / 2.0

>>> f(5)
13.0
>>> g(13)
5.0
>>> f(g(7))
7.0
>>> g(f(7))
7.0

Again, WYSIWYG!  That’s it!  I’ve defined a function and its inverse, and I’ve 
shown their composition.

The only syntax required other than Algebra is “def” and “return”.

Sure, you could “do it” on a TI as well, but it would be kind of clunky.  What 
you see above, you can do on the fly.

The argument that not every kid can have access to a computer is, first, false, 
and second, irrelevant.  It’s like using a SmartBoard – the kids don’t have to 
have SmartBoards at their seats.  That isn’t the point.  The teacher uses the 
SmartBoard as a canvas on which to create artworks of ideas.  A record can be 
kept of what was created.  Same with Python.  It blends in perfectly with this 
SmartBoard kind of world.  With a language that looks like Algebra, the kids 
don’t have to learn how to “use” a piece of software or a gadget.  They can 
take the concepts home with them and download Python for free.  You can put 
Python code on the school web page, and they can download it and use it 
directly.  No special hookups needed.  No gadgets.  Nothing to buy – other than 
the computer, but these days, computers are as common as TV sets.

You CANNOT articulate OO on a TI.  You can’t create a class.  Most people don’t 
care, right now, because they don’t even know what that means, but I can 
guarantee you that there’s a bunch of scientists at places like CalTech who DO 
care!  Mathematics is already object-oriented, and the curriculum of the future 
will need to make students conscious of that fact.  OO is not something just 
for CS majors!  Seriously.

Language transcends device, because a language can create a device.  Devices 
don’t create language.  What a language is is deeper than what a gadget is.  
With just a slight bit of tweaking, the language of Algebra can become a 
computational language!  That’s really cool.  I just don’t get why more people 
don’t care about that, at least at a high school level.  Because, again, I can 
guarantee you that there are a lot of scientists at CalTech, and JPL out there 
who DO care and who agree with me that THAT is what 21st century math should be 
about!  Not USING interfaces – articulating them!



_______________________________________________
Edu-sig mailing list
[email protected]
http://mail.python.org/mailman/listinfo/edu-sig

Reply via email to