I am a university level student of Computer Science having a great passion to study Mathematics. I have a firm belief that Computer Science or Theoretical Computer Science is a direct branch of Mathematics and Logic and also of the opinion that a Computer Science degree has always to be Math oriented as a matter of fact. Please correct me if I am wrong.

I frankly feel that there isn't a lot of difference in the 2 subjects to be frank as every "computation" involves "calculation", although every "calculation" might not be a "computation". Again please provide substantial information and evidence and do update me if I am mistaken here. Thank you

  • 5
    $\begingroup$ Re: "every 'computation' involves 'calculation'": This seems only tangentially relevant to me, since CS research doesn't really consist of doing computations, and math research doesn't really consist of doing calculations. $\endgroup$ – ruakh Oct 9 '16 at 0:36
  • $\begingroup$ "although every "calculation" might not be a "computation". " If the Church-Turing thesis holds and we (humans) are just Turing machines then yes every calculation is just a (part of a) computation of a Turing-machine and everything ever produced by human minds is just the output of said machine... $\endgroup$ – Bakuriu Oct 9 '16 at 9:37
  • 1
    $\begingroup$ Finish your studies. You will realize that computer scientists and mathematicians think and approach problems in different ways. There's your answer, then. $\endgroup$ – Raphael Oct 9 '16 at 12:38
  • 1
    $\begingroup$ I feel Statistics is in a similar position. In its most theoretical form it's a branch of math, in its applied form it "just" uses math to solve non-math problems, and there is no clear dividing line. $\endgroup$ – RemcoGerlich Oct 10 '16 at 10:47
  • 1
    $\begingroup$ IMO CS is more practically oriented while Mathematics is more theoretical/abstract. I'd say most researches in CS are concerned with/focused on practical aspects, and in a lot of cases are driven by direct industrial need with some companies behind. So just as what others put, CS normally don't do what Math researchers are doing. $\endgroup$ – xji Oct 14 '16 at 17:50

Theoretical computer science is what theoretical computer scientists do; and mathematics is what mathematicians do. Other than that, there is no accepted definition of either. One might argue that theoretical computer science is a particular branch (or branches) of mathematics, influenced (at least originally) by the problem of efficient computation.

Many areas of mathematics are clearly not theoretical computer science, say functional analysis, category theory, algebraic geometry, algebraic number theory, and many others. However, sometimes these areas are applied to theoretical computer science. Parts of them might then form part of theoretical computer science, if there is a community of theoretical computer scientists who decided to work on them.

On the other hand, computability theory is not necessarily part of theoretical computer science, depending on which community of theoretical computer science one takes as reference. Theoretical computer science (or at least its part known as "Theory A") is traditionally about what can be efficiently computed rather than about what can be computed at all.

Many mathematical theorems have no computational content, and in some cases this can be made precise. One example is Kawamura's result that ODEs are hard to solve in general. It is not true that every mathematical proof has constructive content – indeed there are mathematical techniques which are inherently non-constructive, for example the use of compactness or the axiom of choice in any of its other guises.

If you are interested in the computational content of mathematical statements and proofs, you might want to look into reverse mathematics and bounded arithmetic (sometimes known as feasible mathematics or feasible arithmetic).

  • $\begingroup$ Comments are not for extended discussion; this conversation has been moved to chat. $\endgroup$ – Raphael Oct 9 '16 at 12:36
  • $\begingroup$ Many areas of (theoretical) computer science are clearly not mathematics (in the sense that they are not something mathematicians do). $\endgroup$ – Raphael Oct 9 '16 at 15:27
  • $\begingroup$ Category theory clearly not theoretical computer science? At my university that course was purely taught at Department of Computer Science (allthough some research also at the Department of Mathematics). $\endgroup$ – Pål GD Nov 7 '16 at 20:09

Computer Science is to Software Engineering as Chemistry is to Chemical Engineering.

In fact, most areas of science have one or more engineering disciplines that hang off them. Biology gives rise to Biomedical Engineering, Genetic Engineering, and so on. Physics gives rise to Aerospace Engineering, Electronic Engineering, and so on. There isn't a one-to-one correspondence partly because engineering often relies on more than one branch of science, and the various branches of science aren't really distinct anyway.

The relationship of Mathematics to Computer Science is pretty much the same as the relationship of Mathematics to Physics: it's the language that underpins them both. Theoretical Computer Science could be thought of, pretty much, as a branch of Mathematics. But then, so could Theoretical Physics...

  • $\begingroup$ I date from an era when everyone who did undergraduate computer scientist was "really" something else. They were "really" an engineer, or "really" a mathematician, or "really" a linguist, or something else. Turing was correct, for the time. $\endgroup$ – Pseudonym Jan 16 '17 at 7:43
  • $\begingroup$ Does that mean, in current trend, being mathematician is not a necessity to be a good programmer? $\endgroup$ – overexchange Jan 16 '17 at 8:43
  • $\begingroup$ Having a good grounding in mathematics is just as important to being a software engineer as it is to being a chemical engineer or a civil engineer. $\endgroup$ – Pseudonym Jan 16 '17 at 8:52
  • $\begingroup$ As a software engineer, when you say, good grounding in mathematics, would you consider these as the sufficient topics in math, that one should be strong enough and could be able to apply those concepts, whenever required in building software? $\endgroup$ – overexchange Jan 16 '17 at 8:58
  • $\begingroup$ Had you posted that as a question, it would probably be closed as "primarily opinion-based". How much mathematics you need does partly depend on what you're doing. $\endgroup$ – Pseudonym Jan 17 '17 at 0:36

In one phrase, I'd say the distinguishing concern is concern with computational complexity.

In math, you're just concerned with possibility and correctness; in TCS, you're worried not just about that, but also the computational difficulty of the problem, in terms of time complexity, approximability, space complexity, I/O complexity, and the like.

You may be able to find an odd exception somewhere just like with any rule, but it seems to me that this is pretty accurate overall.

  • $\begingroup$ This does not in any way preclude Computer Science from being a branch of mathematics. Your definition of "mathematics" is too narrow, if CS doesn't fit. $\endgroup$ – Wildcard Oct 9 '16 at 12:20
  • $\begingroup$ @Wildcard: Computer science isn't a branch of mathematics though... just like physics isn't either. People don't refer to computer scientists as mathematicians, and computer scientists generally don't refer to themselves as mathematicians either. Heck, some people even dispute whether statistics is considered mathematics... I'm not going to try to open that can of worms, but these are certainly more than enough to show my definition of math isn't "too narrow" by any means... $\endgroup$ – user541686 Oct 10 '16 at 10:33
  • $\begingroup$ The accepted laws of Physics are derived only from observation, hypothesis, real-world experimentation, more observation, revision of hypothesis, more real-world experimentation, more observation, advancement of the hypothesis to the status of "theory," and so on. CS proceeds from axioms which are true by definition to proofs of theorems (or algorithms) based on those axioms. It is not subject to invalidation through observation of the real world, nor to invalidation through experimentation. Hence it is mathematics, not science according to the scientific method. $\endgroup$ – Wildcard Jan 7 '17 at 0:27
  • $\begingroup$ @Wildcard: en.wikipedia.org/wiki/Branches_of_science#Mathematics $\endgroup$ – user541686 Jan 7 '17 at 1:17
  • $\begingroup$ Fair enough; thanks very much for the link. I prefer my own distinction between the terms (and am not alone in that), though it's good to see clearly the relationship between my definitions and Wikipedia's. Essentially I define science as Wikipedia does: "...testable explanations and predictions about the universe," which I'd say encompasses "natural sciences" and "social sciences," but not "formal sciences" since these are a priori, not testable. Likewise, I define "mathematics" such that it includes everything within the scope of so-called "formal sciences," including CS. $\endgroup$ – Wildcard Jan 7 '17 at 1:52

Mathematics is the study of definitions and their consequences; of structures and patterns. Computer science is the art and science of getting things done. A mathematician studies a problem in order to understand the abstract structure behind it. A computer scientist, on the other hand, wants to find a general approach to solving similar problems.

Some subfields of computer science overlap mathematics. Others are closer to statistics, engineering, science, and even social science.


Complementing Pseudonym's answer, I'd add that computer science, like physics, has an experiential component that pure math doesn't have, and cannot have.

Differently from physics, the experiential component of computer science has to do with time and space, but as they are engaged by language, a posteriori. That means we are interested in formalize in mathematical terms (because we are scientists) aspects of thought processes that have to do with the experience of language, and in language. Philosophically speaking, this definition is just a conversation starter, but I thought it would be helpful (which is why I decided to post it).

That said, boundaries between neighbouring (or complementary) fields are never absolute. Science is always much richer and more complex than our academic categorizations can express.


Following my conversation in comments with Mehrdad on his answer, I feel I should provide my own answer; there are in fact philosophic sides to this question which admit of a wider interpretation than the classification prevailing amongst modern Computer Scientists.

To address your exact statement (emphasis added):


Your classification disagrees with Wikipedia and with many modern Computer Scientists, but does that mean that it is wrong? Not necessarily. Even Wikipedia itself acknowledges opposing views on this subject, including your own view, which I share.

First let's consider definitions. (Emphasis is added.) Each of these excerpts is taken from Wikipedia; links are provided in the first word or phrase of each excerpt.



And further (from a different page):






Many philosophers believe that mathematics is not experimentally falsifiable, and thus not a science....

And now, as to CS:


According to the Wikipedia article on "Branches of Science,":


The classification there goes on to specify theoretical computer science as a branch of formal science, alongside of mathematics.

However, given the clear fact that mathematics has no generally accepted definition but certainly involves mathematical (formal) proofs, it would not be outrageous to include everything in the "formal sciences" classification within the scope of the definition of "mathematics," as you seem to do.

My own definitions (classifications) exclude "formal sciences" from the scope of "science," for the above-cited reason that they do not depend on empirical observations.

Further, my own definition of "mathematics" includes within its scope the entirety of the so-called "formal sciences," including Computer Science.

The differentiation I would make between these terms is that science is empirical; mathematics is based on deductions from primary assumptions.

The validity of science is based on the accuracy of observations.

The applicability of mathematics depends upon the applicability of primary assumptions.

  • $\begingroup$ Do you consider chemistry to be physics? $\endgroup$ – user541686 Jan 7 '17 at 2:32
  • $\begingroup$ @Mehrdad, no: physics deals primarily with energy and changes in forms of energy; chemistry deals primarily with matter and changes in forms of matter. They do have some overlap (similarity in application). Although I wonder if that question was intended as a jab? $\endgroup$ – Wildcard Jan 7 '17 at 2:41
  • $\begingroup$ Wait, what? Underneath my answer you were spending all this time arguing with me that CS is somehow math because both are based on axioms rather than observations or whatever, but now that I ask you about chemistry you're just ignoring your own logic and telling me chemistry is actually not physics because it "primarily deals with matter" rather than energy? Obviously CS deals with computation whereas math deals with truths/logic/whatever, so why couldn't you apply your logic over there? (Never mind that you're also wrong, and e.g. "states of matter" is a physics thing not a chemistry thing..) $\endgroup$ – user541686 Jan 7 '17 at 3:04
  • $\begingroup$ Physics and chemistry are both branches of empirical science. CS, arithmetic, first-order logic, algebra, calculus, geometry, graph theory, trigonometry, relational theory, are all branches of mathematics. Many of these of course include sub-branches; for instance, trig includes spherical trig. CS has many sub-branches. It's still a branch of mathematics. (Also, I don't know why you're stressing physics; I never claimed that "physics" and "science" are synonymous.) $\endgroup$ – Wildcard Jan 7 '17 at 3:07
  • $\begingroup$ What I do not claim is that there are firm and fast (hard) dividing lines between various branches of mathematics. I also do not claim that there are fixed dividing lines between various branches of empirical science. There is a clear dividing line between mathematics and science, because the approaches are fundamentally different. (Mathematics proceeds from assumptions which are true by definition, and science proceeds empirically.) Mathematics can even apply to science, if its primary assumptions align with empirical observations. $\endgroup$ – Wildcard Jan 7 '17 at 3:09

Your Answer

