# Computational Thinking (by Yanchang Li)

The term "Computational Thinking" was proposed by Seymour Papert and broaden by Jeannette Wing to describe the skill that solving problems as computers do[1]. With computational thinking skill, human can create computer algorithms to solve problems. There are four keys for computational thinking. The first one is Decomposion, which break down complex problems into simple ones. A good example is divide and conquer algorithms, which breaks the original problem into trivial ones then combine the results. The second skill is pattern recognition, the patterns in the past may be the clue for predicting the future. The third skill is abstraction. In graph theory, many problems in reality can be abstracted into vertices and edges. The fourth skill is generalization, algorithm designer wants their algorithms can solve more problems in different situations.

Computational thinking is important for everyone because computer is getting deeply involved into our life and our society. Understanding how computers work is becoming a basic requirement for ones participating into work. Using computer programs to tackle problems can improve our work efficiency. For me as a college student, I will master the programming knowledge to analyze data and to solve computational heavy problems.