[squeakland] Learnable Programming

mokurai at earthtreasury.org mokurai at earthtreasury.org
Wed Nov 7 18:11:15 EST 2012


I intend to do a proofreading pass through all of Squeak when my part in
the Etoys Reference Manual is done. I think I understand how to create and
submit a change file, and I know I will understand when the time comes.

A complete refactoring of Squeak would be a huge undertaking, but I have
in mind refactoring a little bit at a time, as recommended in Extreme
Programming. At some point, I intend to produce a list of issues that I
would like to see fixed. Some of them are quite simple, such as objects
not in categories in the Object Catalog, and useful objects not in the
Object Catalog at all. (Tetris is not in the Games category.) Producing
meaningful comments for most Classes is more complex. There are other
coding issues, including bugs. Then there are architectural issues, where
we have to ask what purposes we are trying to fulfill.

I am trying to get Etoys into a state in which I can explain how to
introduce it in detail at various levels of child development for various
purposes. Among those purposes is the creation of digital replacements for
textbooks, now that computers with Free Software and Creative Commons
content cost much less than printed textbooks. We know how to do paged
books, multimedia, and other formats, but we do not know what is most
effective to use, nor do we know what we can teach most effectively.

Another purpose should be to answer in detail Seymour Papert's question,
whether we can create an environment in which children can learn math and
programming as readily as they learn to speak. We know that this can be
done in other subject areas, such as art, music, history, geography,
health, and so on. The question has been raised whether computers can
teach children in illiterate societies to read and write. We have some
positive but incomplete data on that question, and people with ideas to
contribute.

On Wed, November 7, 2012 3:18 pm, karl ramberg wrote:
> On Wed, Nov 7, 2012 at 8:00 PM,  <mokurai at earthtreasury.org> wrote:
>> Bookmarked to use in the Etoys Reference Manual. Thanks.
>>
>> I took off a few days for the election, but will be back on the manual
>> as
>> soon as I clear out this e-mail backlog. It is going quite well,
>> although
>> there are a few niggles, and I have reported a number of bugs in Etoys,
>> some of them serious.
>>
>> I am starting to plan out a companion Etoys by Example, which will
>> include
>> dissections and annotations of the projects provided with Etoys v5, and
>> a
>> variety of extensions. I was particularly pleased to see the fractions
>> project, which has endless potential for further development.
>>
>> I have had a notion of using Etoys to write OERs (Open Educational
>> Resources) to replace textbooks (see link in sig). I can see the
>> outlines
>> of an architecture for this, but I need help to understand and explain
>> how
>> to construct interactive books such as some of the projects use.
>
> Ask away, There are many people here that can help you here.
>
>>
>> I have mentioned the need for an extensive proofreading and refactoring
>> of
>> Etoys, plus writing of many more comments on classes and methods. Who is
>> working on such things?
>
> I do this as far as I have ability to.
>
> Refactorings is a long process, as one have to grasp the much of
> system and reformulate it in
> a more concise way. Often the complexity is mindnumbing ;-)
>
> Proofreading should be quite easy,
>  You can post issues on http://tracker.squeakland.org/
> Presented in this form it is quite fast for developers to fix:
> http://tracker.squeakland.org/browse/SQ-1036
>
> An other possibility is that you do the fixes yourself and upload
> them. It's a few tools that needs to be
> mastered to be able to do that but I assure you that it is quite fun :-)
>
> A very very brief document is posted here on how to develop for Etoys:
> http://etoys.squeak.org/svn/trunk/Documentation/Developer-HowTo.txt
>
> Karl
>>
>> On Tue, November 6, 2012 3:58 pm, karl ramberg wrote:
>>> On Mon, Nov 5, 2012 at 6:30 PM, karl ramberg <karlramberg at gmail.com>
>>> wrote:
>>>> On Mon, Nov 5, 2012 at 6:45 AM, Steve Thomas <sthomas1 at gosargon.com>
>>>> wrote:
>>>>> On Thu, Sep 27, 2012 at 6:24 AM, Bert Freudenberg
>>>>> <bert at freudenbergs.de>
>>>>> wrote:
>>>>>>
>>>>>> Great essay by Bret Victor on "Designing a programming system for
>>>>>> understanding programs":
>>>>>>
>>>>>>         http://worrydream.com/LearnableProgramming/
>>>>>>
>>>>>> He clearly explains what makes a programming system "learnable".
>>>>>> While
>>>>>> Etoys does not do all of it, many of its features fit right in, in
>>>>>> particular as compared to other widely used programming systems. An
>>>>>> Etoys
>>>>>> project can be always running, changes have effect immediately, all
>>>>>> state is
>>>>>> visible (through the readouts in viewers) and most of the state can
>>>>>> be
>>>>>> changed directly (e.g. by dragging up and down the number arrows),
>>>>>> tiles
>>>>>> have default arguments so they do something useful immediately,
>>>>>> there
>>>>>> is an
>>>>>> explanation (balloon help) for each tile
>>>>>
>>>>>
>>>>> Yes but it is only textual help.  It would be great if they could be
>>>>> a
>>>>> combination of Ricardo's Speech Bubbles and Ted Kaehler's roll your
>>>>> own
>>>>> quick guide feature.  With one or two changes, the roll your own
>>>>> quick
>>>>> guides should be in a folder in the Etoys directory so it is easier
>>>>> for
>>>>> students and teachers to find and save these guides.  The current
>>>>> location
>>>>> is hard to find, I believe varies by platform and can be locked down
>>>>> by
>>>>> school administrators.  Also when saving a "My Quick Guides"  area
>>>>> would be
>>>>> nice.  Perhaps even encourage folks to modify them by having the New
>>>>> Help/Speech Bubbles have a "Modify Me" icon, which would open a new
>>>>> project
>>>>> with the existing Help/Speech Bubble opened.  We should also have a
>>>>> mechanism to revert to the original so kids can easily experiment
>>>>> without
>>>>> fear of messing things up too badly.
>>>>>
>>>>>
>>>>>> , etc. And maybe this essay inspires some improvements to Etoys :)
>>>>>
>>>>>
>>>>> I currently have the two key take aways so far as it relates to
>>>>> improvements
>>>>> to make in Etoys:
>>>>>
>>>>> "Create by Abstracting"
>>>>> "Recomposition"
>>>>>
>>>>> "Create by Abstracting": I believe the tools are already there, but
>>>>> what is
>>>>> needed is the "Great Literature" and Lessons teachers and learners
>>>>> can
>>>>> use.
>>>>> Not sure how this would impact the interface or if it should, but I
>>>>> think
>>>>> its a really important lesson.  One possible way this could impact
>>>>> interface
>>>>> design is to provide a "turn #/expression into a variable" function.
>>>>> Where
>>>>> there is a way to click/touch on a variable and have a easily
>>>>> discoverable/accesible method to turn it into a variable.  Actually
>>>>> it
>>>>> should work for "players/objects/morphs/colors" as well.
>>>>> Also kudo's to Etoys and its copy/sibling approach which IMO is a
>>>>> better
>>>>> design for "Start with one, make many" than the one for text based
>>>>> languages
>>>>> demonstrated by Brett.
>>>>>
>>>>> "Recomposition": object re-use (across projects) is not very simple
>>>>> in
>>>>> Etoys.  I like Scratch 2.0's use of a Backpack, which yes could be
>>>>> implemented as "add your own" section in the Object Catalog, but I
>>>>> think
>>>>> they made a good design choice in making it an "always there and
>>>>> visible"
>>>>> flap.
>>>>>
>>>>> Regarding "Decomposition" Brett states
>>>>>>
>>>>>> "Consider a programmer who has made a bouncing ball animation. How
>>>>>> does
>>>>>> she go from one ball to two, to a hundred? How does she make the
>>>>>> balls
>>>>>> bounce off one another? How does she make balls draggable with the
>>>>>> mouse? In
>>>>>> a genuine learning environment such as Etoys, this progression is
>>>>>> natural
>>>>>> and encouraged."
>>>>>
>>>>>
>>>>> My suggestions here is that it would be good if Etoys "scaled better"
>>>>> when
>>>>> executing scripts on multiple objects. Unless you are using Kedama
>>>>> (which
>>>>> rocks in this aspect) Etoys slows down when you have say 20+ objects
>>>>> executing.
>>>>>
>>>>> Okay, so that brings me to another area for improvement Kedama.
>>>>> Kedama
>>>>> is
>>>>> amazing and definitely rocks at massively parallel simulations, But
>>>>> it
>>>>> either needs a better (read easier to understand/grok) set of
>>>>> scripting
>>>>> tiles or I need a better model in my head of how it works.  Probably
>>>>> more of
>>>>> the latter than the former.
>>>>
>>>> I found this searching a while ago
>>>> http://www.is.titech.ac.jp/~sassa/lab/papers-written/ohshima-phdthesis-070109.pdf
>>>> I have not read it yet.
>>>
>>>
>>> I skimmed through this and it seems the Etoy user aspects of Kedama is
>>> described in chapter 3 and 4.
>>> I must say Kedama got a lot more understandable reading these chapters
>>> :-)
>>> Maybe we could extract the and post them on Squeakland ?
>>>
>>> Also some chapters have info for the Etoys reference manual eg the
>>> Etoys language extensions and the features.
>>>
>>> Yoshiki:
>>> Is it ok to use/copy from the thesis to the Etoys reference manual and
>>> eventually to a brief Kedama user guide ?
>>>
>>> Karl
>>>
>>>
>>>
>>>
>>>>
>>>> Karl
>>>>>
>>>>> Of course all of the above would be great if we had more development
>>>>> resources :)
>>>>>
>>>>> Cheers,
>>>>> Stephen
>>>>>
>>>>> _______________________________________________
>>>>> squeakland mailing list
>>>>> squeakland at squeakland.org
>>>>> http://lists.squeakland.org/mailman/listinfo/squeakland
>>>>>
>>> _______________________________________________
>>> squeakland mailing list
>>> squeakland at squeakland.org
>>> http://lists.squeakland.org/mailman/listinfo/squeakland
>>>
>>
>>
>> --
>> Edward Mokurai
>> (&#40664;&#38647;/&#2344;&#2367;&#2358;&#2348;&#2381;&#2342;&#2327;&#2352;&#2381;&#2332;/&#1606;&#1588;&#1576;&#1583;&#1711;&#1585;&#1580;)
>> Cherlin
>> Silent Thunder is my name, and Children are my nation.
>> The Cosmos is my dwelling place, the Truth my destination.
>> http://wiki.sugarlabs.org/go/Replacing_Textbooks
>>
>>
>> _______________________________________________
>> squeakland mailing list
>> squeakland at squeakland.org
>> http://lists.squeakland.org/mailman/listinfo/squeakland
>


-- 
Edward Mokurai
(&#40664;&#38647;/&#2344;&#2367;&#2358;&#2348;&#2381;&#2342;&#2327;&#2352;&#2381;&#2332;/&#1606;&#1588;&#1576;&#1583;&#1711;&#1585;&#1580;)
Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://wiki.sugarlabs.org/go/Replacing_Textbooks




More information about the squeakland mailing list