Ciência da computação teórica (TCS) é uma divisão ou subconjunto de
ciências da computação e
matemática que incide sobre os aspectos mais abstratos ou matemáticos da computação e inclui a teoria da computação. Não é fácil delimitar as áreas de teoria com precisão e o Grupo de Interesse Especial da
ACM em Algoritmos e Teoria da Computação (SIGACT) descreve seu papel como a promoção da ciência da computação teórica e fornece a seguinte nota:
"O campo da ciência da computação teórica é interpretado de forma ampla, de modo a incluir algoritmos, estruturas de dados, teoria da complexidade computacional, computação distribuída, computação paralela, VLSI, aprendizado de máquina, biologia computacional, geometria computacional, teoria da informação, criptografia, computação quântica, teoria dos números e álgebra, semântica de programas e sua verificação, teoria dos autômatos, e o estudo da aleatoriedade. O trabalho neste campo é muitas vezes distinguido por sua ênfase na técnica matemática e rigor."
A esta lista, o jornal
Transactions on Computation Theory da ACM acrescenta
teoria de códigos, teoria da aprendizagem computacional e aspectos de áreas de ciência da computação teórica, tais como
bancos de dados, recuperação de informação, os modelos econômicos e
redes. Apesar desse escopo amplo, o "pessoal de teoria" em ciência da computação se auto-identificam como diferente do "pessoal das aplicações." Alguns se caracterizam como fazer a "
‘ciência(s)’ (mais fundamental) subjacente à área da computação”. Já as “pessoas da teoria-aplicada” sugerem que é impossível para a teoria e aplicação sem separadas. Isto significa que as chamadas "pessoas da teoria" usam regularmente ciência(s) experimental feita em áreas menos teóricas, tais como a investigação
sistema de software. Significa, também, que há mais de cooperação do que de competição mutuamente excludente entre teoria e aplicação.