I believe that the difference between Software Engineering and Computer Science is not in human activity (mind you, Computer Scientists are affected by that discipline: how about reading papers and such? Reading and understanding heavy math is never an easy thing).<p>The differences are in scope and expectation of audience.<p>Usually, a paper of Computer Science deals with a limited and well-defined problem, while even the simplest program from Software Engineering must work on an infinite set of requirements, from security to ease of use. Plus, many of a program's requirements are in perpetual war with each other. Therefore, Software Engineering is slippery: sometimes, such and such requirements dominant, some other times, those other requirements are important.<p>Secondly, Computer Scientists demand a certain level of intelligence, effort, and knowledge from their audience (aka readers of their papers). Software Engineers have no such luxury: Just look at how they are screamed at just because a button is put at the wrong position. Plus, many computer users have come to expect that they are stupid and have absolute right to remain as stupid and ignorant as possible. Remember, computer programs are complex. Hiding away the complexity of the program, having an attractive interface, while still being correct, secure, and efficient must be satisfied at the exact same time. That's extremely difficult (if not impossible).