15

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

Maxood
  • 299
  • 2
  • 8

6 Answers6

18

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).

Yuval Filmus
  • 280,205
  • 27
  • 317
  • 514
8

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...

Pseudonym
  • 24,523
  • 3
  • 48
  • 99
6

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.

user541686
  • 1,187
  • 1
  • 10
  • 17
1

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.

Jouni Sirén
  • 472
  • 2
  • 5
1

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.

André Souza Lemos
  • 3,296
  • 1
  • 16
  • 30
0

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):

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.

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.

Science is a systematic enterprise that builds and organizes knowledge in the form of testable explanations and predictions about the universe.

Contemporary science is typically subdivided into the natural sciences, which study the material universe; the social sciences, which study people and societies; and the formal sciences, which study logic and mathematics. The formal sciences are often excluded as they do not depend on empirical observations.

And further (from a different page):

Mathematics (from Greek μάθημα máthēma, “knowledge, study, learning”) is the study of topics such as quantity (numbers), structure, space, and change. There is a range of views among mathematicians and philosophers as to the exact scope and definition of mathematics.

Mathematicians seek out patterns and use them to formulate new conjectures. Mathematicians resolve the truth or falsity of conjectures by mathematical proof.

...

Today, no consensus on the definition of mathematics prevails, even among professionals.

...

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

And now, as to CS:

Theoretical computer science is a division or subset of general computer science and mathematics that focuses on more abstract or mathematical aspects of computing and includes the theory of computation.


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

Unlike other sciences, the formal sciences are not concerned with the validity of theories based on observations in the real world (empirical knowledge), but rather with the properties of formal systems based on definitions and rules.

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.

Wildcard
  • 335
  • 1
  • 12