Computational thinking does rely on the fact that a problem, ultimately, must be
implemented in a mechanical setting (a computer), and the solution must be output from
this mechanical setting; but between the problem statement and its implementation in a
program lies a wealth of heuristics, creative thought and transformation, and it is that
ground between problem statement and compiled program which computational thinking
covers.