Archive for June 23, 2011
Shrinking our turf: Defining CS out of Interaction Design
A member of the SIGCSE mailing list asked the other day for recommendations on teaching a course on “HCI or Interaction Design.” We at Georgia Tech teach a variety of undergraduate and graduate courses like that, and I figured that lots of others do, too. I was surprised at some of the responses:
- “Our main theme was that computer scientists should know how to implement interfaces but should not try to design them. Frankly, I’ve not seen any evidence that has changed my mind since then.”
- “My personal experience with over 20 years of teaching GUIs is that CS students can be taught to be quite good at the software development aspects of GUIs, that they can be taught to at least understand good interaction design techniques, but that it does not really resonate with them and they do not tend to do it well, and that most of them are hopeless with respect to artistic design.”
Not all of the responses had this attitude that I might call “Not on my turf.” Bill Manaris pointed out that he was part of a workshop that defined an interesting series of courses that aimed to teach HCI and interaction design front-and-center in an undergraduate computer science curriculum. Overall, I got the strong message from the thread that the recommendation was: Computer scientists build software, but don’t expect them to deal well with interactions with people.
My first thought was reflexive. “What?!? We do this all the time!” Georgia Tech’s Computer Science degree explicitly has a Thread on People, Students who study the People thread (which is pretty popular) explicitly take courses in psychology, interface design, as well as how to build user interface software. Our students go on to take jobs where they do design user interfaces, and work as part of teams building and evaluating user interfaces. Not all computer science students at Georgia Tech take the People Thread, but that’s fine. Not all computer scientists study AI, but I haven’t heard anyone argue that AI isn’t part of computer science. There are lots of kinds of computer scientists.
My second thought was more reflective. “Why are we defining CS out of the role of interaction design?” Surely, knowing something about computer science makes for a better interaction designer. Painters start out by studying what their paints and brushes are capable of. All designers first start by exploring the potential of their design materials. Surely we can all agree computer science is connected to interaction design.
I can’t disagree with the experiences described in the messages — I’m sure that the SIGCSE members who posted really did see what they saw. Those experiences say that students who currently go into computer science are not interested in nor have an aptitude for interaction design. I can believe that, but that doesn’t define the discipline. That observation is an outcome of our recruitment efforts, our lack of computer science in high schools (so only some students ever get introduced to CS), and the culture of our field that is mostly white, male, and with less value for interaction with people. The fact that Georgia Tech CS students (and certainly students at other schools, especially those offering the courses that the Manaris workshop designed) can do interaction design, successfully, is an existence proof.
A bigger question for me is, “Why would we want to define computer science out of any design activity involving computing?” What is the value of saying, “Computer scientists can’t do X” for any value of X? Why would we want to shrink our intellectual turf? Wikipedia defines: “Computer science or computing science (abbreviated CS) is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems.” While that isn’t a great definition, “practical techniques” allows for a wide range of activities, including interaction design. Why would we want to give that up and say that that’s not CS?
In the College of Computing at Georgia Tech, we talk about Computing as becoming as large and broad as Engineering. The virtual world can be even larger and more complex than the natural world. Eventually, we expect that there will be recognized Schools of Computing, just as there are recognized Schools of Mechanical, Chemical, Civil, and Electrical Engineering today. Here at Georgia Tech, we already have three Schools: Computer Science (traditional definition), Interactive Computing, and Computational Science and Engineering. All of us faculty in the College of Computing see ourselves as computer scientists.
There are going to be branches of computer science. One of those will include HCI and interaction design. Let’s grow our branches, not prune them off.
Recent Comments