Friday, March 07, 2008

low floor, high ceiling OR low floor, wide walls?

Mitch Resnick and Brian Silverman:
The Logo programming language is often described as having a low floor and high ceiling: it is easy for novices to get started (low floor) and possible for experts to work on increasingly sophisticated projects (high ceiling). In our own work (especially in recent years), we have put less emphasis on high ceilings and more emphasis on what might be called “wide walls.” That is, we have tried to design technologies that support and suggest a wide range of different explorations.
- reflections on designing construction kits for kids
I want low floor, wide walls and high ceiling

Scratch - fantastic design to start with - does not have a high ceiling and smart users hit the ceiling fairly quickly. It's frustrating.

Here's a repeat of Detha Elza's scratch critique:
It also has some pretty severe limitations: no user-defined blocks, no return values, no file interaction (so no high scores), no network interaction, no dynamic object creation, the program cannot draw on sprites (only on the background), no string variables or any real string handling. It is a great environment for learning to think creatively within its constraints, but my kids also bump up against its limits pretty quickly.
- the importance of visual programming
I could start my own list of "scratch annoyances" but the real problem is the theoretical underpinning of Papert's "epistemological pluralism" and Resnick / Silverman's lowering of the ceiling, then it has to be tackled at that level, perhaps.


Anonymous said...

The frustrating thing about Scratch is that it is appealing--things that are difficult or incredibly unintuitive in Squeak/Etoys are so much simpler in Scratch. My 8 year old thought Scratch was cool and took to it right away. The reason I went to Scratch was because he got so frustrated trying to use Etoys. I love Etoys, and show it off to people all the time, but the interface is so cumbersome and frustrating.

Anonymous said...

what do you mean the real problem is the theoretical underpinning of Papert's "epistemological pluralism"?

i've read the paper that he and Sherry Turkle wrote(Epistemological Pluralism: Styles and Voices within the Computer Culture)

but not sure what you're saying about it here

Anonymous said...

ah - i guess you mean that the limitations of Scratch reduce the generous pluralism (hard "top down" and soft tinkering approaches) that Papert and Turkle were observing in early Logo programmers (kids); since Scratch doesn't have the same high ceiling - reduces the options?

(if thats what you mean, i think i agree - eg most of the novice year 9 programmers in my class liked it - refreshing and accessible - but two of the most capable/experienced wanted to tackle the complexities of programming via language; something more "full on" )

do any of these modern visual programming environments give you a more textual translation as well (akin to "design" and "code view" in web authoring tools)?

... maybe "starLogo TNG" does - must check again .. would help cater for wider range of abilities and approaches

Bill Kerr said...

hi rob,

The "epistemological pluralism" (EP)paper downplays the importance of abstraction in the name of opening up things for different learning styles ("bricolage"). Initially I loved that paper because it took the pressure off me to teach mathematical abstraction, a difficult task. Eventually, though I realised that mathematical abstraction was important and that by neglecting it I was disadvantaging my students. I think EP is one of those concepts that appeals because it sounds liberating, giving a voice to those who previously didn't have a voice. But then, if we downplay the importance of mathematical abstraction then maybe we are disempowering, not empowering?

EP is quoted as a reference in the Resnick / Silverman paper, footnote 13. Within the paper itself they say:
"In designing new technologies, we put a high priority on
supporting users with all different styles – hards as well as
softs, patterners as well as dramatists. We pay special
attention to make sure that our technologies are accessible
and appealing to the softs (and dramatists), since we feel
that math and science activities have traditionally been
biased in favor of the hards (and patterners), and we want to
work affirmatively to close the gap."

This sounds affirmative, helping those with a "soft" learning style. But the outcome in Scratch is the lowering of the high ceiling and replacing it with wide walls. Doesn't that place restrictions on the "hards", creating frustrations for them? If that is the end practical product of EP then I think the theory is flawed too. As I originally said, "I want low entry, wide walls and high ceiling"

Bill Kerr said...

"do any of these modern visual programming environments give you a more textual translation as well (akin to "design" and "code view" in web authoring tools)?"

I think your already aware that etoys and gamemaker both do but the to and fro from visual to textual is far from smooth in either - but at least it is there, the more capable students will work it out for themselves

I haven't look at starLogo TNG yet - from the screenshots the interface looks very similar to scratch

Anonymous said...

so we need to teach some of the principles directly ... kids won't discover them unaided with Logo etc ... is that where you have got to with this? its where i'm at

i still see the programming environment potentially gives them something to do with the abstractions - a platform suited to express, reflect, unpack, explore, tweak, the relatively dry principles

of the school maths i learnt, modelling integrals vs numerical approximations on the computer (1985) in te BASIC language was the thing that sticks in my head as feeling a little creative - otherwise i dutifully copied the standard approaches to chasing x around; advanced mimicry mostly

re my question about code/symbol views - i don't feel GameMaker really does this - as you'd know better than me, you don't get an editable code view of the functions /events you drag in; and if you code in its curly brace language, it doesn't show the corresponding icons

maybe TNG will

are you teaching with e-toys this year?

Bill Kerr said...

hi rob,

I've installed scratch, bots and squeak at school but so far have only got up to using scratch. The way things are panning out - very wide ability ranges in my classes and the more general course requirements (design) - I probably won't get past using scratch. (but maybe I will get time be able to show some of the more advanced students something of the other two). What I said to the more advanced students was that yes, scratch is limited, but that it is better we learn one thing in depth and use it to design something to a criteria than learn two or three programs superficially. (one of them had asked for python but in the context of the class / school environment this is hard for me to deliver)

Scratch is thematically good for what I want to do educationally - see my projects or games? post

I agree with you on the need for further evolution of the visual to textual interface - it has taken a few year to get to where we are now and the process is far from over