[Edu-sig] CP4E VideoPython learning to teatch / teaching to learn ..[xpost: was {'cpl',"don't laugh"}]

Jason Cunliffe jasonic@nomadicsltd.com
Thu, 31 Aug 2000 13:04:52 -0400


Hello everyone

At Guido's suggestion, I am forwarding this rather impassioned  reply-post I
made to a recent thread on comp.lang.python.
I  have also just now subscribed to Edu-sig@python.org
I have been following CP4E at a distance since I first heard about it and
look forwards to sharing skills, ideas and inspiration together..
- Jason
________________________________________________________________
Jason CUNLIFFE = NOMADICS.(Interactive Art and Technology).Design Director

............................................................................
....................................................
Ken Mossman <K.Mossman@adb.com.ph> wrote in message
news:8oi3s4$8km$1@nobel2.pacific.net.sg...
> I have some JUNIOR staff
> and they are asking
> if there any CBT or multi-media
> courses for Python
>
> They are NEWBIES !!

Hello. This is long post because you touched a nerve here...

I am not only laughing, but crying too - at you folks for not appreciating
what a good question this really is!

In fact I am wondering if in part this does not get at the heart of CP4E
[computer programming for everyone]..or what is missing in that regard..

Personally I would love to spend a couple of hours sitting next to an
experienced Python programmer who could show for example the process of
putting to together a program, testing it, shaping, how they react to error
messages, how they sculpt the code, how they might look at the problem a
couple of ways, how they use the tools, how many windows open, what they
look
at.. the real-world rhythm of a few hours in the life of a python program..
even better if this was intelligently structured and re-playable with
examples. It would be nice to have a human being talk and type me through
some code.

Yes there is no substitute for hands-on learning doing. But there is no
substitute for great teachers either!
And since we don t have the joys of python class in school or at our corner
adult-education center, we go to the web and read and download and hack
explore till hopefully it clicks. Some experienced folks can transfer their
previous learning fast, but for others who may have no experience or com
from another background, the first steps are very important..

But consider for example what happens when you open a high powered version 9
piece of multimedia or 3d.modelling.animation software.. How many of your
here would last 15 minutes before a deep and overwhelming sense of drowning
mingled with your wide-eyed ambition and fascination. But try to get
something done...

Ok so you get your hands on 1 hour video which shows you the basic features,
some examples and give you a reasonable grasp of what it the rhythm of
working and how many times you have click and open, where some shortcuts are
etc..

Lord I would love a Python video from the masters at work and play. In any
field there are rare few people who _really_ understand it, and even rarer
are the ones who can teach it. Python seems easy, well documented, has a
great community etc.. and it does.

But fundamentally all the source code in the world does not help one
understand the process of programming. It does not show a newbie what to do
with all those modules and definitions after  your put them under your
pillow! [http://www.python.org/doc/current/lib/lib.html]
Would someone just explain what all this stuff is and what are the 20 most
important things needed to know to get going..and then put the rest into
some context so one understands what to look forwards to.

I will give you a very simple few example of the sorts of things which drove
me nuts when I first tried to run python on win32

1 - PYTHONPATH... where is this thing and how do I set it  [in DOS ?, in
Python under some menu, by editing autostart.bat, in some hideous registry
sub.sub.sub.location.attribute

2 - The manual says just make this cute 'helloworld.py' example and save
it. So you do, but you don't save/drop it into the main python directory
[that would be dumb right?] .. no like a good kid you make a nice folder
four yourself and put your first examples there.

3 - Now when you do this and go 'import helloworld' you immediately get an
informative precise error reply written in Python[Babylonian]!
What's with that?

For god sakes the newbie default for python should be

a: make a folder called 'newbies' and tell newbies to save their scripts
there so they WILL run first time
b: add an auto-include folder paths python routine which means any folder
added to the default installation will be seen and run ok.

4 - You get enthusiastic and a little braver and download some cool package.
unzip and put it into you python directory or maybe even somewhere else [god
help you poor soul]. Try to import that more errors..arggh. Eventually you
find somewhere after scouring the docs and newsgroups a couple of VITAL
commands:

import sys, os
sys.path.append('c:\program files\python\coolnewpackage\')
os.chdir('c:\program files\python\coolnewpackage\')
os.listdir(os.getcwd())

- And after this there is the problem of packages and how modules behave
with namespace voodoo like the difference between
import *
from somewhere import something
from somewhere import *

- how to get them work properly
- how to deal with the typical top 20 error messages python throws at you in
zealous yet Zen-like bliss

- What is the relationship of import, os.getcwd(), os.chdir(), '__dir__',
'__builtins__', '__doc__', '__name__' to the mysteriously named, ubiquitous,
but frequently blank files named __init__.py  ???

Can you explain that one to you mother?

All the super tools in the world do not help if one does not know how to use
them or have a grasp of what they are capable of. IDLE and PythonWin get
better all the time, and now we are about to see lots more cool Python on
Windows via ActiveState etc. But this only ups the ante for what a great
idea it is to make some Python training Videos/DVD/CBT.

Go to Barnes and Noble for example, there are precious few python books
visible and they are scattered around in odd corners. This is sad but not
surprising since the Python booklist has grown well over the past year. I
fear the situation may not change much in the future unless there is
widespread adoption of Python ++ big marketing push to make it happen like
WROX, MS, QuickStart, EASYthisEasyTHAT. Even if a newbie cannot afford the
stack of $40+ dollar books VB and others tout, at least they can hang out
their for an afternoon and browse and read and scan the range of uses,
abuses, approaches and devotions of all those authors. Python is slim but
elegantly represented.

Yes the online docs are admirable, but believe me there are many beginners
who need all the help they can to get going. What are you going to recommend
to the  nearest 12-year old who is itching to learn some programming?
RealBASIC, Python, VB, JavaScript, C, C++, Dflat, Rebol, HTML, DHTML, XML,
GML, Lingo, LegoMindstorms... ???

My answer is:
1.  Start with Macromedia Flash5 and maybe LegoMindstorms for Xmas
2.  And then learn Python... [but what am I going to give them for help?]
3. Then Blender v2.x [gaming version with  python scripting
http://www.blender.nl]

Flash it turns out is a brilliant intro to object-oriented programming and a
ton of instant fun for all ages also.
The new Flash5 has a real language in it now [ActionScript = Java/ECMAScript
syntax]  behind a cool multi-dimensional interface and frees humans from
most
of all the ghastly invisible stuff which object-oriented programming was
supposed to..
TEST A: - try making an interface in Flash and then in Tkinter or wxPython
or some such..yeooow!@#. the difference is newbie heaven and hell
TEST B: - or Next time anyone you know has to make PowerPoint slides, crack
open a version of Flash and try that instead. Immediately it makes one think
in terms of sequence, rhythm, flow, aesthetics, reusable components..
perfect
for presenting ideas and teaching.

C'mon - The question I ask you is what would make a good contents for a
video, and who here would like to work with me [as camera wielding newbie]
to develop some great CBT/Training Videos for Python ?

CP4E indeed. Before re-inventing yet another language {RIYAL}, how about
first learning how to teach this one?
Python is cool, it has some idiosyncrasies. I love it and hope it continues
to thrive.
regards
- Jason

________________________________________________________________
Jason CUNLIFFE = NOMADICS.(Interactive Art and Technology).Design Director