My understanding of Computational Thinking:
Computational Thinking is made up of computational processes that are used to solve formulating problems through computational steps/methods such as algorithms,networking, programming,automated data collection and many more. By computational steps, one refers to the computational model which determines the language we can use to formulate a solution- these can range from high level to low level languages. An example of a high-level language is JavaScript; however, a Register Machine is an example of a more primitive assembler. In essence, computational thinking is particularly useful as it provides the formulas to calculate said solutions, as it introduces elements such as strings, arrays and functions to find and test answers to complete complex problems.
There are 4 key steps to computational thinking when used to formulate solutions- Decomposition, Pattern Recognition, Abstraction, Algorithmic Thinking. Decomposition refers to the breaking down of a big problem into sub problems therefore into manageable parts, this then interconnects with pattern recognition as the idea is to make the sub-solution and solution the same. As such, the purpose of pattern recognition is to recognise and reuse recurrent patterns so that an algorithm can be created. Abstraction refers to abstracting away from, an example is to compare alternatives after extracting the most relevant information from each decomposed problem. Lastly, algorithmic thinking refers to the step-by-step description to solve a problem, taking an input and delivering an output. The algorithm can take all other steps into account and there are different ways to solve based on conditions e.g. if statements, loops, Boolean expressions etc.
Although I have described Computational Thinking within a mathematic model, some scholars such as Susan German argue that computational thinking precedes mathematical thinking in the modern understanding of computational thinking as science and engineering practises have great prominence within the field as you can explore solutions within a safe environment- e.g. circuits . German’s article cites an independent study where a group of Engineering students carried out circuits and found the process much more efficient through simulation rather than physical materials- therefore, computational thinking is multi-disciplinary and allows the unobservable to become observable in a safe environment. As such, this will be useful for my future learning as it will allow me to experiment and attain results in a non-formal manner when completing my game model for my Dissertation later on the year through the 4 stages of computational thinking as it will help set the parameters, the patterns within the decomposed problems and lastly the algorithm to test the conditions.
Computational Thinking is particularly important as it provides the base knowledge required to configure formulas and solve solutions across my Computing MSc course. As aforementioned mentioned, the data types, elements and functions are transferrable to most languages that I will likely use within this course and the professional industry. Furthermore, computational thinking has allowed me a greater understanding to my other modules, in particular the Fundamentals of Programming by having a base understanding of functions and formulas- solving equations through both JS and Python, which have intrinsically similar fundamentals provided by the computational model. As someone who is looking to pursue a career in Data Analysis, computational thinking allows me to explore the ‘What if..?’ through Boolean Expressions and loops, as such getting a grasp of strong problem solving skills so computational thinking can be used in conjunction with almost any practise through the means of repetitive experimenting. However, in particular as a role as a Data Analyst because it requires structuring and transforming data before analysis, which is largely the process of decomposition. Furthermore, pattern recognition allows the data to be structured into reoccurring/common patterns ready for the algorithmic process and abstraction could refer to the comparison of ‘other’ data after extracting the important elements. The computational thinking module has showcased the parameters, the data types and elements that can be used to achieve said objectives.
1823735 Computational Thinking Assignment©2023