Software Engineering vs Computer Science (take 2)

So if you study at the University of Auckland you need to decide between doing Software Engineering and Computer Science (although I hasten to add there are many other worthy topics you might also consider, such as Mathematics or Development Studies). But surely this is just an artificial distinction due to the vagaries of University politics? Is there really any benefit to making this distinction?

I would say yes, primarily because that's how humans have always dealt with complexity — divide and conquer. Yes we could come up with definitions that would seem reasonable and result in Software Engineering being part of Computer Science, or the two a different ends of the same spectrum, or whatever.

However, there is a reason Mechanical Engineering (for example) is typically a separate topic from Physics now, and the pressures that led to this split apply as much to Software Engineering as any other form of engineering. The main one is the sheer amount of material that is involved. As time goes on, we learn more. The more knowledge there is, the more pressure there is to teach it. This isn't always practical, so usually some material gets left out, some concepts are only superficially covered, or there are more courses available than anyone can take during their degree.

As a curriculum developer, now you face a problem. Your stakeholders (e.g. employers and graduate programmes) have expectations as to what your curriculum can deliver, but if students only take a subset of the courses you offer, then it is hard to make guarantees as to what they know. You can design a curriculum that has a "core" and a choice of "electives", but even that will only take you so far. Eventually you have to start thinking about dividing the material between different qualifications.

Such has happened to computers science and software engineering. There is overlap between the two programmes, both in subject matter and in some cases courses. Such is true of other engineering and science programmes. This is mainly resource matter. With only so much income (number of students) there are only so many resources available to teach the two programmes. But what's relevant is not the similarities, but the differences.

Once you have different qualifications, you need criteria for deciding what material goes where. My previous post offers possible criteria. You need to have some way of distinguishing the different qualifications. While in some sense, the distinction between computer science and software engineering is artificial, it has become necessary.

History

Probably 2014
First conceived and drafts written.
2015-07-17
Made public