There have been many independent questions about whether things are on/off-topic, but I think that we should be explicit at this point about our scope. The wikipedia article on TCS could provide a good starting point for discussion.
Wikipedia starts broadly (A):
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.
Then the core wikipedia list is (B):
- Mathematical logic
- Automata theory
- Number theory
- Graph theory
- Type theory
- Category theory
- Computational geometry
- Quantum computing theory
Another list taken from Challenges for Theoretical Computer Science defines it as covering (C):
- Cryptography and Security
- Combinatorial Algorithms
- Computational Geometry
- Parallel and Distributed Computing
- Complexity Classes
- Lower Bounds
- Logic, Semantics, and Programming Methodology
- Learning Theory
- Statistical Inference
I'm inclined to think that none of these are perfect. (A) is too broad, (B) includes some fields that may already be sufficiently served on MO, and (C) is close but has some things that don't seem to fit here (statistical inference?) and doesn't includes others (quantum computation).
I propose the following: we should put together a list of subfields that is appropriate for the site, give them unique tags, and then add them into our FAQ. This will reduce any lingering confusion.
Alternatively, we can let this be a community driven decision based on what is asked and accepted over time.