What topics can I ask about here?

Computer Science Stack Exchange is for students, researchers and practitioners of computer science.

Computer science, also sometimes called computing science, is the science of computation and its applications. This site covers theoretical and applied computer science at any level, including but not limited to:

  • algorithms, models of computation
  • programming language semantics, formal methods
  • computer architecture, networks
  • machine learning, artificial intelligence, knowledge representation, natural language processing
  • vision, graphics

The following topics are usually not suitable for this site:

  • Programming questions are off-topic here, even if they're homework from a class in a computer science curriculum. You may ask on Stack Overflow.
  • Questions about how a particular piece of software or hardware works aren't science (unless you're asking about the scientific concepts behind that software or hardware). You may ask on Super User or other appropriate technology sites.
  • Questions about numerical computation are often more appropriate for Computational Science Stack Exchange.

Please look around to see if your question has been asked before. It’s also OK to ask and answer your own question.

If your question is not specifically on-topic for Computer Science Stack Exchange, it may be on topic for another Stack Exchange site. If no site currently exists that will accept your question, you may commit to or propose a new site at Area 51, the place where new Stack Exchange communities are democratically created.

For more help, see "What types of questions should I avoid asking?"