Skip to main content
EnglandComputer Science

AQA A-Level Computer Science 4.4 Theory of computation: abstraction, finite state machines, languages, Turing machines and complexity

A deep-dive AQA A-Level Computer Science guide to 4.4 Theory of computation. Covers abstraction and automation, finite state machines, regular expressions and context-free languages, Turing machines, and the classification of algorithms into tractable, intractable and non-computable problems.

Generated by Claude Opus 4.818 min read4.4

Reviewed by: AI editorial process; not yet individually human-reviewed

Jump to a section
  1. What 4.4 actually demands
  2. Abstraction and automation
  3. Finite state machines
  4. Regular and context-free languages
  5. Turing machines and complexity
  6. Check your knowledge

What 4.4 actually demands

Theory of computation is the most abstract part of the course. AQA expects you to reason about models of computation and about what can and cannot be computed. The topics build a ladder of increasing power: finite state machines, then context-free languages, then Turing machines, and finally the classification of problems by difficulty.

Abstraction and automation

Abstraction removes unnecessary detail to leave a usable model, in forms such as representational abstraction, generalisation, data abstraction and procedural abstraction. Decomposition breaks a problem into sub-problems, and automation implements a model as algorithms running on hardware. Together these are computational thinking.

Finite state machines

A finite state machine has finite states, a start state and transitions on inputs. Without output it accepts or rejects an input (recognising a regular language); with output (a Mealy machine) it emits output on each transition. You represent it as a state transition diagram or a state transition table.

Regular and context-free languages

A regular expression describes a regular language using concatenation, alternation (|) and repetition (*, +, ?), and is equivalent in power to a finite state machine. Regular languages cannot describe nested structures such as balanced brackets; those need a context-free language defined by a grammar in Backus-Naur Form (BNF), which can be recursive.

Turing machines and complexity

A Turing machine adds an infinite tape and a read/write head, making it more powerful than an FSM; a universal Turing machine can simulate any other, the basis of the stored-program computer. Some problems are non-computable (the halting problem). Problems are tractable (polynomial time) or intractable (no known polynomial algorithm), and heuristics find good-enough answers to intractable problems.

Check your knowledge

  1. Define abstraction. (2 marks)
  2. State the difference between a finite state machine with and without output. (2 marks)
  3. Write a regular expression for one or more digits. (1 mark)
  4. State one kind of language a regular expression cannot describe. (1 mark)
  5. State the key feature that makes a Turing machine more powerful than an FSM. (1 mark)
  6. State what a universal Turing machine can do. (1 mark)
  7. State the difference between a tractable and an intractable problem. (2 marks)
  8. Explain why heuristics are used for intractable problems. (2 marks)

Sources & how we know this

  • computer-science
  • a-level-aqa
  • aqa-computer-science
  • theory-of-computation
  • a-level
  • finite-state-machines
  • turing-machines
  • regular-expressions
  • complexity