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