Science is knowledge, searching for knowledge
This is totally over generalizing. Searching for knowledge is scientific. Doing science is the application of the scientific method to expand human knowledge. A PhD Dissertation in science is supposed to be a breakthrough, and should be an addition to our body of knowledge as humanity.
Litmus test of doing science: Are you creating hypotheses and then testing them? Yes! Bravo, scientist.[/b]
However, just because you have curiosity, doesn't mean you're a scientist, in the strict academic modern sense. We don't want Philosophers calling themselves scientists, do we?
Engineering is the application of knowledge towards a service of human kind. You can't do that without having a taste of science of course. However, engineers take a whole lot of simplifying assumptions. They care about science out of necessity, not on principle. They're less about discoveries, and more about inventions.
Litmus test of doing engineering: Do you specialize in inventing solutions to problems? Bravo, engineer.[/b]
Computer Engineers are closer to Electrical Engineers. Their obsession is about creating entities that implement or have the same properties as those of arithmetic. Litmus test? Positive.
Math is the crown jewel of sciences but not a science itself. It's the language and the platform of exactness. The more abstract, the more mathematical. You can be sure as hell that if you're not talking in Math, that you're not doing Science. The other way around is not necessarily true. Mathematicians excel at creation. Their most important creations are ones that create models whose properties coincide with nature. However they also exceed beyond that and do all kinds of weird gay stuff.
Litmus test of doing math: Do you try to strip all connections to reality and reach axioms to create bodies of theories. Bravo, Mathematician.[/b] - I frankly don't know exactly what Mathematicians do. LSD?
In the strictest of senses, computation is merely arithmetic. A branch of applied mathematics. Nonetheless, it has found applications on all levels of science and in engineering. It really does deserve a branch of its own. Computation.
Computation can be broken down to two domains that are almost totally as disconnected as science and engineering with lots of analogies holding.
Theory of Computation,
Application of Computation. Fun thing about theory of computation is when they start dealing with programs as strings and input them into other programs and shit like that. That's not your average programmer. Those are the scientific types gone into the field of computation and transformed into something totally new. Programmers are the lowliest of creatures. The bitches of the IT world. They're like engineers in their purpose, but without their rigor neither their necessity for knowledge (anyone can copy paste scripts and code together). They're (maybe not so coincidentally) the most labored on creatures in the domain.