[IAEP] Turtles All The Way Out
Walter Bender
walter.bender at gmail.com
Fri May 20 15:11:18 EDT 2011
On Fri, May 20, 2011 at 2:28 PM, John Gilmore <gnu at toad.com> wrote:
> > Recently, I finished my dissertation on mobile development
> directly from mobile devices. Something like this might've been very
> useful, although I did target experienced developers, not beginners.
>
> Mobile development would work great on mobile devices like the XO-1,
> XO-1.5, XO-1.75, and perhaps even the XO-3, if only we'd teach the
> kids a few simple paradigms like "files", "hierarchical file systems"
> and "text editors".
>
Sugar comes with a plain-text editor (written by a 14-year-old, BTW) and
files (and even a hierarchical file system) that has a data store as its
primary interface. The problem with mobile development on mobile devices is
not one of religion, it is about physical affordances: small screen and no
(or inadequate) keyboard.
>
> (Efforts to teach computers to compile or interpret large programs
> that aren't written in collections of "files" are doomed to niche
> uselessness, though it sure makes a fun research/masturbation topic.
> I spent years paid to write big programs in APL that way in the '70s --
> those programs are all unportably dead today, and APL is a tiny niche.)
>
> These are not hard concepts. Kids learn them daily, but not from XOs.
>
> Since OLPC can't seem to be dissuaded from this fundamental error, the
> question for me is whether it can be influenced to minimize the amount
> of learning that kids go through which is unique to this useless
> programming model. There *is* usefulness in teaching kids how to
> write tiny programs that can never scale up to useful, portable,
> supportable programs. But once they get the basic concepts, they
> should be transitioned to industry best practices pretty quickly,
> writing a real "Hello World" and then evolving it to be more useful.
>
> Rather than getting stuck by e.g. trying to make substantial programs
> fit on one screen by moving tiles around visually. As in the
> model-view-controller paradigm, the kids need to learn that the view
> is not the model, but the model is a simply structured thing that
> lives behind the view. If you don't teach the abstract structures
> that the model is based on, the kids can't learn to make that
> separation. This is why they never learn to modify the real programs
> that hide behind the fluffy interfaces on their real XO computers.
>
I cannot speak for every Sugar developer, but the approach I have tried to
take with Turtle Art is a bit different than you are describing. The
block-based programming environment is not meant to be a substitute for real
tools; it is meant to be a place to get started; to learn that you can write
and modify code; and to provide multiple motivations and launch pads for
getting into the "real" thing. I've worked pretty hard to make the
"structured thing" behind the view more approachable, and have provided
multiple ways in and out: exporting your "fluffy" view into Logo that can be
run in Brian Harvey's text-based Logo environment; direct, in-line
extensions written in Python; the ability to create new blocks by importing
Python; a plugin mechanism for making major interventions; and a refactoring
of the underlying structures to make the code more approachable. (The source
code is peppered with comments and examples of how to make modifications.)
None of these interventions are intended to keep the kids programming in
Turtle Art. They are all intended to get the kids started down the path of
"real" programming. But I content that we need to engage them; let them
discover that they can write code; and make changes; and that it is not
something just for "others" but for everyone. When I talked about Turtles
All the Way Down at Libre Planet two-years ago, I wasn't suggesting that we
use fluffy interfaces all the way down, but that we invite modifications all
the way down by providing scaffolding and encouragement. Step One is to give
them the freedom to make changes; Step Two is to give them the context in
which they can actually start doing it. Sure, there will always be the
handful of kids who will jump right into Emacs and C, but most won't. Maybe
we can encourage a few more to do something of substance but giving them
some scaffolding.
I am open to suggestions as to how to get more kids to move on from Turtle
Art to ___ (insert you favorite "real" programming environment here).
-walter
> John
> _______________________________________________
> Devel mailing list
> Devel at lists.laptop.org
> http://lists.laptop.org/listinfo/devel
>
--
Walter Bender
Sugar Labs
http://www.sugarlabs.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.laptop.org/pipermail/devel/attachments/20110520/027f5726/attachment.html>
More information about the Devel
mailing list