"Computational thinking is the thought processes involved in formulating a problem and expressing its solution(s) in such a way that a computer—human or machine—can effectively carry out.
Computational Thinking is an iterative process based on three stages:
Problem formulation (abstraction);
Solution expression (automation);
Solution execution and evaluation (analyses).
An example of abstraction:
The Driver's Handbook states: "Uncontrolled intersections and four-way stop intersections - If you reach the intersection at the same time as another vehicle, yield to the driver on the right." To create a computer simulation of a four-way stop intersection, you may use four queues (waiting lines) for the traffic approaching from each direction (with known random frequency of arrivals and known frequency of turns at the intersection) and a fifth queue for the (up to) four vehicles currently at the stop signs.