All Topics  
Theoretical computer science

 

   Email Print
   Bookmark   Link






 

Theoretical computer science



 
 
Theoretical computer science is the collection of topics of computer science
Computer science

Computer science is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems....
 that focuses on the more abstract, logical and mathematical aspects of computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
, such as the theory of computation
Theory of computation

The theory of computation is the branch of computer science that deals with whether and how efficiently problems can be solved on a model of computation, using an algorithm....
, analysis of algorithms
Analysis of algorithms

To analyze an algorithm is to determine the amount of resources necessary to execute it. Most algorithms are designed to work with inputs of arbitrary length....
, and semantics of programming languages. Although not itself a single topic, its practitioners form a distinct subgroup within computer science researchers.

s not easy to circumscribe the theory areas precisely; the ACM
Association for Computing Machinery

The Association for Computing Machinery, or ACM, was founded in 1947 as the world's first scientific and educational computing society. Its membership was approximately 83,000 as of 2007....
's Special Interest Group on Algorithms and Computation Theory (SIGACT), which describes its mission as the promotion of theoretical computer science, says
"The field of theoretical computer science is interpreted broadly so as to include algorithms, data structure
Data structure

A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data....
s, computational complexity theory
Computational complexity theory

Computational complexity theory, as a branch of the theory of computation in computer science, investigates the problems related to the Computational resource required for the execution of algorithms , and the inherent difficulty in providing efficient algorithms for specific computational problems....
, distributed computation, parallel computation, VLSI, machine learning
Machine learning

Machine learning is the subfield of artificial intelligence that is concerned with the design and development of algorithms that allow computers to improve their performance over time based on data, such as from sensor data or databases....
, computational biology
Computational biology

Computational biology is an interdisciplinary field that applies the techniques of computer science, applied mathematics and statistics to address biology problems....
, computational geometry
Computational geometry

Computational geometry is a branch of computer science devoted to the study of algorithms which can be stated in terms of geometry. Some purely geometrical problems arise out of the study of computational geometric algorithms, and such problems are also considered to be part of computational geometry....
, information theory
Information theory

Information theory is a branch of applied mathematics and electrical engineering involving the quantification of information. Historically, information theory was developed by Claude E....
, cryptography
Cryptography

Cryptography is the practice and study of hiding information. In modern times cryptography is considered a branch of both mathematics and computer science and is affiliated closely with information theory, computer security and engineering....
, quantum computation, computational number theory
Computational number theory

In mathematics, computational number theory, also known as algorithmic number theory, is the study of algorithms for performing number theory computations....
 and algebra
Symbolic computation

Symbolic computation or algebraic computation, relates to the use of machines, such as computers, to manipulate mathematics equations and expressions in symbol form, as opposed to manipulating the approximations of specific numerical quantities represented by those symbols....
, program semantics and verification
Formal methods

In computer science and software engineering, formal methods are particular kind of mathematically-based techniques for the formal specification, development and formal verification of software and hardware systems....
, automata theory
Automata theory

In theoretical computer science, automata theory is the study of abstract machines and problems which they are able to solve. Automata theory is closely related to formal language theory as the automata are often classified by the class of formal languages they are able to recognize....
, and the study of randomness
Randomness

Randomness is a lack of order, purpose, Causality, or predictability. Randomness as defined by Aristotle is the situation, when a choice is to be made which has no logical component by which to determine or make the choice ....
.






Discussion
Ask a question about 'Theoretical computer science'
Start a new discussion about 'Theoretical computer science'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Theoretical computer science is the collection of topics of computer science
Computer science

Computer science is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems....
 that focuses on the more abstract, logical and mathematical aspects of computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
, such as the theory of computation
Theory of computation

The theory of computation is the branch of computer science that deals with whether and how efficiently problems can be solved on a model of computation, using an algorithm....
, analysis of algorithms
Analysis of algorithms

To analyze an algorithm is to determine the amount of resources necessary to execute it. Most algorithms are designed to work with inputs of arbitrary length....
, and semantics of programming languages. Although not itself a single topic, its practitioners form a distinct subgroup within computer science researchers.

Scope

It is not easy to circumscribe the theory areas precisely; the ACM
Association for Computing Machinery

The Association for Computing Machinery, or ACM, was founded in 1947 as the world's first scientific and educational computing society. Its membership was approximately 83,000 as of 2007....
's Special Interest Group on Algorithms and Computation Theory (SIGACT), which describes its mission as the promotion of theoretical computer science, says
"The field of theoretical computer science is interpreted broadly so as to include algorithms, data structure
Data structure

A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data....
s, computational complexity theory
Computational complexity theory

Computational complexity theory, as a branch of the theory of computation in computer science, investigates the problems related to the Computational resource required for the execution of algorithms , and the inherent difficulty in providing efficient algorithms for specific computational problems....
, distributed computation, parallel computation, VLSI, machine learning
Machine learning

Machine learning is the subfield of artificial intelligence that is concerned with the design and development of algorithms that allow computers to improve their performance over time based on data, such as from sensor data or databases....
, computational biology
Computational biology

Computational biology is an interdisciplinary field that applies the techniques of computer science, applied mathematics and statistics to address biology problems....
, computational geometry
Computational geometry

Computational geometry is a branch of computer science devoted to the study of algorithms which can be stated in terms of geometry. Some purely geometrical problems arise out of the study of computational geometric algorithms, and such problems are also considered to be part of computational geometry....
, information theory
Information theory

Information theory is a branch of applied mathematics and electrical engineering involving the quantification of information. Historically, information theory was developed by Claude E....
, cryptography
Cryptography

Cryptography is the practice and study of hiding information. In modern times cryptography is considered a branch of both mathematics and computer science and is affiliated closely with information theory, computer security and engineering....
, quantum computation, computational number theory
Computational number theory

In mathematics, computational number theory, also known as algorithmic number theory, is the study of algorithms for performing number theory computations....
 and algebra
Symbolic computation

Symbolic computation or algebraic computation, relates to the use of machines, such as computers, to manipulate mathematics equations and expressions in symbol form, as opposed to manipulating the approximations of specific numerical quantities represented by those symbols....
, program semantics and verification
Formal methods

In computer science and software engineering, formal methods are particular kind of mathematically-based techniques for the formal specification, development and formal verification of software and hardware systems....
, automata theory
Automata theory

In theoretical computer science, automata theory is the study of abstract machines and problems which they are able to solve. Automata theory is closely related to formal language theory as the automata are often classified by the class of formal languages they are able to recognize....
, and the study of randomness
Randomness

Randomness is a lack of order, purpose, Causality, or predictability. Randomness as defined by Aristotle is the situation, when a choice is to be made which has no logical component by which to determine or make the choice ....
. Work in this field is often distinguished by its emphasis on mathematical technique and rigor."
Even so, the "theory people" in computer science self-identify as different. Some characterize themselves as doing the "'science' underlying the field of computing", although this neglects the experimental science done in non-theoretical areas such as software system
Software system

A software system is a system based on software forming part of a computer system . The term software system is often used as a synonym of computer program or software....
 research.


History


While formal algorithms have existed for millennia (Euclid's algorithm for determining the greatest common divisor
Greatest common divisor

In mathematics, the greatest common divisor , sometimes known as the greatest common factor or highest common factor , of two non-zero integers, is the largest positive integer that divisor both numbers without remainder....
 of two numbers is still used in computation), it was not until 1936 that Alan Turing
Alan Turing

Alan Mathison Turing, Order of the British Empire, Fellow of the Royal Society was a British mathematician, logician and Cryptanalysis....
, Alonzo Church
Alonzo Church

Alonzo Church was an United States mathematician and list of logicians who made major contributions to mathematical logic and the foundations of theoretical computer science....
 and Stephen Kleene formalized the definition of an algorithm in terms of computation. Similarly, while binary and logical systems of mathematics have long existed, Gottfried Leibniz
Gottfried Leibniz

Gottfried Wilhelm Leibniz was a Germany polymath who wrote primarily in Latin and French language.He occupies an equally grand place in both the history of philosophy and the history of mathematics....
 only formalized logic in 1703 with binary values for true and false. The nature of mathematical proof also has an ancient history, but in 1931 Kurt Gödel
Kurt Gödel

Kurt G?del was an Austrian-United States logician, mathematician and philosopher. One of the most significant logicians of all time, G?del made an immense impact upon scientific and philosophical thinking in the 20th century, a time when many, such as Bertrand Russell, A....
 proved with his incompleteness theorem that there were fundamental limitations on what statements, even if true, could be proved.

These developments have led to the modern study of logic and computability, and indeed the field of theoretical computer science as a whole. Information theory
Information theory

Information theory is a branch of applied mathematics and electrical engineering involving the quantification of information. Historically, information theory was developed by Claude E....
 was added to the field with a 1948 theory of the statistical mechanics of information by Claude Shannon. In the same decade, Donald Hebb introduced a mathematical model of learning in the brain. With mounting biological data supporting this hypothesis with some modification, the fields of neural networks and parallel distributed processing were established.

With the development of quantum mechanics
Quantum mechanics

Quantum mechanics is a set of principles underlying the most fundamental known description of all physical systems at the microscopic scale . Notable amongst these principles are both a dual wave-like and particle-like behavior of matter and radiation, and prediction of probabilities in situations where classical physics predicts certaintie...
 in the beginning of the 20th century came the concept that mathematical operations could be performed on an entire particle wavefunction. In other words, one could compute functions on multiple states simultaneously. This led to the concept of a quantum computer
Quantum computer

A quantum computer is a device for computation that makes direct use of quantum mechanical phenomena, such as quantum superposition and quantum entanglement, to perform operations on data....
 in the latter half of the 20th century that took off in the 1990s when Peter Shor
Peter Shor

Peter Williston Shor is an United States theoretical computer science most famous for his work on quantum computation, in particular for devising a quantum algorithm for Integer factorization exponentially faster than the best currently-known algorithm running on a classical computer ....
 showed that such methods could be used to factor large numbers in polynomial time
Polynomial time

In computational complexity theory, polynomial time refers to the computation time of a problem where the run time, , is no greater than a polynomial function of the problem size, n....
, which, if implemented, would render all modern public key cryptography systems uselessly insecure.

Modern theoretical computer science research is based on these basic developments, but includes many other mathematical and interdisciplinary problems that have been posed.

Organizations

  • EATCS
    EATCS

    The European Association for Theoretical Computer Science is an international organization founded in 1972. Its aim is to facilitate the exchange of ideas and results among theoretical computer scientists as well as to stimulate cooperation between the theoretical and the practical community in computer science....
    , the European Association for Theoretical Computer Science
  • SIGACT
  • Dutch Association for Theoretical Computer Science


Journals and newsletters

  • Information and Computation
  • Theory of Computing
    Theory of Computing (journal)

    Theory of Computing is an online open access journal dedicated to theoretical computer science. The journal was founded in 2005 admist growing concerns about the financial difficulties of university libraries around the world faced with rising costs in subscriptions to scientific journals owned by commercial academic publishing....
     (open access
    Open access

    Open access -- free online access -- can be provided in two ways: open access publishing and open access self-archiving, by its authors, of non-open-access publications ....
     journal)
  • Formal Aspects of Computing
    Formal Aspects of Computing

    The Formal Aspects of Computing journal is published by Springer Science+Business Media. It covers the area of formal methods and associated topics in computer science....
  • Journal of the ACM
    Journal of the ACM

    The Journal of the ACM is the scientific journal of the Association for Computing Machinery in the broad area of computer science. It was started in 1954....
  • SIAM Journal on Computing
    SIAM Journal on Computing

    The SIAM Journal on Computing is a research journal focussing on the mathematical and formal aspects of computer science. It is published by the Society for Industrial and Applied Mathematics ....
  • SIGACT News
  • Theoretical Computer Science
    Theoretical Computer Science (journal)

    Theoretical Computer Science is a computer science journal published by Elsevier, started in 1975. As the title suggests, the journal covers theoretical computer science....
  • Chicago Journal of Theoretical Computer Science
  • Journal of Automata, Languages and Combinatorics
    Journal of Automata, Languages and Combinatorics

    The Journal of Automata, Languages and Combinatorics is a computer science journal edited by J?rgen Dassow. It started in 1996 as successor of the Journal of Information Processing and Cybernetics / Elektronische Informationsverarbeitung und Kybernetik; the forerunner journal started in 1965....
  • Fundamenta Informaticae
    Fundamenta Informaticae

    The academic journal Fundamenta Informaticae is a computer science journal edited by Andrzej Skowron . It was launched in 1977 by the Polish Mathematical Society as Series IV of the annals "Annales Societatis Mathematicae Polonae", with its main focus on theoretical foundations of computer science....


Conferences

  • Annual ACM Symposium on Theory of Computing
    Symposium on Theory of Computing

    STOC, the Annual ACM Symposium on Theory of Computing is an academic conference in the field of theoretical computer science. STOC has been organized annually since 1969, typically in May or June; the conference is sponsored by the Association for Computer Machinery special interest group ACM SIGACT....
     (STOC)
  • Annual IEEE Symposium on Foundations of Computer Science
    Symposium on Foundations of Computer Science

    FOCS, the Annual IEEE Symposium on Foundations of Computer Science, is an academic conference in the field of theoretical computer science....
     (FOCS)
  • ACM–SIAM Symposium on Discrete Algorithms (SODA)
  • International Colloquium on Automata, Languages and Programming
    International Colloquium on Automata, Languages and Programming

    ICALP, the International Colloquium on Automata, Languages and Programming is an academic conference organized annually by the European Association for Theoretical Computer Science and held in different locations around Europe....
     (ICALP)
  • Symposium on Theoretical Aspects of Computer Science (STACS)
  • European Symposium on Algorithms
    European Symposium on Algorithms

    The European Symposium on Algorithms is an international conference covering the field of algorithms. It has been held annually since 1993, typically in a different European location in early Autumn....
     (ESA)
  • Algebraic Methodology And Software Technology (AMAST)
  • IEEE Symposium on Logic in Computer Science (LICS)
  • International Symposium on Algorithms and Computation (ISAAC)
  • Workshop on Approximation Algorithms for Combinatorial Optimization Problems (APPROX)
  • Workshop on Randomization and Computation (RANDOM)
  • Computational Complexity Conference (CCC)
  • ACM Symposium on Parallelism in Algorithms and Architectures
    Symposium on Parallelism in Algorithms and Architectures

    SPAA, the ACM Symposium on Parallelism in Algorithms and Architectures, is an academic conference in the fields of parallel computing and distributed computing....
     (SPAA)
  • ACM Symposium on Principles of Distributed Computing
    Symposium on Principles of Distributed Computing

    PODC, the ACM Symposium on Principles of Distributed Computing, is an academic conference in the field of distributed computing. PODC is organised annually, and it is sponsored by the Association for Computing Machinery special interest groups ACM SIGACT and SIGOPS....
     (PODC)
  • Computability in Europe (CiE)


See also

  • Formal science
    Formal science

    A formal science is a branch of knowledge that is concerned with formal systems, for instance, logic, mathematics, systems theory and the theoretical aspects of theoretical computer science, information theory, statistics, and linguistics....
  • Unsolved problems in computer science
  • Timeline of quantum computing
    Timeline of quantum computing

    |}...


External links

  • [news://comp.theory Usenet comp.theory]