Elements of Computational Thinking
The previous chapter provided some general information about the fundamentals of computer science. In this chapter, we will focus more closely on understanding computational thinking and the elements that make up computational thinking: decomposition, pattern recognition, pattern generalization or abstraction, and algorithm design.
The importance of the computational thinking process cannot be understated. Through this process, we analyze problems to design the best possible solutions based on a set of conditions. Although many algorithms can be written to answer the same questions, using the computational thinking process helps us to determine the optimal path to take to design a clear algorithm that can be generalized. We don’t always use all the steps of the computational thinking process, and sometimes we use them multiple times as we iterate on the problems and algorithms, but having that framework allows us to formulate better solutions...