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. There are many different techniques today that software engineers use for CT such as: Decomposition: Breaking a task or problem into steps or parts. Pattern Recognition: Make predictions and models to test. Patten Generalization and Abstraction: Discover the law, or principles that cause these patterns. Algorithm Design: Develop the instructions to solve similar problems and repeat the process. DECOMPOSITION Part of being a computer scientist is breaking down a big problem into the smaller problems that make it up. If you can break down a big problem into smaller problems, then you can give them to a computer to solve. For example, if I gave you a cake and asked you to back me another one, you might struggle. But if you watched me making the cake and worked out the i...