As a starting point, I was interested in András Salamon's answer to a question about the need for a TCS Stack Exchange.

Now, as a software engineer, there are a number of topics in theoretical computer science that interest me that fall into the realm of computer science (theoretical or not), but at a much simpler level than it appears many of the questions here discuss:

  • Automata Theory
  • Computability Theory
  • Computational Complexity / Analysis of Algorithms
  • Cryptography
  • Algorithms and Data Structures (probably beyond scope here - my interested is in the applied, not theoretical)
  • Artificial Intelligence (probably beyond scope here - my interested is in the applied, not theoretical)
  • Computer Vision (probably beyond scope here - my interested is in the applied, not theoretical)
  • Image Processing (probably beyond scope here - my interested is in the applied, not theoretical)
  • Data Communication (potentially beyond scope, but I can see the theoretical underpinnings being within scope)
  • Programming Language Theories (potentially beyond scope, but there are mathematical underpinnings to the design/implementation of programming languages and compilers/interpreters that would probably be within scope)
  • Models of Concurrency
  • Models of Parallel Computing
  • Models of Distributed Computing

So, my questions:

  • What difficulty of questions are acceptable? My experience in theoretical computer science is limited, but I'm still interested in the theories that underpin what I do.
  • What topics are specifically considered a subset of theoretical computer science? I'm looking for someplace where I can ask and get answers to questions in (at least a subset of) the above-listed topics, which are unarguably topics within computer science, but potentially not within theoretical computer science. If this is not the place, can someone point me to a Stack Exchange where these are potentially within scope?
share

3 Answers 3

One thing we've been trying to do is set the baseline for members of the community and visitors. However, it's possible we've been a little over enthusiastic about this. Many of the topics you list are definitely within scope here, and I should emphasize that TCS has more of an applied component than for example Mathoverflow.

I think the basic rule of thumb is: if it can be googled or found on wikipedia, then don't ask it directly. OR if the explanation there doesn't make sense, cite it and explain what doesn't make sense.

share
    
Some Wikipedia articles could benefit from editing for readability. Requests for clarification would not be all that surprising. –  András Salamon Aug 25 '10 at 21:20
    
hmm. fair enough. and those would be admissible –  Suresh Venkat Aug 25 '10 at 21:24

I think there is a trade off between being useful for researchers in the area and people outside the area, and my feeling was that we want this site to be similar to MO regarding its users, i.e. somewhat elitist, aimed at researchers working in theoretical computer science, therefore I am strongly against this site becoming a general CS QA site.

Questions from people outside theory are of course welcome, but (IMHO) only if they are interesting to theoretical computer scientists. A good question is a research level question interesting to other researchers in theoretical computer science (interpreted in board sense).

share

From your list of topics, I would say the following are almost certainly within the scope of this site:

  • Automata Theory
  • Computability Theory
  • Computational Complexity / Analysis of Algorithms
  • Cryptography
  • Algorithms and Data Structures (even some applied questions -- there are already several questions about real-world performance vs. theoretical guarantees. However, asking about the best way to implement a given algorithm is borderline. For example, "What's the best way to implement mergesort" is probably off-topic).

For the following topics, I imagine some questions would be in scope and some would definitely not be:

  • Programming Language Theories
  • Models of Concurrency
  • Models of Parallel Computing
  • Models of Distributed Computing

Finally, I'd say if you have questions that seem beginner-ish, you might want to phrase them as requests for references so that people can point you towards good articles or even textbooks, rather than vote your question as out of scope because it's too simple. Of course, if you're exploring an area, sometimes it can be hard to tell what questions are beginner-ish and which are really deep open questions, but I'm not sure there's anything we can do about that.

share
3  
Yes, the last point is a great one! –  arnab Aug 25 '10 at 19:41
    
I definitely agree that implementations of algorithms/data structures is off-topic. But given a lot of what you said, I don't think that "theoretical computer science" is a good name for this exchange - it seems that "computer science" (in its true form, not what many people associate it as today) is far more descriptive. –  Thomas Owens Aug 25 '10 at 20:20
1  
@Thomas: As you observed, "computer science" nowadays means a very wide range of things from engineering to sociology. Hence the more specific name. –  Jukka Suomela Aug 25 '10 at 20:59
1  
For a definition of Theoretical Computer Science, take a look at the scope of articles published in the journal of that name, or the Bulletin of the EATCS. eatcs.org/index.php/eatcs-bulletin –  András Salamon Aug 25 '10 at 21:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .