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?