Theoretical computer science
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.
Contents
[hide]Description
The ACM's Special Interest Group on Algorithms and Computation Theory (SIGACT) describes its mission as the promotion of theoretical computer science and notes:
The field of theoretical computer science is interpreted broadly so as to include:Work in this field is often distinguished by its emphasis on mathematical technique and rigor.
- algorithms
- Data structures
- Computational complexity theory
- Distributed computation
- Parallel computation
- VLSI
- Machine learning
- Computational biology
- Computational geometry
- Information theory
- Cryptography
- Quantum computation
- Computational number theory and algebra
- Program semantics and verification
- Automata theory
- Randomness
To this list, the ACM's journal Transactions on Computation Theory adds:
- Coding theory
- Computational learning theory
- Theoretical computer science aspects of areas such as:
Discussion
Despite this broad scope, the "theory people" in computer science self-identify as different from the "applied people."
Some characterize themselves as doing the "(more fundamental) 'science(s)' underlying the field of computing."
Other "theory-applied people" suggest that it is impossible to separate theory and application.
This means that the so-called "theory people" regularly use experimental science(s) done in less-theoretical areas such as software system research.
It also means that there is more cooperation than mutually exclusive competition between theory and application.
See also
External links
- Theoretical computer science @ Wikipedia