What I have learned about computational thinking

  • “Computational thinking is a fundamental skill for everyone, not just for computer scientists. (Wing, 2006)”

I used to believe computational thinking is far away from my life, a communication student. However, after this week’s reading and having a basic understanding of python, my thoughts about computational thinking has changed. Computational thinking is more like a thinking method or model that helping us solve problems in a complex system. It also helps us solve everyday problems and has closely connection with our daily life.

The question is how much we need to pay for the meal including tax and tip. I got this example from the python tutorial. This case is pretty simple, and we’re facing this kind of problem every time when we go out to eat in a restaurant. It’s really interesting to see the everyday stuff in computational language. And the system automatically gives me the answer: 54.63.

As far as I can see, computational thinking helps people enhance their analytical ability and leads us a better, systematically way of thinking and solving problems. Instead of calculating the numbers directly, python tries to give us a function for how to calculate the total payment. It decomposes a big complex problem into some small, relatively simple problems that can be fixed. Firstly, we need to know the money for the meal, and meal = meal + meal * tax. And the total amount of money equals to the new meal (money for the meal including tax) + new meal * tip. And it also shows a fast, flexible way to use massive data to contribute our work as well as daily life.

  • The dynamic interactions between computing and other field: implementation and influence

As Dr. Denning addressed in The Great Principles of Computing, the principles of computing has been categorized into computation, communication, coordination, recollection, automation, evaluation and design (2010). Those seven categories sometimes have overlaps with each other. For example, artificial intelligence can be seen as a computation system, automation system, and a design system. Additionally, we can also see the interactions between computing and other areas. There are two ways that one scientific phenomenon can interact with the other: implementation and influence.

  1. Implementation: the combination of a phenomenon and existing stuffs. Here we can see a software Construct 3 as an example. It’s a software that can make simple digital game and animation. So basically I can tell it’s computation, pictures, and system language that implement this software. 
  2. Influence: Two phenomena influence each other. Also in this software, the system language and code can influence how every object in this animation works. Only by giving a commend to the object CO2 with the correct system language, can the object CO2 start to work.

Reference:

“Learn Python.” Codecademy. Accessed October 24, 2017. https://www.codecademy.com/en/courses/learn-python/lessons/strings–console-output/exercises/strings?action=lesson_resume.

Wing, J. (2006). Computational Thinking. Retrieved from: https://drive.google.com/file/d/0Bxfe3nz80i2GZ21FcXlfdGNhWDA/view [Accessed 25 Oct. 2017].

Wing, J. (2006). The Great Principles of Computing. American Scientists. Retrieved from https://drive.google.com/file/d/0Bxfe3nz80i2GZ21FcXlfdGNhWDA/view [Accessed 25 Oct. 2017].