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