Google for education - Computational thinking

https://www.google.com/edu/programs/exploring-computational-thinking/#!resources

Computational thinking (CT) involves a set of problem-solving skills and techniques that software engineers use to write programs that underlie the computer applications you use such as search, email, and maps. However, computational thinking is applicable to any subject. Students who learn computational thinking across the curriculum begin to see a relationship between subjects as well as between school and life outside of the classroom.

Specific computational thinking techniques include: problem decomposition, pattern recognition, pattern generalization to define abstractions or models, algorithm design, and data analysis and visualization.