[Edu-sig] Getting it going

Kirby Urner pdx4d@teleport.com
Thu, 03 Feb 2000 09:36:24 -0800


Greetings folks --

I too am one of the early posters in the February chapter.
In case you missed what I wrote, and are curious, here's
the URL:

http://www.python.org/pipermail/edu-sig/2000-February/000003.html

Part of what I like about Python is how easy it is to get
right into object oriented thinking, without getting bogged
down in a lot of constructs.  I like what they say about it
being "working pseudo-code".

I think the "object" style is highly useful because of how
it encourages us to think in real world terms.  

We're already naturally conditioned to view our reality in 
terms of systems with insides and outsides (like bodies).  
Inside, you have the encapsulated "guts" (data and methods), 
the "under the hood workings".  And only "trained mechanics" 
or "authorized personnel" (aka the programmer-owner of the
objects) needs to tinker with the guts.  The user (of the
object) just needs an interface (dashboard, controls, cockpit, 
API).

So I'm quite excited by the potential of a language like 
Python to communicate to younger kids:  

(a) what's actually meant by the term "object oriented" 
    (rescue it from buzzword status) and 
(b) how this could be a useful paradigm for you too -- 
    when it comes to diagramming a large challenge, even
    before you start thinking about coding

I work to communicate my excitement about object-oriented 
thinking, and it's potential to impact early math learning,
in the following paper (you'll see Python mentioned):

http://www.inetarena.com/~pdx4d/ocn/trends2000.html

You'll see in the above paper that my other passion is 
polyhedra.  As a geometry teacher, I'm seeing great promise
in linking early ideas about "object oriented programming"
to polyhedra as "paradigm objects".  Why?  Because all
polyhedra rotate, translate, scale, and consist of points,
edges and faces.  So we can put these generic methods and
data structures in the superclass (Poly) and then subclass 
Poly to get the various shapes we want to further specify.

And polys are great because they drag in so many topics
already near and dear to any math teacher's heart: 
coordinate geometry, trig ops, matrix ops, vectors, 
rotational symmetry, lattices, sphere packing, volume
-- all the things any math savvy kid should know about.
Plus there's buy in from students, because spatial 
geometry is, after all, the segue into computer games,
animations and so on (I support the CP4E concept of 
roping in Alice -- a package I've tinkered with only a
little (my approach so far has been to use the Povray 
ray tracer (freeware) and VRML as target "back ends")).

Applying the OOP model to Polys, using Python, is exactly 
what I've done (source code available) at:

http://www.inetarena.com/~pdx4d/ocn/oop7.html

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