CS
The study of computation — what can be computed, how efficiently, and with what resources.
The study of computation — what can be computed, how efficiently, and with what resources.
Two foundational questions: "is this problem solvable?" (computability theory) and "how many resources does it take?" (complexity theory)
Core abstractions: algorithms, data structures, formal languages, automata, Turing machines.
The Church-Turing thesis (1936): any function computable by an effective procedure can be computed by a Turing machine — defines the boundary of what computation can do.
In ML: neural networks are universal function approximators (Cybenko 1989), but training them is a different question from whether the function exists. The gap between "a solution exists" and "we can find it" is the gap between computability and complexity.