“Making Computer Programming Fun”
Mahmoud, Qusay H., Wlodek Dobosiewicz & Donald Swayne, “Making Computer Programming Fun and Accessible”, Computer (IEEE), Feb 2004, pp. 108, 106-107)
Mahmoud et al. say that introductory programming courses have unacceptable failure rates, with “reported withdrawal, failure and D-grade rates approaching 50%”. In an interesting take on the problem, they decided to change they way they teach instead of complaining that the students had to change.
As instructors at the University of Guelph (Canada), they decided to use Javascript as the first language for students. It has several advantages over the traditional Java or C++, including the lack of a compiler and the ability to build it in traditional HTML pages. Students moved through a variety of exercises, learning the various elements of programming, before moving on to Java programming later in the course. Mahmoud et al. report a 100% pass rate at a mean of 73%. Not bad.
It’s about time.
I remember my introductory programming course at Trinity University in San Antonio, Texas. It was so nightmarish that I ended up withdrawing with a D-, even though I programmed all summer.
The professor apparently assumed that everyone had programmed real programs before. I took the class with two friends, both physics majors who would go on to get Ph.D.s in theoretical physics where all the experiments are done in simulations on supercomputers and not “for real”. The professor would assign problems, collect them, grade them, return them and then, a couple of days later, give us the information that we needed to complete the assignment.
I withdrew with a D-. My friends had to continue and they studied like mad to squeak by with a C. Sure, there were CS majors who breezed through this class but only because they had taken extremely good programming classes that covered the structures of programming in “C” (a programming language). That’s insane: if three people who make their money either programming or managing programmers cannot get something out of the class, the professor can’t teach and shouldn’t be in charge of a class.
I have always argued that if you want to learn how to program, get a book and learn Java but for goodness sakes don’t take a programming class from a computer science department. They are simply useless in the real world, relics of the old days of giant computers and esoteric languages that no one else understood.
I’m glad to see that U of Guleph has adopted a more usefull teaching pattern for introductory programming, especially for the students’ sakes. If I had had a better programming class back in college, I bet I would be doing something other than managing programmers right now.

