Monday, May 5, 2014

Discussion: CS vs SE

As far as the discussion today about CS vs SE, I think many good points were brought up.  I would generally agree that CS is more about ideas while SE is more about products.  But I think everyone should remember that you can't have many products without solid ideas.  Some people in the class seem to have the sentiment that SE is some distant relative to CS at all, if they're even related.  Things were said like "I had to learn things for this [class] project that I wasn't taught at UNM", as if to say their training here in CS doesn't help them at all in building software.  I just see so much wrong with this sentiment.  I would argue that if you handed a workload like this class presents to a 1st-year CS student, they would crumble.  Sure, we've all had to learn a lot to execute these projects, like new programming languages, web frameworks, database systems, and so on.  But there is a ton of knowledge in the background that we use all the time when we are designing or coding these software projects.  From algorithms all the way down to just basic code quality and conventions.  There's a reason you can't take an average Joe off the street (or an MBA, for that matter :) ) and get them to do this kind of work.  There is a lot of little skills and implicit knowledge all over the place about how to understand and work with computers, how to design robust and flexible code, how to keep your cool under frustrating or confusing conditions, and so much more.  In closing, I would argue that CS and SE are not disjoint fields at all; they each have regions that do not overlap (highly theoretical CS research, Facebook, etc), but I would argue that their overlap is greater than their disjoint areas.

No comments:

Post a Comment