# What kinds of computer engineering do we consider computer science enough to be on topic here?

We've had several discussions about where to draw the line between mathematics and computer science, but I think we have put less thought into where to draw the line between computer engineering and computer science (or between "systems" and "theory" for that matter.)

Here are some recent questions that might provide food for thought:

Given an engineering question, is it on topic in cs.stackexchange?

How do you decide? "Hardware" vs. "software"? There is/isn't a theorem to be proved? The underlying algorithm is personally interesting to you? There's another stackexchange site that might be a slightly better fit? Is there a place for a non-specific computer science site, or should we break off a whole bunch of sub-topics (cryptography, numerical methods, software engineering?) (Related: Should we send all questions about fourier transforms, filtering, machine vision and image processing to dsp.stackexchange.com?) Do you think there should be a policy, and if so, which?

(Format of this question shamelessly plagiarized from this meta question by @Raphael.)

• Is there really a problem? Have we run into unclear cases frequently enough that this is worth worrying about in the abstract? It seems like this might be ultimately very fact-specific; and given the small number of difficult cases, I'm not sure it is worth trying to work out a general policy.
– D.W. Mod
Aug 29 '13 at 8:35
• My sense is that we've closed and/or migrated more systems questions than we have mathematics questions in the last year, but I could be very wrong as I have no data. Aug 29 '13 at 12:01
• Note this older question this one may be a duplicate of. I stand by my answer from back then; I think the guideline applies to other hardware.
– Raphael Mod
Aug 30 '13 at 13:35
• @WanderingLogic That would not be surprising. One can safely do CS without EE, cutting off reality at a certain level. CS without mathematics is going to be tough as mathematics permeates all "levels of abstraction" in CS.
– Raphael Mod
Aug 30 '13 at 13:36

Anything classically considered computer science is OK for CS.SE. For instance:

• Operating system is on-topic.
• Computer architecture is on-topic. (Note that this might potentially include some questions that could be classified as "hardware", so one implication is that I'm arguing that the "hardware vs. software" distinction probably isn't the right one.)
• Software engineering is on-topic.
• Machine vision, image processing, etc. are on-topic.

Questions about electrical engineering are most likely off-topic for CS.SE.

In practice, this often seems pretty clear-cut. It seems to be rare that we've come across truly difficult cases, and I'm not sure a general policy would have helped. Overall, I'm not convinced that it's worth our effort to try to devise a general policy.

So, I don't think a general policy is needed.

P.S. There might be some areas that are on-topic for both this site and for another site: e.g., machine learning (spans both CS.SE and Cross Validated.SE), cryptography (see also Cryptography.SE), security (see also IT Secruity.SE), signal processing (see also DSP.SE), research-level questions in theoretical CS (see also TCS.SE). That's OK. I don't think we should declare a question to be off-topic here just because it would also be on-topic on some other StackExchange site. That's not the right criteria to use for judging our scope.

• I think the hardware-software distinction is close to being the right one. However, there's a finer distinction to be made. Hardware might as well be perfectly on-topic here, so long as the question would be basically the same if the hardware were to function by way of a bunch of tiny clowns running around at high rates of speed. Any question that relies on further assumptions is probably a physics/engineering question. Aug 30 '13 at 16:03
• I think that hard core cryptography questions (as example) should really be migrated to crypto or closed. It's pretty strange to find questions here that fit completely within cryptography or even crypto-analysis. Those Q/A may be harder to find here than on crypto. Feb 3 '15 at 17:13
• @MaartenBodewes, I understand your perspective. I can see both sides, but here's what I'm inclined to suggest. I think in that situation it's probably best to ask the original poster first before migrating. If the original poster is OK with migrating, then it's fine to go ahead and migrate. And I agree that for hardcore crypto questions they are far more likely to get a good answer over on Crypto.SE, so hopefully they'll be OK with it. However, I'm not sure we should forcibly migrate those questions off CS.SE against the poster's will or declare them off-topic.
– D.W. Mod
Feb 4 '15 at 0:38
• Oh well, as long as they can be found by general search that's OK I guess. It's not like that there is a good policy on SE about this anyway (and if there is, it's not working well). The answers here are probably more informative than those on stackoverflow (I cannot seem to keep the bad crypto out over there) as some of the experts are operating over here as well. Feb 4 '15 at 0:48

The purpose of this website is to provide answers to questions. I don't think a question being on- or off-topic should be a concern. Rather, we should be concerned that the best available answer is given.

If you can give that answer as a CS person, then the question has clearly reached a suitable audience, and the question-answer exchange was a success.

If you can give a partial answer, even if that partial answer is only, "This other StackExchange site would give you better answers than we here can provide," then the question-answer exchange was a success.

"We don't answer that kind of question here" is not an answer. Furthermore, it makes the site look exclusive and unwelcoming. It makes the poster look like kind of a jerk. I grimace every time I see it.

In response to D.W.'s comment, let's consider the question titled "Who serves the best pizza in San Jose?" with regard to the utility costs/benefits to StackExchange as a whole. Let:

• c be the non-negative utility cost incurred by a user taking the time to Click on the question, read it, and formulate a response.
• a be the utility benefit granted by a question being Answered.
• d be the utility benefit granted by Discouraging future low-value questions, thus not wasting productive members' time

As a user contributing to StackExchange I have a number of strategies to employ:

• s1 = 0. I take one look at that title and never even click it.
• s2 = a-c. Well this is an easy question. Grande Pizzeria-Ristorante on 4th and San Carlos.
• s3 = d-c. I take the time to reply, by saying that they should not be posting such a question.
• s4 = a+d-c. I reply that while I believe Grande Pizzeria-Ristorante on 4th and San Carlos is best, pizza is not my expertise and they may be better served asking on http://pizza.stackexchange.com/

Clearly s3 is only viable if d>c. But, the value of d is dependent on this strategy actually causing productive StackExchange members to spend less of their time on low-value questions. If the vast majority of users employ s1, then d's value is negligible, giving s3 a negligible if not negative value. If even one user employs s2, then the discouragement d is zeroed (or at least made negligible), which again makes s3 a negligible if not negative value.

In choosing between s2 and s3, is d>a? Probably not. Future arrivals are almost certainly not going to search for the pizza question and decide against asking a beer question; we can expect d to near-zero. Granted, a is also very low in value because it is improbable anyone is going to reference cs.stackexchange.com for their own pizza questions, but at least someone's getting good pizza tonight.

s4 slightly raises our c, but is nonetheless going to be better than either s2 or s3. Is it better than s1? That depends on how big c is. For a pizza question, I can whip out an s4 response in 20 seconds. For a computer engineering question, I could spend hours or even days trying to figure it out (an s4 response), or I can give them my immediate thoughts and a link to the computer engineering StackExchange (also an s4 response, but with a much lower c).

Nowhere in this does a response like "Sorry this is CS and that's not a CS question" look valuable. Especially when you consider that there is a hidden cost: it makes us look like not-nice people :(

• At some point, we have to draw a line about what is on-topic or off-topic. (A question like "As a CS person, who is your favorite rock band?" is clearly off topic; the fact that asking here reaches a CS audience does not make it a suitable question for this site. Similarly, a question like "Who has the best pizza in New Haven?" or "How do you construct a wooden dresser using just a chisel and saw?" is off-topic, even though I know some computer scientists who could give you possibly the best available answers to it.)
– D.W. Mod
Sep 1 '13 at 7:40
• "Furthermore, it makes the site look exclusive and unwelcoming." -- so when you enter a post office and ask for bananas, you expect an answer other than "Sorry, we don't sell bananas here!"? I don't think that mindset is helpful here.
– Raphael Mod
Sep 2 '13 at 10:01
• Regarding your example, let's ignore that such a question would be burned anywhere on the SE network (excluding maybe Travel) because it is too localized. Then, how do you prevent that a small San Jose tourist guide section starts up, all because some useful answers about pizza and sushi places start ranking on Google and one or two helpful, open-minded and un-jerky users keep answering new questions of the same kind?
– Raphael Mod
Sep 2 '13 at 10:04
• That said, my experience has been that people who are offended when being told in a neutral way that they have made an error are not the kind of people that come back and contribute to the community. So why should we make an effort -- potentially risking the integrity of our site -- to appease these folks?
– Raphael Mod
Sep 2 '13 at 10:06
• Presumably, if your answer states that the best answer can be found at elsewhere.stackexchange, such followups would go there instead. Otherwise, you might find less and less value in answer such questions; a shrinks, while d has proven nonexistent. The s1 strategy becomes the Nash equilibrium, and you simply skim past the rash of pizza questions. Or you might even have discovered that there is sufficient demand for a pizza.stackexchange :) Sep 2 '13 at 18:36
• Here's another tack. Like many CS degrees, mine has classes both required and optional in electrical eng., software eng., info.sec., computational sci., etc etc - all of which use the CS prefix. So I think, "hmm, there's a cs.stackexchange, that might be a good place for all this!" Then I see an answer to such questions saying, "Sorry that's not what cs.stackexchange is about." I think about all the dedicated CS students I've tutored over the years, and how many of them would simply turn around and leave. That seems like a problem to me! Sep 2 '13 at 18:58
• @AndrewKalenda, is this a real or hypothetical problem? If it is a real problem, can you give examples of questions about computer science where askers were turned away and told it was off-topic? (P.S. Many CS degrees involve some required courses in the humanities, but that doesn't mean that questions about humanities would be a good fit for this site.) (P.P.S. If the class was about, say, electrical engineering but had a CS prefix, then maybe you should talk to the schedulers at your school who gave it a CS prefix. We can't be responsible for the prefixes that some random schools uses.)
– D.W. Mod
Sep 9 '13 at 1:51