When it comes to logical circuits, where does computer science stop and electrical engineering start? Computer architecture studies logical circuits, logic gates and so on in an abstract way. If you start going to the level of transistors, you veer into electrical engineering. Where's the limit?

Case in point: is Why S=1, R=1 Is forbidden in RS-Flip Flop on-topic here?

(Whether it's on-topic on Electrical Engineering isn't in debate here, the question is what is on-topic on Computer Science.)

  • $\begingroup$ While the distinction can be a bit fuzzy, I feel it is fair to punt the question over to EE. Sure, CS students take a course in computer architecture, but they may also take one in software engineering--which would be clearly off-topic here. Basic understanding is necessary for CS students; however I don't see it as a discipline of CS itself. $\endgroup$ – Nicholas Mancuso Mar 27 '13 at 2:15
  • 5
    $\begingroup$ @Nicholas, software engineering is not off-topic here! Neither is computer architecture. Both are part of CS. See Wikipedia or ACM computing subject classification or arXiv tags for CS. And based on previous meta-discussions they are part of the scope of Computer Science. $\endgroup$ – Kaveh Mar 27 '13 at 2:54
  • $\begingroup$ @Kaveh, that is true, but wouldn't SO or programmers.SE be a better fit for software engineering questions? Along those lines I feel that architecture questions may be better suited for the EE or CompE site. $\endgroup$ – Nicholas Mancuso Mar 28 '13 at 19:00
  • $\begingroup$ @Nicholas, depends on the question. If it is an engineer question and the OP wants an answer from that perspective then probably it is more suitable there, if not then they might be more suitable for Computer Science. Take for example programming languages. For example, a question about C++ can be an engineering/programming question (more suitable for Stack Overflow and off-topic here) or a computer science question in programming languages which is more suitable here. $\endgroup$ – Kaveh Mar 28 '13 at 22:11

The way I was taught -- yay, one data point! -- questions about how to build CPUs from (abstract) gates (and that includes flip-flops) is part of computer architecture.

Construction or physical properties of gates, on the other hand, would be offtopic.


My view is that computer science starts just after the level of flip-flops. It is oblivious to whether the computer is implemented using electronics or, say, optically. I think we can all agree that a discussion of MOSFET is inappropriate here. While flip-flops are one level above this, it is still one level below even CPU implementation.


I don't think there is a clear hard line where computer science ends and electrical engineering starts, as there is no clear hard line where CS ends and say mathematics starts. CS by its nature is very interdisciplinary. CS.SE shares scope with many other sites: Math.SE, Crypto.SE, CompSci.SE, Stats.SE, etc. EE.SE is just one of these.

Computer architecture and logical circuits are clearly part of CS topics, they are part of ACM undergraduate curriculum, they are topics that computer scientists study, use, and do research on. I don't see why we need or would like to forbid questions in them on CS.SE (other than personal preference or interest in topics).

There are many sites that share scope and that is fine: different communities can have a different perspectives on the same question. The question is a CS question and can be answered by a computer scientist, so I think it is on-topic.

ps: as a reminder for people who have not followed previous meta discussions about scope, although we have many TCS question the scope of CS.SE is not just TCS, its scope is CS generally, including Computer Architecture, Software Engineering, Computer Networks, AI, Computer Security, etc.


In my opinion, that question is very borderline. While logic circuits are ON-TOPIC, the focus of CS is about the function they compute and the resources it takes.

The question we discuss was going to the region of low-level implementation, where the main issue is implementation and stability, issues which are not really CS. (For instance, there are several implementations for SR-FF, one with NANDs, one with NORs, and probably others. The answer to the OP's question might differ according to the specific circuit)

Not any logic-circuit is on-topic for CS. For instance, a "loop" containing two NOT gates (an unstable oscilaotr) may give EE people plenty to discuss, but is quite meaningless to the CS point of view.

On the other hand, it's tough to set rules. Computer-Engineering as a field, is joint EE and CS. Some questions about gates and flip-flops should be allowed, and we should trust the community to vote off/on topic accordingly.


A good rule of thumb in these situations may be whether the question and (good) answers can be written without invoking (or relying upon) laws of physics.

As such, I think the question that spawned this discussion is either on-topic, or very close to being on-topic. If anything, some clarification about the construction of this flip-flop in terms of basic logic circuits is in order.

While I agree with the other answers that there's not a clear line between what's on-topic and what's off-topic, I think it's better to come up with some rule and try to encourage its consistent application, than to debate the scope of the site as has been done. We either draw an (arbitrary) line in the sand, or we just let the community sort it out (a mechanism which may be more in line with the spirit of SE, but which is less consistent with our historical approach to determining what's on-topic).


interesting question! to the contrary of some other answers I would point out that low-level physics plays an at-times surprisingly significant role in some areas of TCS. see eg high voted Q&A [1],[2]. physics plays a big role in quantum computing also, such as even at the level of looking at noise in gates, and error correction. theres an outstanding debate by kalai & harrow on the subj on the lipton blog.[3] and TCS studies circuits in a big way with circuit lower and upper bounds. so TCS can be surprisingly low-level. in some ways it seems to be becoming more physical all the time. even deep problems like P=?NP might be related to thermodynamics in the sense its about work and energy.[7]

the borderlines can get a little blurry at times but imho thats one of the cool features (not a bug!) of highly interdisciplinary (T)CS! so suggest these questions be dealt with on a case-by-case basis. & trust a little the collective intelligence and wisdom of crowds in the voting reflecting relevance.[4][5][6]

[1] physics results in TCS

[2] what is the volume of information

[3] perpetual motion of the 21st century?

[4] Reinventing discovery by Nielsen

[5] Wisdom of crowds by Surowieki

[6] References on collective intelligence with respect to CS applications

[7] formal notion of energy complexity for computational problems


You must log in to answer this question.

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