[Edu-sig] CP4E

Kirby Urner urnerk at qwest.net
Sun Apr 10 21:03:29 CEST 2005


> -----Original Message-----
> From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On
> Behalf Of Arthur
> Sent: Sunday, April 10, 2005 10:32 AM
> To: 'Kirby Urner'; 'Arthur'; edu-sig at python.org
> Subject: RE: [Edu-sig] CP4E
> 
> 
> 
> > -----Original Message-----
> > From: Kirby Urner [mailto:urnerk at qwest.net]
> > Sent: Sunday, April 10, 2005 12:18 PM
> > To: 'Arthur'; edu-sig at python.org
> 
> > The school I attended in Rome focused on eating utensils quite a bit --
> > British school, there's a right way to tilt your bowl when you eat soup.
> 
> There is?
> 

Yes:  tilt it *away* from you.

> Apparently when learning in Rome from the British one does as the British
> do, not as the Romans do.
> 

I forget if the Romans had a different protocol around soup.

> But I think you have explained the American revolution - in a nutshell ;)
> 

Definitely manners are used to enforce class.  If you haven't been to the
"right schools" it shows immediately, when you pick up the wrong fork.  The
servants all notice and blab about it below decks ("did you see that
*American*?").

> >
> > Technology is pervasive and this isn't a new thing.  Sports likewise
> > involve
> > technology (balls, other apparatus), the skillful use and maintenance
> > thereof.
> 
> Stretching exercises before the big game are also a part of sport. You're
> doing a stretching exercise.  I will tell Wittgenstein.
> 

I'm doing a Bucky:  Universe is technology, technology is Universe -- he
made no distinction between human and non.  In one sense, we're entering an
age of high tech.  In another sense, it's *always* been high tech.  

Poster:  picture of a nautilus shell.  Caption:  "High Tech:  It's not just
where we're heading, it's where we're coming from."

> >
> > Now that computers have entered the picture, I see them as ubiquitous,
> > and important to start practicing on early.
> 
> That's the standard line of thinking. I know it well. And reject it, hook
> line and sinker.
> 

And I accept it.  I see many (not all) classrooms with computers at each
desk, and lessons taking place using keyboards and screens.  This goes for
English, history, geography, languages, art, music, not just math, or
science.

This is different from how many schools currently use computers, as "work
stations" where a few cluster at a time.  Also, I'm seeing ergonomics which
keeps the screens from blocking a view of the front.  The teacher is still
very critical in this picture.  It's not a scene were everyone is facing the
wall, backs to the middle, teacher walking around behind (West Precinct is
like that, but I don't consider that ideal -- OGI was better).  

No, the teacher is mostly in control of the projector, and a lot of what the
kids are doing is first getting projected on screen.

To continue with my state 'n capitals exercise, we next want kids to fire up
a little web server and list out their newly parsed data as a web page.

At the command line:

python -m CGIHTTPServer

which fires up a server on port 8000.  And in an appropriate cgi-bin
subdirectory, they'll put something like:

#==== states.py ====

import sys
import cgitb; cgitb.enable()

sys.stderr = sys.stdout
print "Content-Type: text/plain"
print

f = open('c:/python24/Lib/site-packages/statecapitals.txt','rt')

print "<html>"
print "<table>"

for line in f:
    city, state = line.split(',')
    print "<tr><td>%s</td><td>%s</td></tr>" % (city, state)

f.close()

print "</table>"
print "</html>"

#====

Now http://localhost:8000/cgi-bin/states.py and you'll have your list.  The
quiz loop might be implemented in CGI as well, but that doesn't need to
happen in geography class (but it might).

> Though I don't generally associate you with the standard line of thinking,
> so I am a little surprised at this turn.
> 

The devil is in the details.  Broad brush stroke agreement that computers
are ubiquitous and need to be mastered is one thing.  Exactly how this is
accomplished is something else.  For a lot of schools, "training in
computers" nowadays just means firing up bizapps and dinking around with
word processing and spreadsheets.  That's OK, as far as it goes, but it's
not far enough.  Enter Python.
 
> Having assembled my 2004 income data for the inevitable tax filing, I have
> concluded I am entitled to call myself a professional programmer.
> 

Part of the CP4E philosophy is we're diffusing the idea of "programming" to
the general populace.  Yes, there'll still be pro programmers, just like we
have pro bicycle riders, pro car drivers, pro skiers.  But we also just have
ordinary women and men, cycling, driving, skiing, without claiming to be
"professionals" (I'm a professional eater and sleeper too!).

> And I can count on one hand the number of times I've need to parse a text
> file line by line, and on a closed fist the number of times I've need to
> do so from data retrieved live off the Web.
> 

The importance of this exercise is in giving access to concepts that map to
any number of situations.  We've got the idea of URL, file, control
structure (loop), extracting/filtering, and persisting data by saving it.
At the metaphorical level, this is about all you *ever* do:  locate
something, process it, keep some of the value (eating soup fits this model,
as does reading a library book or going to a film).

In the context of geography, it's important that we've actually imported
data from some *place* (a physical server somewhere on the globe) and
invoked a global infrastructure (the Internet) to transport it to us.  We're
using global resources even as we study the globe.

> What you are selling as "basic skills" for a 5th grader are not, in my
> experience, basic skills required of a professional programmer.  That's
> how far off we are from one another.
> 
> Art

It's fine with me that we're not on the same page.  Better in fact -- for
edu-sig.

Again, I'm not just interested in "professional programmers."  I'm
interested in kids getting a look behind the scenes at how things work.  

Files are a basic unit and come in many formats.  Movies, songs, articles,
books -- all files.  The URLs help us expand the file system to the entire
globe (vs just your local tree).  You're free to request files using URLs,
but you'll need to process them, either by eyeballing them or by running
them through control structures of various kinds (e.g. through a browser or
player).  And you're free to share your own files as well -- look:  here's
how those states and capitals might be served to a browser on the fly, using
Python's CGIHTTPServer.

By the time you're in 8th grade, you're more like Tim:  administering your
own box, Apache and MySQL turned on, Python at your elbow, chat windows
going.  You're not a "professional programmer" -- just a talented, competent
kid administering a host (maybe one you share with several friends --
doesn't have to be in your own basement, though it might be).  Fun to do,
part of what it means to be a netizen.

Right now, most schools are terrified of the idea that kids should have all
this power.  Teachers don't know how to do this stuff.  It's not in the
curriculum.  Python just sounds like a threat (a snake!? Good gosh!).
Calculators are so much easier to control.  So yes, my school is something
of a radical departure, but it's what a lot of kids want, and it's what
tomorrow's democracy will require.  Kudos to the police for seeing that the
job is to empower and make future friends, not clamp down in service of some
tyranny.

Relevant reading:  'In the beginning was the command line' by Neal
Stephenson.

Kirby




More information about the Edu-sig mailing list