Internet
Fact-checked

At WiseGEEK, we're committed to delivering accurate, trustworthy information. Our expert-authored content is rigorously fact-checked and sourced from credible authorities. Discover how we uphold the highest standards in providing you with reliable knowledge.

Learn more...

What is Theoretical Computer Science?

Michael Anissimov
Michael Anissimov
Michael Anissimov
Michael Anissimov

Theoretical computer science is largely an abstract mathematical discipline that seeks to better understand the nature of computation. But like research in physics, advances in theoretical computer science end up providing practical contributions to the field of computing in general. The discipline of theoretical computer science can be divided into several subcategories.

The prototypical subcategory of theoretical computer science is the study of abstract complexity, which involves algorithms, automata, complexity, and games. For example, what generalizations can we make about the behavior of certain algorithms as they approach an infinite amount of computing power in the limit? What is the space of possible programs that can be described with less than 50 bits? What statistical methods may be used to determine whether or not a given algorithm or program is performing its task optimally?

Children with a knack for mathematics might want to pursue studies in theoretical computer science.
Children with a knack for mathematics might want to pursue studies in theoretical computer science.

Another subcategory of theoretical computer science is logic, semantics, and the theory of programming. This category tends to be a bit more concrete than the above. For example, how can we determine which programming language has an advantage in addressing a given computational problem? How can we use programming languages to write automated theorem provers? How do we validate code as possessing given information-theoretic properties?

A final general category in theoretical computer science is the study of computational processes occurring in nature, and artificial computational processes inspired by nature. For example, evolutionary computing, neural networks, molecular computing, and quantum computing. It attempts to answer questions like: what is going on, computationally, during the process of evolution and natural selection? Is reality itself fundamentally computational? And so on.

Theoretical computer science originated in the 1940s and 50s with geniuses like Jon von Neumann and Alan Turing. Additional goals in theoretical computer science are to unify seemingly separate fields of computing, determine whether or not certain problems are in principle unsolvable, what techniques may be used to factor huge numbers or discover the largest prime numbers, an so on.

Michael Anissimov
Michael Anissimov

Michael is a longtime WiseGEEK contributor who specializes in topics relating to paleontology, physics, biology, astronomy, chemistry, and futurism. In addition to being an avid blogger, Michael is particularly passionate about stem cell research, regenerative medicine, and life extension therapies. He has also worked for the Methuselah Foundation, the Singularity Institute for Artificial Intelligence, and the Lifeboat Foundation.

Learn more...
Michael Anissimov
Michael Anissimov

Michael is a longtime WiseGEEK contributor who specializes in topics relating to paleontology, physics, biology, astronomy, chemistry, and futurism. In addition to being an avid blogger, Michael is particularly passionate about stem cell research, regenerative medicine, and life extension therapies. He has also worked for the Methuselah Foundation, the Singularity Institute for Artificial Intelligence, and the Lifeboat Foundation.

Learn more...

Discuss this Article

Post your comments
Login:
Forgot password?
Register:
    • Children with a knack for mathematics might want to pursue studies in theoretical computer science.
      By: alphaspirit
      Children with a knack for mathematics might want to pursue studies in theoretical computer science.