What is Computational Thinking?
Computational thinking is a high level thought process that considers the world in computational terms. It begins with learning to see opportunities to compute something, and it develops to include such considerations as computational efficiency, selecting appropriate ways to represent data, and making approximations. A person skilled in computational thinking is able to harness the power of computing to gain insights. Computational thinking is not programming. It is a thought process that can be brought to bear not only in programming but also in a wide array of other contexts. It relates to mathematical thinking in its use of abstraction, decomposition, measurement and modeling, but is more directly cognizant of the need to compute and the potential benefits of doing so.
The International Society for Technology in Education (ISTE) and the Computer Science Teachers Association (CSTA) put forth an operational definition of computational thinking that captures much of our thinking in VCTAL. The ISTE/CSTA definition for Computational Thinking is quoted below.
 "Operational Definition of Computational Thinking for K-12 Education", International Society for Technology in Education (ISTE) and the Computer Science Teachers Association (CSTA), 2011