This Google blog explores the relationship between computational thinking as a problem solving model in K-12 computer science education, and the dispositions or habits of mind that it can build in students of all ages. Computational thinking is an approach to solving problems in a way that can be implemented with a computer. Students become not merely tool users but tool builders. They use a set of concepts, such as abstraction, recursion, and iteration, to process and analyze data, and to create real and virtual artifacts. Computational thinking is a problem solving methodology that can be automated and transferred and applied across subjects.