Re: Learnable Programming
karl ramberg <[email protected]> Wed, 7 Nov 2012 21:18:20 +0100
| Newsgroups | gmane.comp.lang.smalltalk.squeak.squeakland |
|---|---|
| Message-ID | <CAGzzWLhGtDJ6fuVAXCkShz5Qwuuwsufy4xoDgQCN-OGWb4DpCw@mail.gmail.com> |
On Wed, Nov 7, 2012 at 8:00 PM, <mokurai-ikfZt3P9bkcA4t5MK3byRdi2O/[email protected]> 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 <[email protected]> >> wrote: >>> On Mon, Nov 5, 2012 at 6:45 AM, Steve Thomas <sthomas1-gQhbkF4bah9Wk0Htik3J/[email protected]> >>> wrote: >>>> On Thu, Sep 27, 2012 at 6:24 AM, Bert Freudenberg >>>> <[email protected]> >>>> 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 >>>> [email protected] >>>> http://lists.squeakland.org/mailman/listinfo/squeakland >>>> >> _______________________________________________ >> squeakland mailing list >> [email protected] >> http://lists.squeakland.org/mailman/listinfo/squeakland >> > > > -- > Edward Mokurai > (默雷/निशब्दगर्ज/نشبدگرج) > 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 > [email protected] > http://lists.squeakland.org/mailman/listinfo/squeakland