[Edu-sig] A case against GUIs in intro CS :-)

Kirby Urner urnerk at qwest.net
Sat Jun 4 22:01:13 CEST 2005



To some extent what's bogus about the GUI vs. no-GUI debate is that you
/have/ to have an interface to the user at some point, whether this is
accomplished with bells and whistles or not.  So both the command line and
the windowing environment are meant to accomplish the same purpose:  closing
the feedback loop between user and CPU.

I'd like a CS0/CS1 to take a more resolutely historical approach and clomp
through the command line era in grand style, taking very seriously the
command line switches, man pages, HTML manuals or whatever.  Especially in
UNIX, these commands were designed to be chained, switched, piped,
redirected.  They were tiny toys, power tools, micro apps.  The accomplished
sysadmin had enough of them down to perform serious kung fu.

So my CS0 is a combination of command line Linux, Python shell, Python shell
invoking command line Linux, Python programs run as scripts, from the
command line.  This would seem very austere to newbies, but we'd perpetuate
the ethos that GUIs are for gimps -- you don't need those handicaps to play
the game.  But it'd be a mock attitude, i.e. we secretly respect GUIs (the
good ones) and write them ourselves.  But the command line has lost none of
its power in the meantime.

However, as I've also reiterated, I'm not designing a CS curriculum.  This
is a CS/math hybrid, with emphasis on the math.  So the Linux/POSIX
notation, along with dot-notation, will have a means-to-an-end feel, Python
taking us even further, into graphical and tactile output territory for
example, e.g. the 1000s-of-frequency Waterman polyhedra (whatever that means
right?).

Kirby




More information about the Edu-sig mailing list