How it works
Studying computer science and not sure which corner of it is yours? Press the button for a kind of computer scientist, from algorithms to human–computer interaction.
Read the full guide
Thirteen headings for the whole field
The 2012 ACM Computing Classification System sorts computing research under 13 top-level headings. Among them are theory of computation, networks, software and its engineering, information systems, security and privacy, human-centered computing and computing methodologies.
The question behind the theory
Wikipedia divides the theory of computation into three major branches: automata theory and formal languages, computability theory, and computational complexity theory. One question links them: what are the fundamental capabilities and limitations of computers?
Questions and answers
What are the different types of computer scientists?
They are named for a field. Theorists study algorithms and what can be computed. Systems researchers study operating systems, networks and computer architecture. Others work on artificial intelligence, data, security, graphics, or how people use computers.
How do I know what type of computer scientist I should be?
Notice which questions hold your attention. If you like proofs, look at theory. If you like making machines cooperate, look at systems. If you like finding patterns, look at machine learning. If you like watching people use software, look at human–computer interaction.
Is a computer scientist the same as a software engineer?
Not quite. Wikipedia describes computer science as the study of computation, information and automation, and software engineering as the branch focused on designing, developing, testing and maintaining software applications.
Which computer scientists work on artificial intelligence?
Machine learning researchers study algorithms that learn from data. Computer vision researchers work on understanding digital images, natural language processing researchers on human language, and roboticists on the design and use of robots.