Computer Science is no more about computers than astronomy is about telescopes.
– Edsger Wybe Dijkstra
What about Mathematics?
Before diving into the question of what is computer science, let’s deal with the question of what is mathematics first. Obviously it is a big question that no one would ever be confident to answer to. However, I still want to share some of my ideas of what mathematics is.
I hold the belief that mathematics is basically an inhesion quality to all human beings, which is an integration of the abilities of abstraction and logical reasoning. And also, there are a set of widely accepted conceptions and mathematical notations, as well as theories on them, which are the math we are mostly talking about.
Mathematics comes from our observation of the world, and is an abstraction at a higher level than those more concrete abstractions like apple.
What is Computer Science?
Know the history when computer science came into being will provide a helpful point of view to answer this question. When Turing first proposed Turing Machine, which is one of the widly accepted methematical models of computation, he aimed to answer the question proposed by Church. Note that the proposal of turing machine did not define any new mathematical notions or modify existing theories, but just built a formal methematical model using those notions and theories (set theory for example).
Along with its proposal, turing machine was proved by its proposer, Alan Turing, to have some limitations. Like being unable to solve Church’s problem. And here we have another limitation of turing machine that it can not perform real number calculations (approximations are solvable though).
As far as I see, turing machine is build as a model of “computers” (human calculator when automated calculaters had not been invented) and many of our theoretical computer science researches are of the question of whether a formally defined problem is solvable, or designing a less complex algorithm to solve it. There are also more general questions in CS like can neural network generate intelligence, and experiments go futher than theoretical proof to such a question.
CS vs. Mathematics
In a word, I tend to hold that mathematics is more like a religion shared by most poeple, while CS is about observing the world’s input-output stuffs and puting forward to mathematical models (like TM and lambda caculus), and then, reasoning formally or performing experiments on the model (like building a real computer).
Other science subjects are using computer as tools to experiment on their concerned questions. In cog-sci for example, we may perform a computing model after we propose a model of the process of cognition.
Computer Engeneering
Like engeneering physics, it aims to use our knowledge in CS to create real tools to improve our life.