[Edu-sig] A case against GUIs in intro CS :-)
tjd at sfu.ca
Sat Jun 4 09:50:30 CEST 2005
On 6/3/05 11:00 AM, "Chuck Allison" <chuck at freshsources.com> wrote:
> I think VB is the absolute
> worst way to introduce programming,
Worse than COBOL? Or the C pre-processor? :-)
> and emphasizing GUI in a first exposure to computing is a mistake.
My feeling is that it was not so much GUI-first as design-first that made
the VB course I taught so interesting. By drawing a GUI first, you are doing
some design, and even making decisions about certain variables and data
structures. Your goal is clear: you want to write a program that implements
the GUI. And it's not just the visuals that students would work out before
writing code, but they also thought about the interaction, and how the
interface should behave. It makes programming very goal-oriented.
> Event-driven programming is a
> narrow, over-emphasized slice of the software experience, and is
> particular damaging to start a CS major off that way. I think there is
> more than just a little deception in luring people into CS with a
> visual approach, just to have them fail later on because they didn't
> know what CS was really about.
I more commonly hear students complain that CS doesn't do a good job of
preparing them for a career in software engineering. That it is too focused
on esoteric theory, and that too many (university) faculty hold their noses
when writing programs.
> If you want to do that with IS majors, go ahead, but not CS majors. It's just
> plain evil.
I think many CS students would benefit from treating programming as a
goal-oriented design activity.
In any event, I don't think my school teaches VB any more --- and it was
never a course for majors.
> I think Python can fix a lot of this. I've actually been "concerned"
> that if we switch to Python, they'll learn CS concepts too quickly,
> and we'll run out of things to do in four years :-).
Dr. Toby Donaldson
School of Computing Science
Simon Fraser University
More information about the Edu-sig