Thursday, March 7, 2013

SIGCSE: Computing For Good in the Morning

What a day for engaging with issues of computing for social good in computing education. There was a special session this morning called "CS Education for the Social Good". The presenters were Michael Goldweber (Xavier University), John Barr (Ithaca College), and Elizabeth Patitsas from the University of Toronto.

Mikey (as he often likes to be called) Goldweber started off the session by looking out at the audience and saying "This is the group of people who want to save the world". Yes. Yes we do. We want the world to be a better place, and how really terrific it was to be in a room full of people who felt likewise and are using their professional experience and skills to that end. I had a no holds barred warm and fuzzy moment.

Moments later, Mikey G. made a provocative statement that caused us to stop in our tracks:

"What is the message we send when we teach games in introductory computing?" 

If you aren't in computing education you may not realize the full impact of that question. Many computing programs have infused game development, or "gamification" as it is sometimes called, into the curriculum. There has been solid evidence in favor of doing so. Games appeal to  many students' interests. Replacing deadly dull applications (e.g. the fibonacci sequence, tic-tac-toe, vending machine simulation) with game development has become quite popular. Faculty like it, students like it, enrollments in these classes often increase.

On the other are a form of entertainment. Mikey's question asked us to consider what we are saying about what computer science is when we introduce it via entertainment.  It certainly made me stop and think. Does this approach help our overall perception problem? Are we as professionals primarily about entertainment? Are we primarily about short term mindless gratification? Is this a beneficial way to teach first concepts and principles?

Interestingly, there is evidence that although students may enjoy some early gamification, it isn't enough to sustain their interest in studying computer science. After all, this field isn't all about games. In fact, it is very little about games, unless you just happen to get a job as a professional game developer. A lively discussion ensued as some in the room wanted to defend the game approach.

Mikey went on to suggest that there was a difference between appealing to student interests and student values. He posited the idea that in fact, appealing to student values was a more effective way to engage students and that it also provided an opening, not provided by most gamification, to address meaty societal concerns. Also something to stop and ponder.

How to do it? The session members discussed quite a few approaches. One division stood out: there are some areas of integrating social good into computing that necessitate additional content knowledge in another field. In this case it might pay off to collaborate with a content expert in that other field. Or a variety of other approaches to bring in that depth knowledge. Then there is the wrapper approach, which is to repurpose something you are already teaching.

I loved the radioactive rodent example. Apparently, during the Fukushima power plant crisis in Japan a whole lot of mice became radioactive. Now, humans may obey instructions and stay outside the radioactive perimeter, but mice don't obey instructions They migrate wherever they feel like going. Along the way they may die, they may get eaten by other animals, they may (nay, will) poop. This is a problem. So the Japanese sent in robots to hunt down and kill the mice.

I'm not going to comment on the complicated ethics of mouse slaughter. But to some people, this would be a relevant issue. That question did not come up this morning, but I point it out because I know people for whom killing any living animal presents an ethical quandary. An interesting ethics question - the value of human life as compared to animal life. Are there alternatives to addressing the contamination problem? How might the robots be reprogrammed? What are the costs and benefits? Where do values fit into the decisions?

But, back to the discussion this morning. One session member told about how he turned a cops and robber application in his introductory computing class into a cat and mice application. Instead of a police officers hunting down bad guys, he turned the robbers into mice and the cop into a cat. The amount of work on his part was minimal and suddenly he had an activity for his computing students that engaged with a contemporary complicated social issue. And taught core computing concepts at the same time.

This session was chock full of examples of how computing could connect with values rather than interests. Others included, water pollution (modeling?), voting systems (security? algortihms?), sexually transmitted diseases (graph theory), Red Cross disaster relief (Dijkstra's shortes path algorithm).

That was just the beginning. We hadn't even gotten to lunch yet.


  1. Thanks for the post and the interesting read. I wanted to point out that "gamification" is not the same as game development, nor is it using games to teach. Instead it refers to the leveraging of cognitive principles found in human play in contexts other than games.

    Unfortunately we've seen a lot of companies claiming "gamification" by slapping a badge system on a pre-existing system. True gamfication, however, is difficult to do well and requires a lot of design (game design as well as UI & UX).

    Speaking to the issue of using games to teach, though, I do think they have a place. All humans learn via play and so we have a predisposition toward play-like experiences--leveraging that in educational settings can be helpful. Games are also challenging and provide an accessible opportunity to think about cross-disciplinary communication and working with assets (and artists, designers, etc). Of course this isn't exclusive to games.

    That being said, teaching a greater breadth of computing is also very important, and I love ideas around computing for social good, and creating computing activities around values. Games are really a part of a rich tapestry of engaging applications and can be used to great effect when used wisely. :)

  2. Nice comment, Kim.

    One thing that is missed in this is the fact that games and values are not mutually exclusive. There are plenty of opportunities to merge values into games. It can make for great discussions with students about useful applications that promote positive changes in our society and help individuals on a personal level.