
On 6/3/05 11:00 AM, "Chuck Allison" <chuck@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 :-).
Toby -- Dr. Toby Donaldson School of Computing Science Simon Fraser University