# Python and Computational Thinking

I am learning Python in one of Professor LeMasters’ classes. I think Python is very practical and useful compared to other computing language and it is easier as well because it is close to linguistic language. In fact, that can be explained by computational thinking, too.

According to Jeannette Wing, computational thinking involves solving problems, designing systems and understanding human behavior. Also, computational thinking is using heuristic reasoning to discover a solution. It is planning, learning and scheduling in the presence of uncertainty. Every time before I use Python, the first thing I need to do is like a computer – what problems do I need to solve? Then I could figure out each instruction step by step. The relations between step need to be logical and by sequence so that the computer can understand and solve the problem.

I once used Python to analyze the comments count and score of the TOP 25 movies in one website. My instructions can be seen as computational thinking. A computer is a machine that can accept input, execute a mechanical procedure and produce output. And that what python does. First, I need to import the input and the relevant instructions begin with import. Then is the execution of the mechanical procedure. Here that’s one of python’s wisdom. If I make some mistakes, Python can point it out immediately and tell you where you make the mistakes. If you keep the mistakes, Python won’t let you go until you give it the true mechanical procedure which it can understand. When you want the output, just type print and the computer begins to produce output.

By using Python, I can get to understand computational thinking better and it makes me think in a more logical way and unconsciously imitate how computers work. First is conceptualizing. Whenever I meet a problem, it’s more logical to think at multiple levels of abstraction and think of computational concepts and ideas we use to approach and solve problems. Then is the process to solve problems. After using computational thinking, it’s important to complement and combine mathematical and engineering. Take Python as an example. Python is not just math or engineering. However, it must combine both of the two subjects. We use the engineering thought to figure out the logics and instructions to deal with mathematic problems. Like the case I used above, I combined mathematical and engineering to make the chart with python. Besides, computational thinking is using abstraction and decomposition when attacking a large complex task or designing a large complex system. It is a separation of concerns. This is similar to my example as well. During the input of my instructions, I am dividing the big problem into step by step and solve them step by step as well. After a series of instructions, the problem has been solved and the chart has formed in the end.

Reference

1. Denning, P. J. (2010). Great principles of computing. American Scientist.Evans, D. (2009).
2. Introduction to Computing Explorations in Language, Logic, and Machines.
3. Wing, J. M. (2006). Computational thinking. Communications of the ACM49(3), 33-35.