Ability to Engage in Abstraction
This is commonly cited as by far the most fundamental skill involved with
computational thinking, and it is at the base of most if not all other skills
involved. The ability to engage in abstraction involves (but is not limited to) the
ability to generalize, compartmentalize, move between levels of abstraction, and
understand and apply recursion.