Skip to main content
Share Your Experience: Take the 2024 Developer Survey

Theoretical Computer Science Stack Exchange is a Q&A site for professional researchers in theoretical computer science and related fields. We welcome research-level questions in theoretical computer science (TCS).

What do you mean by "research-level question"?

Although there is no black-and-white distinction between research-level questions and non-research-level questions, questions are considered to be "research-level" roughly when they can be discussed between two professors or between two graduate students working on Ph.D.'s, but not usually between a professor and a typical undergraduate student. It does not include questions at the level of difficulty of typical undergraduate course/textbook homework/exercise.

What do you mean by "theoretical computer science"?

For an explanation of what TCS is, we refer you to the description of ACM Special Interest Group on Algorithms and Computation Theory (SIGACT):

TCS covers a wide variety of topics including algorithms, data structures, computational complexity, parallel and distributed computation, probabilistic computation, quantum computation, automata theory, information theory, cryptography, program semantics and verification, machine learning, computational biology, computational economics, computational geometry, and computational number theory and algebra.

Work in this field is often distinguished by its emphasis on mathematical technique and rigor.

My question is not a research-level question in TCS, where can I ask it?

For questions other than research-level questions in TCS, you may want to consider the following places to ask:

Questions should be based on knowledge sharing, not on shirking

You should only post questions you're actually seriously thinking about. Users are expected to do their part and try to answer their question by themselves before posting them on cstheory and asking for help from others. Search to see if your question is already answered somewhere else (e.g. Wikipedia) before asking a question. Try to make your question interesting for others by providing some background knowledge. Remember, questions should be based on knowledge sharing, not on shirking. Shirking goes against the spirit of the site.

Tips about writing better questions

Please also check our list of useful resources before asking a question.


Currently we have two separate lists of FAQs. See also the longer Official Theoretical Computer Science FAQ. Some of the most important entries in the other FAQ are:

For more help on what types of questions are appropriate, see "What types of questions should I avoid asking?"

Please look around to see if your question has been asked before. It’s also OK to ask and answer your own question.

If your question is not specifically on-topic for Theoretical Computer Science Stack Exchange, it may be on topic for another Stack Exchange site. If no site currently exists that will accept your question, you may commit to or propose a new site at Area 51, the place where new Stack Exchange communities are democratically created.