We are now in the third day of private beta with a couple of questions. That is great.

However, most of questions here so far are about CS theory, which already have a full-grown site. The overlap is not a problem per se and is expected. However, if we continue this way, I fear that we could not survive the beta phase due to being a duplicate community and ending being absorved by cstheory with many questions migrated to there, even if cstheory widens it scope a bit in the process.

So what should we do to show to be significantly distinct from cstheory and get some a community personality instead of just being a smaller duplicate of cstheory with just a small handful questions that would be off-topic there?

  • 4
    $\begingroup$ This community is already different from cstheory. As Gilles points out, cstheory is for research-level questions only, while you can find questions here that are closer to undergraduate level in CS, or even questions that appear to be programming questions but are definitely not for SO. $\endgroup$ – Janoma Mar 9 '12 at 3:15
  • 8
    $\begingroup$ I personally would like to see a little bit more easy questions :). $\endgroup$ – Kaveh Mar 9 '12 at 3:28
  • $\begingroup$ @Kaveh: Yeah, there is a significant number of questions that are research-level theoretical computer science. $\endgroup$ – Victor Stafusa Mar 9 '12 at 5:17
  • $\begingroup$ Soon as the beta becomes public, I expect many "easy" and "homework" questions. If some examples are needed before the public phase begins, I can do some search in the closed section in TCS.SE or in math.SE and re-post here. $\endgroup$ – Ran G. Mar 9 '12 at 6:09
  • 1
    $\begingroup$ @Victor Could you give a few examples? As I wrote, I haven't seen any question that I would ask without reservation on CSTheory. $\endgroup$ – Gilles 'SO- stop being evil' Mar 9 '12 at 9:40
  • 2
    $\begingroup$ @RanG. I've accummulated a list of CS questions on Math/TCS/SO/ProgSE, and I might go and request some of them to be migrated in a month or so, but during the private/early public beta it would be better to post our own content (which can be inspired by anything including existing questions on another SE site). $\endgroup$ – Gilles 'SO- stop being evil' Mar 9 '12 at 9:42
  • $\begingroup$ Got a lot of very nice answers. Now I have a dilema: Which one should I accept? $\endgroup$ – Victor Stafusa Mar 12 '12 at 20:20
  • 1
    $\begingroup$ You don't really need to accept any of them - this is an open discussion, and the real "answer" will emerge from how the community treats questions on the site itself. $\endgroup$ – Shog9 Mar 12 '12 at 20:43
  • $\begingroup$ @Janoma: The better way to handle this is to simply create a tag: "graduate-level", not create a whole new site. $\endgroup$ – theDoctor Nov 28 '16 at 1:22

The core question here should be, why do we even have separate CS and CS Theory sites?

And the most convenient answers to this can be found by reading this thread on the CSTheory meta.

If you have time, please read through it before continuing here. If you're still stuck in line at the DMV after that, read this. But if you have time to read nothing else, please at least read this answer from Jukka Suomela:

Not everyone agrees with the premise that StackOverflow is exemplary and that all other sides should follow its model. I find its huge volume of traffic exhausting and daunting. It is too fast-paced for my taste. Questions are asked, very quickly answered, and then forgotten. It might work fairly well for technical programming-related questions, but it is not necessarily a model that I would like to try with theoretical research problems. I think that reasonably low volume is an important feature of this site.

While perhaps not stated in such plain language elsewhere, this seems to be the underlying theme of most answers there, and it represents a division of philosophy that arose in the SE 1.0 era (beginning with Stack Overflow) and has now been replicated and expanded on the SE 2.0 sites. There are a number of ways to describe this division, but for the purpose of this discussion I'm going to use a question...

Is a lack of existing knowledge of the field an insurmountable barrier to entry?

Stack Overflow espouses an open-arms approach: show up, ask your question, and as long as it's about programming - an extremely broad field - you'll get an answer. Doesn't matter if it's answered on page one, chapter one of Learn 2 Program in 10 Hours - they won't turn you away.

Theoretical Computer Science takes the opposite approach. Your question must be related to theoretical computer science - an already very narrow field. But it must also be a research-level question. From the FAQ:

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.

The big tent

In practice, there are questions that are considered "too basic" for Stack Overflow. But this inclusionist philosophy has had a massive influence on its reach and scope: by demanding little-to-no background from askers in any topic, SO has been able to serve a staggeringly broad base of users from different backgrounds, many of them experts in their own right but in fields that have only a tangential connection to programming.

But even more importantly, this broad scope encourages the collaborative construction of a library of knowledge useful to many who may never actively participate on the site. This was not accidental. And the success of this philosophy in achieving this goal is reflected in the numbers: 96% of visitors to the site do so because their question shows up in a Google (or other general-purpose search engine) search result. Network-wide, that number is about 87%. The vast, vast majority of people learning from the answers on these sites will never need to even sign in.

Oh... And on CSTheory? That number hovers between 40% and 50%.

The mailing list

This brings me back to Jukka's answer (quoted in part above). Even though the Stack Exchange software seems to be working fairly well for that community, this is mostly accidental - it was never designed for small, low-traffic, mostly self-contained groups of people. You can actually license the system for use on private, internal sites, but very, very few groups ever do this: not many internal organizations reach the scale necessary for it to actually work.

Indeed, CSTheory is more akin to a large mailing list or message board than it is to the sort of Q&A repository Stack Exchange was designed for. That it works at all, and has managed to establish and sustain a core group of users, is actually quite fascinating. I feel strongly that there are lessons we can learn from it and apply to other topics within our network.

That said, I must strongly caution you against attempting to replicate that philosophy here.

We're not in the mailing list business

Please let me be frank with you: this network - which is to say, the people who comprise it, not the organization funding it - cannot support a dozen sites like CSTheory, now or in the near future. And I have no desire to shut this site down, followed one after another by each of the dozen or so related proposals for niche sites. But if each one insists on trying to follow this mailing-list pattern, that is exactly what will happen. That's not a threat - it's a prediction.

So to finally answer the question, this is what you can do to make your community different from that on CSTheory:

  • Welcome beginners Computer science is a fairly large field, and folks approach it from many directions. Some make it their field of study; others make it their livelihood. Many will encounter it as part of their work or study in some other field. Don't turn them away.

  • Welcome closely-related topics Don't worry too much if a particular question seems like it's focused more on mathematics, or software engineering, or statistics. If it can be asked and answered from a CS perspective, then edit to make that clear... and then answer it. I would much rather see this site encompass topics like artificial intelligence or even computational linguistics than try to spin up separate sites. Be very careful when defining your scope to be as inclusive as possible without completely abandoning CS as the focus.

  • Strive for accessible language in questions and answers Every question need not devolve into a beginner's tutorial on the basic concepts. But questions and answers will be far more useful as a resource for others when they're written (or edited) with that in mind. Avoid ambiguity, embrace detail, and welcome questions from those unfamiliar with your particular area of interest as an opportunity.

  • Be patient with students I have a sneaking suspicion that the primary audience for this site - initially at least - will be students, from many different backgrounds and at many different points in their education. This is a wonderful opportunity, but it can also be a burden: students are often poor at asking questions, may lack sufficient background to even know quite what they're asking, and can be tempted to misuse the site as a resource for cheating rather than learning.

I can't promise a happy outcome, even if you follow these guidelines. As some of you may know, I was quite reluctant to see this site launch in the first place, and I still harbor grave doubts as to whether it can be made to work. But after much discussion, in public and internally, we decided to give it a chance.

All I can ask is that you do the same...

  • 1
    $\begingroup$ Possibly the best answer to this thread. :) $\endgroup$ – Victor Stafusa Mar 12 '12 at 20:24
  • 1
    $\begingroup$ While there's nothing in this answer that I particularly disagree with (except student's being poor at asking questions - as a student I take offense at that), I don't understand why people keep acting as if we didn't already welcome beginners. Only one beginner question has been closed (with moderator intervention no less) and that wasn't because it was too basic. And the only negative comments I've seen on beginner questions were along the lines of "This is already explained in the relevant Wikipedia article", which happens on SO as well. $\endgroup$ – sepp2k Mar 12 '12 at 20:35
  • 1
    $\begingroup$ @sepp2k: please realize, the only people who can even access this site right now are those who signed up - perhaps months in advance - to be included in the private beta. This will not be a representative sample of your audience once the site goes public. $\endgroup$ – Shog9 Mar 12 '12 at 20:39
  • 1
    $\begingroup$ I do realize that, however I don't see why that would be a problem. If we do get more beginner questions when the public beta begins (which I assume you're getting at), that can only be a good thing, can't it? As I said I don't see any indication that beginner's wouldn't be welcome here. $\endgroup$ – sepp2k Mar 12 '12 at 20:44
  • 4
    $\begingroup$ That this question was even asked is indication enough, not that the site will be unwelcoming, but that there is sufficient concern that it might be: CSTheory has a reputation across the entire network of being unwelcoming (I've more than once heard "don't recommend CSTheory, ever" given as advice to those looking to help new users). Indeed, just yesterday I encountered a long-time SO user dismissing this site in chat as useless because his CS questions would be too basic. If that isn't to be the fate of this site, that needs to be a core part of your philosophy from the start. @sepp2k $\endgroup$ – Shog9 Mar 12 '12 at 20:51
  • 1
    $\begingroup$ @Shog9 CSTheory being unwelcoming to non-researchers is part of its design. Nobody would think of saying "This site isn't for basic questions - read the FAQ" on this site because a) our FAQ says no such thing and b) this site was explicitly proposed as an all-levels-welcome alternative to cstheory, so doing such a thing would be contrary to its goal. In my opinion the fact that this question was asked is only an indication that the OP was discouraged by some comments he received about his question being answerable by reading the Wikipedia article (which again: also happens on SO). $\endgroup$ – sepp2k Mar 12 '12 at 21:00
  • 1
    $\begingroup$ We agree that it should be part of this site's philosophy to be open and friendly to beginners, but apparently we don't agree about whether or not that is already the case. $\endgroup$ – sepp2k Mar 12 '12 at 21:02
  • $\begingroup$ We'll see, @sepp... Y'all have another week to make the place look as active and inviting as possible, and if that happens we'll open the gates and see who shows up... In the end, it won't be me you have to convince. $\endgroup$ – Shog9 Mar 12 '12 at 21:03
  • 1
    $\begingroup$ I completely agree that the MO/csthoery philosophy should not be the main philosophy on this site, and I feel that others coming from cstheory also share this view. :) The goal is in no way duplicating something like cstheory, in fact we are probably more in favor of having elementary questions on Computer Science that those coming from Stack Overflow. For many of us who are not active on Stack Overflow, Mathematics and Cross Validated might be good examples to look at. $\endgroup$ – Kaveh Mar 12 '12 at 21:12
  • $\begingroup$ (ps: regarding the search engines traffic to cstheory, I think that is not unexpected. I don't know the statistics for MO or [theoreticalphysics.se] but my guess is that they are probably similar. For most research areas there are probably less than a 1000 people in the world who are interested in that area and would google for the related terms. See this comic. I am diverging, so let's go back and make an all inclusive awesome site :) $\endgroup$ – Kaveh Mar 12 '12 at 21:18
  • 4
    $\begingroup$ I agree with everything you say, but I don't find your answer very useful. You're preaching to the choir. If we wanted CSTheory, we'd know where to find it; we're here to build something more like Math.SE, with no minimum level, no entry barrier other than following the usual Stack Exchange guidelines. $\endgroup$ – Gilles 'SO- stop being evil' Mar 12 '12 at 21:24
  • 1
    $\begingroup$ I think we should not make a case where there is none. So far, we have not been pushing out newbies. We have been strict with precision (both in questions and answers), but I hope in a helpful way. Precision is (to varying extent) an integral part of CS, maybe in contrast to SO. At the end of the day, my personal mission here is to teach. This includes tolerance of mistakes, but also the demand of askers' initiative. If they won't work for themselves, I won't work for them. $\endgroup$ – Raphael Mod Mar 12 '12 at 22:42
  • 3
    $\begingroup$ @Raphael: that's fine - I want to get this out there before there are any serious problems, because Victor and others have expressed concern. FWIW, I do think we're all on the same page here, but it's important to make that an explicit, public goal. $\endgroup$ – Shog9 Mar 12 '12 at 22:54
  • 1
    $\begingroup$ @Alex: you can find my original concerns laid out here: discuss.area51.stackexchange.com/questions/3240/… That post came out of a discussion between myself and Anna Lear on the subject, with Gilles and others doing a pretty good job of convincing us it had a real gap to fill and at least a shot at working. $\endgroup$ – Shog9 Mar 13 '12 at 0:51
  • 1
    $\begingroup$ @Kaveh: here you go - meta.cs.stackexchange.com/questions/35/… $\endgroup$ – Shog9 Mar 13 '12 at 4:53

Theoretical Computer Science Stack Exchange (“CSTheory.SE”) is for

research-level questions in theoretical computer science

My eyeball evaluation is that about half the questions so far are about theoretical computer science, and I don't know that any of them are research-level.

I don't want to declare that research-level questions in TCS are off-topic here. While this would theoretically make CSTheory.SE a subset of CS.SE, I do not expect many CSTheory-type questions to be asked here, because the CSTheory community is better suited for them. I don't think we have to make any effort to differentiate this site from CSTheory, it'll happen naturally.


I suspect some of the problems come from the private beta stage, since many of the early adopters came from cstheory/math. My hope is that once the beta opens up, 'regular CS' folk will come in and start posting questions. I do agree that currently the questions are 'theory heavy' even though they're not necessarily CSTheory-appropriate questions.


I was REALLY excited when this site went into public beta because I've seriously been waiting for a forum to which I can get guidance on my CS homework as I go through my classes. Math.se has been great for the problems I have that require a mathematical answer (like when I measure time complexity, etc), but I've had problems where I need to come up with an algorithm to solve some problem, or I need to figure out how to traverse some graph or something and I never had a specific place I could go to for some guidance on these elementary (or not so elementary) problems.

I was hoping that this site would be my whit knight on horseback coming to my rescue.

As I've experience from TCS, there is an elitist attitude often experienced when in the field of computer science and things that might seem simple to one person aren't so simple I others.

So, what I'm trying to say is, I'm hoping that CS.se would become like math.se and welcome every level of computer science question so no one would feel like they need to read 3 more algorithm text books, or already have their BS before asking something.

Having said my rant, to answer the specific question (and tl;dr), this site can become extremely different from TCS.se if we start asking some relatively elementary questions and not ban a tag.

  • 1
    $\begingroup$ Banning the practice of using homework tag to label homework question is different than banning homework question altogether though, I'm pretty you you meant the latter. $\endgroup$ – Ken Li Mar 9 '12 at 23:49
  • 2
    $\begingroup$ This vision aligns with mine, I wanted a site about computer science at all levels. Theoretical Computer Science is not such a site and does not purport to be. Elementary questions are welcome here, including homework (if we ban the homework tag, it won't mean we ban homework questions, on the contrary). $\endgroup$ – Gilles 'SO- stop being evil' Mar 9 '12 at 23:59
  • $\begingroup$ Yeah I meant banning homework would make me never come to this site again lol. I don't care if a homework tag exists or not. Bit if I can't get help on my homework, I don't see a reason why I would ever come to this site. $\endgroup$ – OghmaOsiris Mar 9 '12 at 23:59
  • 1
    $\begingroup$ The FAQ says this SE is for students, researchers and practitioners of computer science. Homework questions are integral part of this site, and should be very welcome, with or without the tag. As I see it, any CS-related question that takes a CS-prof less than a day or two to solve and answer - should be placed here. Questions more difficult than that are research questions and should be on TCS. $\endgroup$ – Ran G. Mar 10 '12 at 7:42
  • 1
    $\begingroup$ Can you give any evidence of elitist behaviour on cs.SE? If not, there is probably no reason to be worried. $\endgroup$ – Raphael Mod Mar 10 '12 at 10:49
  • 4
    $\begingroup$ Well, you should check MathOverflow (not Math.SE) to be able to claim that computer science is more elitist than math. :) As someone said once, MathOverflow is for research, Math.SE is for teaching and these are quite different tasks from the perspective of a mathematician. If a student comes to ask an elementary question during a research meeting they will be treated quite differently from the time that they come to ask the same question during an office hour. $\endgroup$ – Kaveh Mar 10 '12 at 16:15

My personal reason for being quite active in this private beta is that I'd like to answer people's questions and help them in understanding Computer Science. I can't really do that on TCS, as the general level is too high (and my specialization, parsing, doesn't really come up that often).

Glancing at the list of questions so far, the list of users and their backgrounds, my guess is that a lot of people are here for the same reason. There are also people who already have questions or think they will have questions in the future, but I think nearly all of our current users are here for the long run: they don't visit this place because (using an SO example) there is some bug in their code that they can't figure out right now.

I've tried, but I can't easily come up with questions that are 'lower level' or rather, have a short answer, that I'd be actually interested in knowing the answer to, and to which I can't find the answer myself. Questions I'm interested in (just look at the questions I asked on TCS) usually turn out to be open research questions.

As an example, the question 'Are there inherently ambiguous and deterministic context-free languages?' is a question that is quite a natural and good one, but is also one I wouldn't even dream about asking as I already know the answer is 'no way'.

My guess is that quite a few people on the site have the same issues. This results in the 'higher level' questions that we've seen so far.

This can turn out to be a good thing: it means we have at least a few experts capable of answering the questions that we'll get when we get out of private beta. I guess we'll just have to see what's going to happen when we get to that stage.

In conclusion, I'm not sure if the current set of questions will be an accurate reflection of the questions that are going to be asked when we get out of private beta.

  • $\begingroup$ to get into public beta we need more questions to get (at least 5 I think) users who will have enough reputation to vote to close questions (+500?). $\endgroup$ – Kaveh Mar 11 '12 at 20:07
  • $\begingroup$ I have similar problems as you do, Alex. I guess we will have to waitfor (or rather work towards) public beta. $\endgroup$ – Raphael Mod Mar 11 '12 at 22:33
  • 2
    $\begingroup$ @Raphael and Alex: Frankly, I feel like your problem isn't so much one of not being able to come up with good elementary questions, but one of being too proud to ask a question, without any intention of answering it, to which you might already know the answer. If your goal is to contribute to the healthy growth of the beta, ask good elementary questions and provide good answers to hard questions. And "elementary" isn't black and white: make a game of asking questions and seeing if anybody here can provide a good answer. $\endgroup$ – Patrick87 Mar 12 '12 at 20:54
  • $\begingroup$ You are right, in a way. However, how can you how hard something is for us? It becomes hard to see what are good elementary questions after some time. I have been struggling with this during my TA sessions during the last year, too. Once the material is in the obvious-part of my brain it is hard to get an objective measurement of hardness. Also, I definitely feel stupid asking a question I know the answer to; it is kind of unfair towards the answerers. Should we deliberately do this, i.e. seed the beta with fake questions? $\endgroup$ – Raphael Mod Mar 12 '12 at 22:30
  • 1
    $\begingroup$ @Raphael: no, don't seed the site with fake questions. But if you can recall common questions asked by lower-level students - or problems you yourself struggled with in the past, even if you later solved them - then by all means ask them... And then let your experience in assisting others and yourself guide those answering. $\endgroup$ – Shog9 Mar 12 '12 at 22:57

You must log in to answer this question.

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