Spaceghost Coast-to-Coast
Sealab 2021
Harvey Birdman, Attorney at Law
Invader Zim
South Park

Team America:  World Police (by South Park Studios -- quite demented)
 
The Simpsons
Futurama
Family Guy

American Dad also a favorite
 
Huri-kuri
Suupaa Miruku Chan (Super Milk Chan)
Bobobo-bo-bobobo
Urusai Yatsura
and, as you say, ..., in a tradition going back to Aristophanes, and
to distant prehistory.

And a way of teaching that helps some people (more than 
others maybe) in part because of the resonance with
very youthful experience (relearning about body fluids, 
"grossology"), and in part because of the hard-to-forget
imagery (Hieronymus Bosch is also somewhat demented).

'The Art of Memory' by Francis Yates and related tomes
draws many links between mnemonics and making an
impression through the arts.  This hermetic tradition has
fed into memetics and advertising (PR, propaganda), 
as well as spatial data management GUIs.

I'd say we're at the other end of the spectrum from a 
lot of engineering pedagogy however, which seeks the
least offensive, abstract, diagrammatic and/or neutral
tones.  The hallmark of a Springer-Verlag publication is
to be scrubbed clean of anything too quirky.

My paradigm Snake class, with its eat and poop methods, 
is already too scatological for "serious adult" learning 
according to many publishing codes.

A workaround (sometimes) when working with adults 
in a workshop setting, is to say "this is what tends to 
work with younger kids" (not a lie), at which point they 
give themselves more permission to get into it, from 
the safe distance of using curriculum materials intended
for a different audience, not for them.

I've seen my use of Madlibs as a way of doing string 
substitution spread to other campuses.  String substitution
is the basis of templating, such as when outputting web
pages or other "driver" codes such as scene description
language (POV-Ray) or VRML / x3d (still under utilized
in high schools, thanks to the absence of a real digital 
math track).

Behind the scenes, you may look at the megatrend of
"biological computation" becoming respectable talk in
complexity science (dynamical systems, chaos, Santa
Fe Institute) which is rather well established here in 
Portland as well, through Portland State's "systems"
degree program.  

When ant hills, immune systems, reproducing animals, 
are identified as "computational" in nature, you start to 
get more of a cross (hybrid) between metallic science 
(metallurgy, silicon) and what we might call "slime" 
(collagen).  The feng shui or alchemy among the disciplines 
is always shifting.

It's what's happening in medical science more generally, with 
more prosthetics and implants, more combinations of 
biological and synthetic / electronic.

A movie that deliberately mixes computer and biological aspects 
of life (playing up the "grossology") is the (quite demented) 
'eXistenZ'.  I kept remarking on that film in a recent staff 
meeting.  

It wouldn't surprise me if the computer curriculum drifted more 
into this life sciences vein in part because of the accessibility of 
CA (cellular automata) to beginners, starting with the Game of 
Life (of course) and Wolfram's NKS type algorithms (easy to 
implement and get somewhat grandiose about, but in 
academically respectable ways).

The popularity of the 'Sims' genre is another draw.  Each Sim 
is an object, yet there are clear templates (classes) involved.  
'Spore' is another one.  Genetic algorithms, agent-based search
strategies... lots of concurrency and parallelism.

I feel I have a somewhat front row seat on these issues given 
I'm tutoring someone in the PSU systems department in Python, 
work for an outfit connected to Wolfram's, and have a history 
with this "demented cartoons" as pedagogical meme (traces 
to Mad Magazine and underground comics, not just TV of 
course).  

Portland is a center for this kind of animation as well (at least 
culturally).  Bill Plympton is from around here, as is Matt Groening.

http://en.wikipedia.org/wiki/Bill_Plympton
http://en.wikipedia.org/wiki/Matt_Groening

Here's some typical "chaos Python" with overt ties to PSU's 
curriculum, where Melanie is currently on faculty:

http://www.flickr.com/photos/17157315@N00/5583591181/in/set-72157625646071793/
http://www.flickr.com/photos/17157315@N00/5583936921/in/set-72157625646071793/

I've also sought to make the "cartoony" aspects of Python 
come more alive in the "person" of the PSF snake, a stuffed 
animal totem.  She is developing a character and a history.  

She's a somewhat rough, street wise, earthy, good natured 
old girl, who may not always know who the father is (true 
in the case of Adonis at least, probably that python in 
Florida, although he looks a lot like a cobra...)

http://www.flickr.com/photos/17157315@N00/5584177622/in/photostream/
http://www.flickr.com/photos/17157315@N00/5583588365/in/photostream/
http://www.flickr.com/photos/17157315@N00/3988841020/in/photostream/

Kirby


Saw a flea
Kick a tree,
Fubba-wubba
Fubba-wubba.
Saw a flea
kick a tree,
Fubba-wubba John.
Saw a flea
Kick a tree
In the middle
of the sea,
Singin' Old Blind Drunk John,
Fubba-wubba John.

> (see clips on Youtube for any/all)
> Synonyms for demented:  zany, surreal
> Relevant:  links to "grossology" in EuroPython
> presentation:
> http://www.4dsolutions.net/presentations/connectingthedots.pdf
> (see string.Template Mad Libs)
> Likewise, Demented Python serves a didactic function,
> here to remind about the decorator:
> def sillystrip( f ):
>     if f.__doc__:
>         f.__doc__ = "Your function has been hacked!"
>     else:
>         f.__doc__ = "You should always have a docstring."
>     return f
> @sillystrip
> def square( x ):
>     """could also be a triangle"""
>     return x * x
> def _test():
>     frank = 2
>     joe = square (frank)  # frank is kinda square
>     print("Hello Joe, Frank here.")
>     print(square.__doc__)
>
> if __name__ == "__main__":
>     _test()
>
> Usage:
>>>> ================================ RESTART
>>>> ================================
>>>>
> Hello Joe, Frank here.
> Your function has been hacked!
> Then comment out the docstring in the def of square.
>>>> ================================ RESTART
>>>> ================================
>>>>
> Hello Joe, Frank here.
> You should always have a docstring.

Defensive programming:
<Pseudocode>
Case: True:...
Case: False:...
Else: Print("This can't happen.")
</>

I actually see quite a bit of this design pattern in 
beginning programs:

if a < b:

elif a > b:

elif a == b:

else:

-- though it's often a try/except that might be
more realistic, e.g. complex numbers don't have
ordering, just equality, making them more nominal
than ordinal in some ways (though subsets 
may be ordered, and | c | will define equivalence
classes.

> _______________________________________________
> Edu-sig mailing list
> Edu-sig@python.org
> http://mail.python.org/mailman/listinfo/edu-sig



--
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/