Wednesday, March 23, 2011

Should UI be required for a CS degree?

Yesterday, I went to a uxWaterloo event. There were a bunch of 7 minute talks on various topics in usability. One of the topics that caught my interest was the question if UI should be a required course for CS degrees?

Based on the discussion that followed the talk, the majority of people seemed to like the idea of including UI courses in CS degrees as a required component. After all, a lot of people with CS degrees go into the workforce as software developers working on user interfaces. However, CS isn't really about developing usable software. It's not really about developing software period. CS is more about the theoretical study of mathematical computation and information processing.

Software engineering is the program about developing software. I think that UI should definitely be a core part of a software engineering degree, but I don't think it's a good idea to included it as a core course in CS. CS is already this murky field that's half theoretical and half practical. I think a good solution is to make the theoretical courses required for CS degrees, but offer a wide variety of optional, practical courses. UI, of course, should be in that optional list of courses. Promoting these optional courses is also very important aspect of getting people more interested in UX.

So what do you guys think? Should UI be a core component of CS degrees?


  1. If a company is using a developer to design their UI, they're misusing their developers.

  2. Developers certainly don't have to be responsible for directly coming up with the design (though they can), but there is a lot of interaction between designers and developers during implementation, where UI design knowledge is very valuable for the developer. It lets the two groups collaborate better.

    Also, your development team shouldn't have consult with a designer for every tiny move they make. It would be much faster if they could "best guess" the little things, and then get feedback from the designers later.

  3. The designers should be concerned about every little thing, that's what you pay them for.

    If your developers work with a lot of designers, they'll pick things up. If they don't, they don't need the course.

  4. Do you know how much time Google spends on picking the shade of blue their links are?

    Spoilers: It's a lot of time.