Difference between revisions of "Theoretical computer science"
Karl Jones (Talk | contribs) (First) |
(No difference)
|
Revision as of 16:44, 20 August 2015
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.
It is not easy to circumscribe the theory areas precisely and 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 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, and the study of randomness. Work in this field is often distinguished by its emphasis on mathematical technique and rigor.
To this list, the ACM's journal Transactions on Computation Theory adds coding theory, computational learning theory and theoretical computer science aspects of areas such as databases, information retrieval, economic models and networks.
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