And why do we need to teach it?
Computational Thinking (CT) can be defined as “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” [Wing, 2014]. This definition includes the main characteristics of CT: 1) the solution can be computed by a human or machine, 2) CT can be learned without a machine, and 3) CT does not concern only problem solving, but also problem formulation. CT has been recognised as “one of the fundamental skills desired of all graduates” [ACM, 2013]. To this end, focusing on high school is a good start but may not be the ultimate goal. Instead, motivational concerns need to be addressed in a early age of a child.