[Chicago] python intro for 13 yo -- suggestions?

Ian Bicking ianb at colorstudy.com
Thu Jul 13 02:39:45 CEST 2006


Michael Tobis wrote:
> I added the following to the BarCAMP page at
> 
> http://barcampchicago.com/index.php?action=edit&wiki=ProjectsPage
> 
> There's a lot of interest in community development of not just
> interactive but programmable educational media (see the edupython and
> chipy lists). The idea is to have a set of shared programmable widgets
> and a shared environment in which to get them to interact. This could
> be used to teach programming or other quantitative topics.
> Inspirations include Hypercard, Logo, Squeak and Croquet; it would be
> nice to get something like this included in edubuntu.
> 
> Contact mtobis at gmail aka this guy:
> http://geosci.uchicago.edu/~tobis/mt.png if interested

So who is planning to do BarCamp?  (Note: it's this weekend, Saturday 
noon to Sunday 8pm)  Who is planning to camp out?  Who's ready to play 
programming drinking games?

I'm feeling a real itch to try out this DOM-based HyperCard environment. 
  Anyone want to hack on that?  I feel like it's at the right stage for 
wild experimentation, rather than thoughtful and well-planned 
implementation.

Persistence?  http://mochikit.com/doc/html/MochiKit/DOM.html#fn-tohtml 
plus a really simply wiki-ish backend.  Implement some functions to load 
and save bits and pieces too.

E.g., a search form:

name = $('search').value;
pieces = remote('baseballCards').search(name);
$('results').clear()
// This is where Javascript hurts my soul...
for (i=0; i<pieces.length; i++) {
     piece = pieces[i];
     $('results').append(piece);
}

The idea is that all content under /baseballCards/* gets searched for 
some text, and the search() methods returns a list of DOM elements that 
were matched (it handles the server communication synchronously, though 
we could also do it in an asynchronous fashion if we have the search 
just hand itself off to $('result')).  Then DOM elements have clear and 
append methods added to them, which do the obvious things (shortcuts for 
some stupidly-named or awkward methods).

The resulting objects have to hang onto their "source", which is the 
location they were fetched from, so that they can be re-saved.  So the 
search results might become:

<div id="results" volatile="1">

   <div dom-src="baseballCards/card1" class="baseballCard">
     <span class="name" editable="1">Pete Rose</span>
   </div>

</div>

The backend is just basically a simple file store, which applies some 
wrappers at appropriate times, and has some methods like GET, PUT, 
searching, and perhaps some others.

Damn... I'm aching to do this right now... I might at least implement 
the server side to start, just as a dumb file-based system.

-- 
Ian Bicking  |  ianb at colorstudy.com  |  http://blog.ianbicking.org


More information about the Chicago mailing list