[Grace-core] Learnable Programming

Andrew P. Black black at cs.pdx.edu
Mon Oct 1 10:13:51 PDT 2012


On 1 Oct 2012, at 4:50, James Noble wrote:

> Duh.
> 
> http://worrydream.com/LearnableProgramming/
> 
> 

This is *excellent*.  I particularly liked:

> All state must be eliminated or shown. Either can be a reasonable design decision. An environment that does neither -- forcing learners to imagine the state and make sense of functions that produce no visible effect -- is irresponsible design, and disrespectful to the learner.
> 
> Just the concept of a "transform matrix" is undoubtably baffling for many learners, but with a better metaphor, it needn't be so. Logo, for instance, uses a turtle to reify translation and rotation, and children understand it readily. More on this later.
> The current transform matrix is a particularly critical and confusing member of the state. Drawing anything interesting with the Processing graphics library requires matrix transforms, but the current transform is invisible. Functions such as "scale" and "rotate" have no visible effect, and compound transformations (such as translation followed by scale, or should it be the other way around?) often involve groping blindly through trial-and-error.

One thing I thought weird, though.   Victor complains that

	ellipse(65, 50, 60, 60) 

is impenetrable, and the environment out to explain the role of those parameters.  I loved this:



But he never takes the obvious next step, which is to fix the language, so that the program says

	ellipseAtX(65)y(50)height(60)width(60)


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailhost.cecs.pdx.edu/mailman/private/grace-core/attachments/20121001/916fc2a7/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2012-10-01 at 10.12.58.png
Type: image/png
Size: 22555 bytes
Desc: not available
URL: <https://mailhost.cecs.pdx.edu/mailman/private/grace-core/attachments/20121001/916fc2a7/attachment-0001.png>


More information about the Grace-core mailing list