Chuck Connell has posted a nice piece in the June 2009 issue of DDJ (are they still around?) titled Software Engineering ≠ Computer Science, positing that the main difference between the two is that software engineering has an essential human component while computer science does not. Requirements, maintainability, safety, etc are all issues for software engineering that are not relevant (for the most part) to computer science.
I think this is a useful way of looking at this problem and delimiting the scope of each field. Software engineering and computer science are both important, but deal with separate problem spaces. As I’ve said before, you wouldn’t hire a physicist to build a bridge, or a biologist to perform an operation, so similarly you wouldn’t hire a computer science to build an application meant to go into production, nor would you hire a software engineer to develop new search algorithms.
This is not just a case of semantics: the lack of a clear understanding and consistent use of the two terms is confusing for students and employers alike, and does little to benefit either field.