A #field in #ComputerScience
Computability Theory deals with answering the question: What can be done with a computer?. It studies computational models, estabilishing their possibilties and limitations.
The core concept in computability theory and the most important computational model is the Turing machine, an abstract computer model that we define to study the properties of computation and computable problems irrespective of any concrete machine our current technology supports.
Turing machines let us answer which kinds of problems are, in principle, undecidable problems —which means that no algorithm can ever be devised to solve them completely. Surprisingly, there are many of those, not all esoteric; there are very practical problems in Computer Science that we know are mathematically impossible to solve. Turing machines also give a precise definition of algorithm.