V
Changing the way computer science is taught in college by encouraging students to develop solutions to socially relevant problems.
I haVe been concerned with the decline in computer science enrollments nationwide,a and it began to increasingly bother me as I prepared for the fall semester last year. With each new freshman class I worry that fewer students are choosing a career in computer science, and it’s no stretch of the imagination to think it’s an image problem. Not only are we not getting the word out to high schools, but I believe we’re losing students in the first year of college as well. And it’s because we don’t offer students the idea that computer science is social, relevant, important, and caring, and thus we lose their interest. There might in fact be studies that show this, or perhaps not, but it’s something I feel.
PhotograPh courtesy of juDy schinDler
I began my last summer break as I do almost every year, looking through textbooks for something usable for a fall course in programming. I teach Java, which is more than adequate for new programmers to learn everything good and bad about addressing a computer. What they learn is that computers never do what we want, but only what we tell them to do. And what we tell them to do in a freshman programming course is too often dull. Write to the operator, print out the results of a calculation, order some list, and all too often the message, calculation, and list are irrelevant. How can I get them interested? I’m determined at the start of every semester to have a batch of
a See http://www.cra.org/wp/index.php?p=105.
to learn more about David’s story, see http://www.sociallyrelevantcomputing.org/.
eye-opening, to-the-point, significant examples, lessons, and problems.
And so I look through the textbooks and the examples and sample programs, and I become aware of an obsession with animals. In the first 10 textbooks I’ve skimmed, I’ve learned how to count ducks, categorize puppies, separate cows from horses, manage a pet store, create a cyber-pet, add fish to a bowl, and so it goes. This can’t possibly be the least bit interesting to a freshman who wants to learn computing.
I go back through the textbooks intentionally avoiding animal references and instead look for something else. I find games, plenty of them: Tetris,
Othello, checkers, tic-tac-toe, even a good approximation of chess moves, which is wonderful if you come to college to play games. I’m not even sure what programming principle they’re trying to teach, and in my best attempt at empathy with an incoming freshman, my eyes glaze over. I’m bored, and I have a vested interest. How can a student possibly find interest and relevance in this stuff? The texts rely solely on the student to be interested enough in programming to overcome the banality. We all know that practice is more fun than theory, but our attempts at practice aren’t real.
I move on…let’s see…a doughnut
APriL 2009 | voL. 52 | no. 4 | communicAtionS of the Acm
29
References:
Archives