- Theoretical computer science
Theoretical computer science is the collection of topics of
computer science that focuses on the more abstract, logical and mathematical aspects ofcomputing , such as thetheory of computation ,analysis of algorithms , andsemantics 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'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 includealgorithms ,data structure s,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 ofrandomness . 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" [http://www.research.att.com/%7Edsj/nsflist.html#Intro] , although this neglects the experimental science done in non-theoretical areas such assoftware system research.History
While formal algorithms have existed for millennia (
Euclid's algorithm for determining thegreatest common divisor of two numbers is still used in computation), it was not until 1936 thatAlan Turing andAlonzo Church formalized the definition of an algorithm in terms of computation. Similarly, while binary andlogical system s of mathematics have long existed,Gottfried Leibniz only formalized logic in 1703 with binary values for "true" and "false". The nature of mathematical proof also has an ancient history, but in 1931Kurt Gödel proved with hisincompleteness 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 was added to the field with a 1948 theory of the statistical mechanics of information byClaude 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 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 aquantum computer in the latter half of the 20th century that took off in the 1990s whenPeter Shor showed that such methods could be used to factor large numbers inpolynomial time , which, if implemented, would render all modernpublic 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 , the European Association for Theoretical Computer Science
*SIGACT
* Dutch Association for Theoretical Computer Science [http://www.nvti.nl/]Journals and newsletters
* "
Information and Computation "
* "Theory of Computing" (open access journal)
* "Formal Aspects of Computing "
* "Journal of the ACM "
* "SIAM Journal on Computing "
* "SIGACT News "
* "Theoretical Computer Science"
* " [http://www.springerlink.com/(nsxb3jy3e5vtb555e4h54lrs)/app/home/journal.asp?referrer=parent&backto=linkingpublicationresults,1:100369,1| Theory of Computings Systems] "
* "Chicago Journal of Theoretical Computer Science "
* " [http://www.worldscinet.com/ijfcs/ijfcs.shtml/ International Journal of Foundations of Computer Science] "
* " [http://www.nowpublishers.com/tcs/ Foundations and Trends in Theoretical Computer Science] "
* " [http://www.jalc.de/ Journal of Automata, Languages and Combinatorics] "
* " [http://www.springer.com/west/home/computer/foundations?SGWID=4-156-70-1033707-0 Acta Informatica] "
* " [http://fi.mimuw.edu.pl/ Fundamenta Informaticae] "Conferences
* Annual ACM Symposium on the Theory of Computing (STOC)
* IEEE Symposium on Foundations of Computer Science (FOCS)
* Symposium on Discrete Algorithms (SODA)
*International Colloquium on Automata, Languages and Programming (ICALP)
* Symposium on Theoretical Aspects of Computer Science (STACS )
* European Symposium on Algorithms (ESA)
* Algebraic Methodology And Software Technology (AMAST)
* IEEE Symposium on Logic in Computer Science (LICS)
* International Symposium on Algorithms and Computation(ISAAC)
* (APPROX/RANDOM)
* Computational Complexity Conference (CCC)
* Symposium on Parallelism in Algorithms and Architectures (SPAA)
* ACM Symposium on Principles of Distributed Computing (PODC)
* Computability in Europe (CiE)ee also
*
Formal science
*Unsolved problems in computer science
*Timeline of quantum computing References
* [http://sigact.acm.org/ SIGACT home page]
* [http://www.research.att.com/%7Edsj/nsflist.html Challenges for Theoretical Computer Science, draft of 2000]External links
* [http://sigact.acm.org/sigact/other.html SIGACT directory of additional theory links]
* [news://comp.theory Usenet comp.theory]
* [http://www.podc.org/ PODC conference Link]
Wikimedia Foundation. 2010.