Should topics in applied CS be on topic? These are not really considered part of TCS, examples include:

  • Computer architecture (Operating system, Compiler design, Programming language design)
  • Software engineering
  • Artificial intelligence
  • Computer graphics
  • Computer security

Source: http://en.wikipedia.org/wiki/Computer_science#Applied_computer_science


3 Answers 3


I think the goal was not creating a site for TCS but a site for general CS (including those you have listed), so they should be on-topic.

  • $\begingroup$ Agree that this isn't for theoretical CS topics, but disagree that this automatically warrants allowing them. Programming is something CS students do, but we are explicitly now allowing programming questions because that's SO's (and others') charter. Why should we treat other subjects differently? $\endgroup$
    – Patrick87
    Mar 7, 2012 at 18:56
  • 1
    $\begingroup$ @Patrick87, I agree with what your comment to a large extent. But other than programming questions (which is arguable at least to say they are computer science) the rest are in the scope according the discussions on area51. The scope overlaps with some other SE sites and that is a issue we need to discuss (imho, it's better to leave it till after private beta). What I am saying here is that we should not forbid these more applied topics because they are not theoretical. The issue of overlapping with other SE sites needs another discussion. $\endgroup$
    – Kaveh
    Mar 7, 2012 at 19:01
  • $\begingroup$ @Patrick87 Programming is an application of computer science, true, but it's rarely a science, it's usually an engineering discipline. That's the primary reason to make programming questions off-topic here, not the existence of Stack Overflow. $\endgroup$ Mar 7, 2012 at 19:23
  • $\begingroup$ @Gilles So in those rare instances where programming is science, they will be allowed? Aren't you the one who said something about not having wishy-washy rules about what is acceptable? How can you in one breath say that software engineering should be allowed because it is scientific, but that programming should not be allowed because it is usually an engineering exercise? Does not compute. $\endgroup$
    – Patrick87
    Mar 7, 2012 at 19:34
  • 3
    $\begingroup$ @Patrick87, it does. Just as an example, if you look at this Wikipedia article, you will see that at no part programming is considered computer science. Programming methodology and programming languages are part of computer science but not programming/coding itself. $\endgroup$
    – Kaveh
    Mar 7, 2012 at 19:40
  • $\begingroup$ Exactly. To be clear: We do not want to exclude real-world programming questions because they are ontopic on SO, but because we believe that they are not what CS is about. $\endgroup$
    – Raphael
    Mar 7, 2012 at 21:52
  • $\begingroup$ There seems to be a weird premise taking hold that the areas listed as "just programming". They are so much more than that !!!! That's why they are on-topic for this site. $\endgroup$
    – Suresh
    Mar 8, 2012 at 3:59

Yes, absolutely. The site is intended to be for students, researchers and practitioners of computer science. Practitioners tend to have applied questions, and students and researchers can have applied questions too.

The border of the site is not between theory and application, but between science and engineering.

(Not that it's easy to define either way.)

(For example, “software engineering” has some scientific foundations, for example based on social studies. It's on its way towards being on-topic.)

  • $\begingroup$ Agree that the border isn't theory/application, but science/engineering. Programming is something CS students do (and not just for engineering, but - possibly - also for science), but we are explicitly now allowing programming questions because that's SO's (and others') charter. Why should we treat other subjects differently? Let this site focus on filling a gap, not swallowing up other communities. I am a practitioner of CS and I use mathematics every day, but that doesn't mean I should be asking math questions here... even if many of you could answer them. $\endgroup$
    – Patrick87
    Mar 7, 2012 at 18:59
  • $\begingroup$ For me, the separation between science and engineering is less problematic than between those two and programmer-on-the-job. $\endgroup$
    – Raphael
    Mar 7, 2012 at 21:53

This is a tough question, but one which, imho, must be satisfactorily addressed as soon as possible if this site is to present a unified front to the rest of the community when the site goes public.

My opinion is that the primary focus of this site should be things which can be clearly categorized as belonging to "computer science" and for which there does not already exist another dedicated SE site, possibly to the explicit exclusion of everything else (or at least that should be the basic policy position).

To see what I mean, let's look at your examples. Software engineering is being discussed in another Meta thread, and I state my opinion there: that the charter of Programmers.SE already explicitly permits discussions relating to all aspects of software engineering, and as such, there is no reason to encourage software engineering experts to leave Programmers and come here. That's ignoring the argument that the distinction between "computer science" and "software engineering" seems to be getting increasingly important and recognized. Lots of subjects are closely related, but that doesn't preclude having separate SEs for them.

There are already SE sites for IT security and cryptography; anything that can't be answered there is probably either mathematics, system administration or research-level theoretical computer science. If it's a programming issue, SO, codereview and codegolf probably have it covered. I see no value in adding another place to ask questions about computer security.

Regarding Computer Architecture, there is a site proposal in Area 51 (http://area51.stackexchange.com/proposals/19424/computer-architecture-organization), and to some degree I think that superuser.SE and serverfault.SE might already handle some questions... I do not necessarily see a lot of value in encouraging these kinds of questions on this site. That being said, there are of course computer science questions which arise in the study of these things (such as dining philosophers, optimality of scheduling algorithms, rules governing speedup of parallel computations, etc.) which would be more appropriate here than there. This is a different scenario from e.g. formal methods and software engineering, since formal methods are inherently a part of software engineering, whereas e.g. the dining philosophers problem is not a part of operating systems, per se, although it is used (as is mathematics, for instance).

AI seems to be waiting to see how this site goes, so I feel like it's fine to allow questions in this area until they decide what they're going to do. After all, we won't know whether we can attract an AI community here unless we allow such questions.

As far as computer graphics is concerned, I'm not sure how many genuine CS questions you can ask about this that wouldn't be programming-related or essentially mathematics (geometry, linear algebra, etc.). If, however, you were to find a few (computational geometry, perhaps, or anything that meets the charter of this site), then I think it would be OK.

To sum up, I think we should have the same stance as we do with programming and SO: if there's already an established site for it, and there's no good reason why that site can't address the needs of that community, there's no reason to allow it here. We can certainly allow it anyway, although there's no reason to encourage it. Doing so would hurt more than help, in my opinion.

  • 5
    $\begingroup$ The existence of other sites is not a strong argument for deciding what's on-topic here. We need to have a reasonable boundary, not something like “applied questions except in crypto and we'll remove computer architecture if a specific site comes up”. It is acceptable to have some overlap between Stack Exchange sites, for example Ask Different and Super User and Unix & Linux (all three accept many questions about Mac OS X), Literature and Movies & TV and Science Fiction & Fantasy (SF books/movies are on-topic on two sites). $\endgroup$ Mar 7, 2012 at 19:21

You must log in to answer this question.

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