[plt-scheme] 3rd-8th Grade
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.
http://www.cs.cmu.edu/~ajko/publications.html
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.
M