[plt-scheme] 3rd-8th Grade

From: Matt Jadud (mcj4 at kent.ac.uk)
Date: Mon Mar 20 05:59:04 EST 2006

Carl Eastlund wrote:
 > I still don't see a clear reason why it can't be done well.  I don't
 > see why we couldn't make a "shapes" language level for DrScheme that
 > was essentially the same as MzScheme (or to start with something
 > simpler, Beginning Student) but done entirely "drag and drop".  Until
 > someone does it, I of course completely admit I have no solid evidence
 > if it would be good or bad.

There's some nice work being done by Andrew Ko and Brad Meyers at CMU in 
some things related to this thread.


In particular,

Ko, A. J., Aung, H., and Myers, B. A. (2005). Eliciting Design 
Requirements for Maintenance-Oriented IDEs: A Detailed Study of 
Corrective and Perfective Maintenance Tasks. International Conference on 
Software Engineering, St. Louis, MI, May 15-21, 126-135.

is a nice example of how research can guide the development of a rich 
IDE experience for experienced programmers. Along slightly different 
lines, Blackwell, Green, and Petre have explored a number of ideas in 
the realm of "cognitive dimensions" (which you may or may not buy into), 
but Petre's research into how expert developers work on programs is 
quite good.

Petre, M., and Blackwell, A. (1999) Mental imagery in program design and 
visual programming.   International Journal of Human Computer Studies 
(special issue:  Best of ESP-7), 51 (1), 7 - 30.  ISSN 1071-5819.

might be a starting point, if you're so inclined.

By-and-large, visual programming doesn't scale, and I'm not confident 
that it's necessarily good/great/anything from a strictly learning 
perspective. Put another way, I agree with Mathias---I don't know if it 
helps with algorithm visualization and understanding, for example. I do 
know that I can get kids throwing programs together, for better or 
worse, very quickly, and they end up writing things that make an 
autonomous object in the world do their bidding... or not, sometimes 
with LEGO-shattering consequences. But either way, it can be done in an 
enjoyable manner, which is usually what I use these kinds of languages 
for: an initial, positive experience.


Posted on the users mailing list.