On Thu, Sep 27, 2012 at 6:24 AM, Bert Freudenberg <bert@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
, etc. And maybe this essay inspires some improvements to Etoys :)
"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."