[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