[Edu-sig] Around again

Kirby Urner pdx4d@teleport.com
Sat, 16 Sep 2000 09:41:17 -0700


Jason, thanks for the Flash5 info.  I'm very interested in 
getting into a package like that and exploring.  I'm a newbie
in that domain, and have never been clear on the relationship
between Flash and MacroMind Director (I have an old version
of the latter, but have never used it).

Art, I think your bias is useful and resonates with a lot of
programmers, even though Jason is correct that an OS itself
is already a multimegabyte, graphically endowed app (unless
we go with preGUI OS).  

But your criteria also apply:  Python is general purpose.  On 
the other hand, it's often used as a "glue language" in the 
real world, getting between mega-apps in not so sexy ways.  
It even gets pressed into service as a simple shell language.  
Students of Python should appreciate this versatility, plus 
realize it's not always the best tool for the job (no language 
always is).

What I don't want to see us waste a lot of time on is re being 
pro- or anti- this or that, engaging in heated discussions, 
when the reality is, all these avenues will continue to be 
explored, regardless of what we do.  Like, we can argue forever 
whether snow is better than wind, or mountains better than the 
beach -- but what impact will any of this have on the real 
world?  Zero.

Rather, I think we should agree on a map or simulation of 
the relevant technologies, how they overlap and feed into 
each other (at least potentially), and then each personally
choose which neck of the woods to spend the most time in,
to make friendly to others.  Like, it's no skin off my nose 
if Alice or LegoMindStorms develop their respective cult 
followings.  We have some millions if not billions of 
would-be programmers out there, after all.

My spin on CP4E is it's minimally the next step after the
mass adoption of calculators, including in math class.  The
CLI (command line interface) is phasing in at this same 
level, and the way many students will first interact with
Python as via IDLE, using it as a calculator.  Then will 
come 

* more exploration of built-in data structures (list,
  tuple, dictionary)
* simple function defs (including with file i/o)
* defs with loops and other control flow statements
* defs saved in a module
* defs encapsulated in a class (w/ subclasses)

This is also pretty much how Python tutorials progress, 
and is how classroom teachers will approach it, as they
trailblaze lesson plans for their students.

As a former high school math teacher and former contributing 
editor-consultant for McGraw-Hill, I tend to approach 
Python as an accessible CLI in the math classroom.  We 
don't teach computer programming as an end in itself, 
but as a means.  You program for the same reason you use 
a calculator, lookup table, CAD application or other tool 
-- to further your comprehension of various key concepts 
in the knowledge domain, to get some answers, produce 
results.  We program vectors using Python primarily to 
better understand vectors, not Python -- and yet we'll 
inadvertently learn a lot of Python in the process (and
a lot about computer languages in general).

To me, that's CP4E -- a kind of programming that becomes 
2nd nature to most people, as a consequence of their having
access to a CLI from an early age.  It _doesn't_ mean everyone 
is interested in becoming a professional programmer who 
earns a living principally by means of writing code.  The 
world would fall apart if that's what "everybody" was doing. 
For me, CP4E = Numeracy + Computer Literacy, and there's 
a real difference between _computer programming for 
everybody_ and _everybody writes codes for a living_.

Kirby