The question Are questions about the presentation of algorithms on topic here? makes a good point that our FAQ talks mostly about what is off-topic. We should include examples of what is on-topic. Any suggestions? I'd like to make the list comprehensive enough so that new users have some idea of what's in scope, which could help drive traffic.
I prefer a blacklist to a whitelist. Comp Sci is too diverse to preclude questions a priori. A whitelist can deter newbies from asking perfectly appropriate questions. I think it is a good process that, each time a questionable question surfaces, there is a discussion and a consequent conclusion and FAQ amendment. It demonstrates due diligence by our community towards our needs.
Examples of on-topic questions are a good guideline, but then again the list of active questions with many votes serves that prupose quite well. The FAQ need only refer to these ("Good examples of questions can be found ... ").
Motivated by Deathbreath's answer, I think a list of allowed questions is fine, but we shouldn't treat it as a set of strict rules for topicality. I'm sure most people here have some already-conceived notion of what sorts of questions are on topic and what sorts are off topic, and all those notions collectively define the scope of the site, but not in a way that we necessarily know how to write down. The FAQ is meant to contain the best written approximation to the actual scope of the site, an approximation that will necessarily improve over time.
That being said, here are some (rough) categories of questions which seem to be on topic here:
- Questions of the form "Is there an algorithm to accomplish X?" where X is some scientific task
- Questions about the implementation of an algorithm, when they stem from ambiguity in the algorithm description rather than from unfamiliarity with the programming language
- Questions about understanding the meaning of some piece of an algorithm
- Questions about resource requirements of algorithms for scientific tasks, including how to optimize resource usage by choosing an appropriate algorithm
- Recommendations of libraries for complex scientific tasks
- Questions about batch processing systems
- Questions about general principles of data visualization
- Questions about advanced usage of major scientific software systems
This could probably be condensed into a few general areas, namely scientific algorithms, scientific software, and data visualization. Of course there are probably other categories of on-topic questions.
One thing that I think there may be split opinions over is basic usage of scientific software systems, such as "How do I create a bar graph using matplotlib?" or "How do I solve a differential equation in Mathematica?" There are certainly valid arguments for having those questions here, but a lot of them can be handled at other SE sites so we would have to decide how to handle overlap with those sites.