Archive for October 8, 2009

What are the priorities of computer science?

My colleague, Beki Grinter, just posted an intriguing blog entry titled Reflections on ICT4D which tells us a lot about the priorities in computer science.  “ICT4D” is Information and Communications Technologies for (4) the Developing world.  Beki’s blog talks about the growth of this interdisciplinary field including classes and degree programs (such as the “Computer4Good” classes at Georgia Tech that I’ve already whined about).

What Beki does in her post is use the emergence of ICT4D to make observations about the assumptions and the priorities of our field.  Some of the ones that particularly struck me:

  • Few people who do computer science living in the conditions of the developing world.  Thus, we can’t be expected to understand their problems (or rather, some of us may expect that we can, but we honestly can’t).  Problem exploration and definition is thus an important part of ICT4D, as it is for HCI — but that may be part of what keeps HCI researchers from being seen as rigorous as others in academia.  Admitting that there are alternative perspectives, views, and experiences of the world, and developing methods for understanding those, should be a contribution, not a detriment.
  • The solutions that we develop in computer science rely on an infrastructure that is invisible to our discipline: a power infrastructure, an educational infrastructure that ensures (for one) that our users can (mostly) read, and a retail infrastructure for distributing our products.  ICT4D is an academic discipline that starts by removing those assumptions.

The most interesting insight that I got from Beki’s article is how we focus on the solutions to the problems in computer science, where ICT4D is about the problems.  As a computing educator, I hear repeatedly from teachers, “Computer science is problem-solving on computers!”  Yet, as Beki points out, we organize our discipline and our findings on characteristics of the solution, not the problem.

  • Why are the programming language, HCI, and computing education people in different conferences and journals, if they’re all about the same problem of human-computer understanding and communication?
  • The “biggest question in computer science” (as Jeanette Wing called it), “Does P=NP?” is in some sense a question “We have these solutions to these problems that are ‘NP,’ and we’re wondering if there is a ‘P’ solution to those problems.”  We haven’t classified the problem, we’ve classified the solution, and we’re wondering if our solutions are in some way general descriptions or characteristics of the problem.
  • The recent discussion on my last blog post talks about how we in computer science tend to dismiss (as mathematics does, says one commentor) our tools and an understanding of how the tools influence our process.  That’s how we reach solutions, and we tend not to care about that.  We tend to care about the solutions not the process or tools we used to reach them, and that’s a shame.  Our solutions have dramatic impacts on society, and it is important to understand how we got there.

Beki avoids critiquing computer science (unlike me, I’m afraid).  Instead, she uses the developing study of ICT4D as a lens or mirror to provide us insights onto what we do, what we assume, and what we prioritize.  I encourage you to take a peek and see what you see in Beki’s mirror.

October 8, 2009 at 9:48 am 1 comment

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 10,186 other subscribers


Recent Posts

Blog Stats

  • 2,060,649 hits
October 2009

CS Teaching Tips