Switch versus if/then/else ( was: Main menu puzzle, Klaus)
Judy Perry
jperryl at ecs.fullerton.edu
Sun Feb 19 21:02:13 EST 2006
Richard,
Exactly!
This is precisely the sort of issue that has been comprehensively examined
in studies on the psychology of the non/novice-programmer. It's a
quandary of the academic discipline: do we teach programming as an art or
science, or do we "teach" it as a job skill? And, at what level is either
appropriate or inappropriate?
For instance, we used to use Pascal as our intro to programming course
language because it was developed as a teaching language. Now we use C++
-- why? Because we think it's a better teaching tool of basic programming
concepts? No. Because we've somehow been convinced that in a 100-level,
intro to programming course, it is more important to teach the students a
"real" programming language rather than choose a language that is best
suited to teaching programming concepts _in general_.
I believe that the few studies on this which examined students using an
X-talk found a lower attrition rate and an increased and even
voluntary rate of usage/programming among CS0 (non-CS majors) students
even _beyond_ the termination of the CS0 course.
Why is this my 'crusade'? Because there are a zillion complicated,
geeks-only development languages and environments out there. X-talks,
however, are a different breed: they are higher-level languages -- for a
reason! They are type-less, verbose, visually-oriented -- again, for a
reason! What was the genius of Hypercard? That it was for idiots-only?
Or rather that it accomodated every possible learning level of those using
it, from confirmed end-users (using the templates/app stacks) to those
wishing to modify the same just a little bit, to those wanting to either
change them substantially OR roll their own... to those hardy souls using
it to front-end unix system processes and/or writing their own x-thingies.
And, at any given level, the higher levels were invisible... until you
needed them not to be.
As critical as I can sound, I have the highest confidence that RunRev has
the ability to carry forward this ingenuous paradigm of programming into
the new century/millenium.
But, as a community commited to this paradigm, we cannot afford to forget
what it feels like to be a non-programmer. If we forget, Transcript might
as well be C++ or Java or...
anything that is NOT the very thing for which Revolution
is one of only a very few surviving examples.
Judy
On Sun, 19 Feb 2006, Richard
Gaskin wrote:
> Teaching the whole of the art of programming in a single session or even
> a single semester would likely overwhelm the student and the teacher.
> If a given construct seems a bit daunting for the first semester or the
> first year, there's plenty of time to introduce it later.
>
> Learnability and usability are different goals. If switch/case blocks
> seem a bit much for the learner, that takes nothing away from the
> graceful utility which has made them a cornerstone of so many languages.
>
> Switch/case blocks may be best learned in the second semester anyway:
> if the first semesters goes well, by the end of it the learner may have
> already begun to find the limitations of if/then and is hungry for
> something else....
>
More information about the use-livecode
mailing list