The field is divided into three major branches: automata theory and languages, computability theory, and computational complexity theory, which are linked by the question: "What are the fundamental capabilities and limitations of computers?".
Domeniul este împărțit în trei ramuri majore: teoria limbajelor formale și automatelor, teoria calculabilității și teoria complexității, care sunt legate de întrebarea: „care sunt capabilitățile fundamentale și limitările calculatoarelor?”.