Is my question suitable for cstheory?
Theoretical Computer Science - Stack Exchange is a Q&A for
professional researchers in theoretical computer science and related fields.
We welcome research-level questions in theoretical computer science (TCS).
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.
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.
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.
Checking if your question is on-topic
You can check if if your question is on-topic cstheory by answering the following questions:
Do you have a good reason to think that
your question is likely to receive a satisfying answer
from theoretical computer scientists?
Do you have a good reason to think that
answering your question requires
the expertise of professional researchers in theoretical computer science?
If your question can be answered
by the knowledge of undergraduate/introductory textbook/course on the topic
then it is off-topic for cstheory.
Your question might be suitable for
our sister site Computer Science - StackExchange
which has a broader scope.
Do you know the basics of the topic that your question is about
(at least at the level of an undergraduate/introductory textbook/course on the topic)?
If not, please consider learning the basics before posting your question on cstheory.
Note that if you post a question without knowing the basics
it is likely that you will make a basic mistake.
Therefore you should expect your question to get down-voted and closed,
possibly without any further explanation.
If yes then cstheory can be a good place to ask it.
(e.g. an expert in some other topic is more likely to
answer the question in a satisfying manner for you, or
there is no reason to believe answering the question requires the expertise of
professional researchers in theoretical computer science)
then probably not.
It can be good to think about these and include your answers to them in your question.
It will show us that you have thought about the suitability of your question for cstheory.
It can also act as motivation for your question,
which can make it more interesting for us.
Spend time to formulate and write your question clearly.
When you ask a question you are seeking help from us,
you are asking us to spend time to read and think about the question.
We expect you to ask only questions that you really care about,
not out of idle curiosity.
If you care about your question
you should spend time and effort on it,
the effort correlates with the quality of the question.
If you want us to spend our time on your question,
you should have spent enough time on it.
In summery, we expect you to spend time doing your part
before asking others for help, e.g.
Try to answer your question yourself first
(Google, Wikipedia, Complexity Zoo, etc.)
before asking us,
Spend enough time thinking about your question to be able to
formulate it clearly and in a way that can be answered,
i.e. you should know what you are looking for,
Spend time on formulating your question
using the language and terminology of theoretical computer scientists correctly and
following the norms of their community,
Spend time to write your question
in a clear and easy to understand format for theoretical computer scientists.
FAQ contains more tips about writing better questions.