Home Introduction to CT Biography of Alan Turing Reflection Have some fun

Introduction to Computational Thinking


Computational Thinking, is a standardized process of solving real-world problems by giving feasible computer system design paradigms. The aim of applying computational thinking is for better understanding the rationale of human activities and behaviors, from a computerized point of view.

The computational thinking consists of four processes: Decomposition, Patten recognition, Abstraction and Algorithm design. Decomposition means to break down a human daily activity into sub processes or components of smaller granularity in order to better understand or execute the process. Pattern recognition refers to the practice of identifying repeating and common phenomenon(Neal,2007), so as to make future work to adapt to the good pattern to speed up the process. Abstraction is a term to describe the activity to preserve the only needed information in a context and to discard irrelevant information in a particular context.It is similar to writing an abstraction part of a research paper, in which only the core information is presented to the reader. Decomposition together with abstraction makes a human activity transformed into parts that are very easy to be understood and managed from a computerized point of view. The final process, algorithm design, describes a set of sequential steps that should be applied to solve a particular problem. Flowcharts and pseudo codes are good ways for algorithm design. It is orth mentioning that a particular problem could have several possible algorithm designs, a final evaluation should be applied to judge the time and cost of the algorithm on a particular input data.

The computation thinking is highly needed in my current study. There are many courses that relate to data, either about data gathering or data processing or management. Previously, I could only think of data technologies in terms of applying formulas on them. With CT, I start to transcend my thoughts on solving real-world problems related to data. For example, how to best and fast to return relevant data to the user about a key word search or how to design an efficient algorithm to help user store and manage a companies' business data so that they could retrieve or query against a particular subset of data. This all relates to computational thinking and particularly about algorithm design. My future career plan is to become an algorithm scientist. Through learning this course, I found myself obsessed with applying several algorithms to solve one real-world problem and compare their performance and I realized in real-world > situations, efficiency of an algorithm plays vital part for a product. Therefore, I determine to join this area to help produce more efficient computational algorithms to help resolve real world problems.

References

Neal, R.M. (2007). Pattern Recognition and Machine Learning. Technometrics, 49, 366 - 366.