[Edu-sig] Beyond 3D

John A. Miller jmillr@umich.edu
Tue, 4 Apr 2000 13:45:07 -0400 (EDT)


> From: "Arthur Siegel" <siegel@eico.com>
> 
> There seems to be general agreement that the use of simple, dissectable 3D
> Python stuff could make an appropriate and potentially interesting and
> exciting
> context in which to introduce younger folk to programming. I and many others
> have espoused that basic position here, with disagreement (sometimes
> vehement) over only
> the details.
> 
> There has been less discussion (there may have been some early on that I
> could have missed) about
> doing simple communications stuff. The circa 2000 equivalent of building
> your first radio by wrapping
> wire around a coil, etc, and hearing some faint music through an earphone -
> which I and probably others
> remember fondly (and which kids are still doing today).
> 
> Pinging a remote url, and retrieving something etc. Sending and picking up
> E-Mail,etc
> 
> I know as a young programmer (in a not so young body), getting access to
> this kind of thing can generate a lot
> of interest, immediate gratification and sense of being introduced to the
> mysteries behind the scenes.
> 
> Beyond presenting the concept, I am totally unqualified to speak on it, as
> it is an area about
> which I know little to nothing.  But does anybody have any ideas along these
> lines?
> 

Well, yes... I've been following this list with some interest since the
beginning, and this is a useful growth point. I'd like to help identify
more of these broad, general areas. So far we have:

* 3D representations and visualizations (static and dynamic)
* communications, in all its myriad computerized manifestations

to which I'd like to add:

* simulations

by which I mean the gestalt implied by complex adaptive systems, agents,
neural networks, genetic algorithms, cellular automata, and embodied by
such diverse programs as StarLogo, Swarm, AgentSheets, and others. There
are a number of elementary scenarios that could be used to introduce the
concepts, such as Conway's Game of Life, Iterated Prisoner's Dilemma,
Foxes and Hares, El Farol Bar Problem (and the related Minority Game),
Sugarscape, and many others. These make for wonderful programming
exercises, besides being fun to explore.

One big question in my mind is how necessary it might be for specialized
libraries for facilitating these explorations. In other words, Swarm,
StarLogo and AgentSheets are especially adapted for creating these kinds
of simulations, and remove much of the 'bookkeeping drudgery' involved
with managing lists of agents and their interactions and their display and
their behaviors and the world in which they exist and ... I don't know of
any similar libraries for Python (but I haven't looked either :^) I guess
'reinventing the (simulation) wheels' makes good pedagogic sense if your
primary aim is teaching programming, but using tried and true simulation
libraries makes more sense if your primary aim is to teach simulation
skills. Maybe we could have two groups of students with one group
providing such simulation libraries, and another group using them?

A fourth broad area might be defined as:

* web-based database programming

where students learn to store and retrieve information from mysql or
gadfly (perhaps using zope) or maybe lore
<http://www-db.stanford.edu/lore/> if we want to focus on oodbm systems.

Finally, a fifth broad area might be:

* games

which probably incorporate skills from all or most of the areas above.
These could be standalone or network based, (did someone mention an online
version of Pokemon? I think that was the zope-edu list...) and perhaps
could be educational in nature, but certainly any game would stretch
students' programming skills, just as game design stretches their
imagination.

Anyway, I just wanted to add these broad topics to the mix.

John Miller