Computational thinking is a kind of analytical thinking. It shares with
mathematical thinking in the general ways in which we might approach solving a
problem. It shares with engineering thinking in the general ways in which we
might approach designing and evaluating a large, complex system that operates
within the constraints of the real world. It shares with scientific thinking in the
general ways in which we might approach understanding computability,
intelligence, the mind and human behaviour.