Reflection

In my opinion computational thinking is not the same as programming thinking. I think computational thinking is mainly the ability to solve problems with the help of the capabilities of the information age. For example, if you want to go on a trip, in the past we might first ask someone about it, now we can do it with the help of the internet. In practice, we determine our goal (three-day driving tour), then after breaking it down into many small tasks (route, accommodation, food, etc.), then with the help of information technology we complete all the small tasks (online maps, hotel booking, restaurant booking, etc.) and finally we have accomplished our goal (smooth tour). The significance of computer science as one of the three sciences is evident. As I said above, learning to code has trained my mind. In the process of learning to code, I have learnt first hand that you can only write good code if you think about it first. If your head is confused, the code will be a mess. I believe that code describes the idea of solving a problem. Once you have the idea, you can use different codes, or even different types of programming languages, to achieve it.This kind of thinking will help me to learn about the course more deeply and easily in the future.In addition, the most important quality in computer thinking is the discovery of mistakes. Many people don't want to do something if they can't do it anymore and want to quit. It is only by constantly summing up mistakes, learning from them and listening to different opinions that we can find our own mistakes and then come up with new solutions. If you just stick to one solution, without reflection, and go all the way to the crown, it is foolish and brutal and will not lead to results, unless the process itself is error-free. But what is the one thing that succeeds once and for all? So I must keep up with the times, learn this subject well and keep developing and improving my computer thinking! I have learnt in this subject that.

1. Decomposing a problem: is big and small, breaking down a complex problem into a simple one.

2. Pattern recognition: is small and small, analysing and understanding the essence of simple problems and finding the connections between them.

3. Abstraction: is generalising the small, highly summarising the essence of a simple problem and providing direction for efficient problem solving.(Kramer, 2007)

Reflection
Kramer, J. 2007. Is abstraction the key to computing Communications of the ACM, 50(4), pp.36–42. doi:10.1145/1232743.1232745.