Algorithms
Importance of Computer Science
We use algorithms every day when we do something, like making a cup of tea, but we don’t think that is an algorithm. The most common algorithms used by us is the routine and maybe after we notice that ‘algorithm’ (routine) is not good and we lose a lot of time to do the something, we try to figure out how to improve that. After we improve our routine we are more efficient and we do the something faster. So we have created a new algorithm more efficient, so the algorithm is very important even in our lives.
Well even if algorithms were used a long time ago, since “1960 when computer science was trying to establish itself as an independent academic discipline”, with the development of computers and along with increasing data processing, algorithms play a very important role in computer science. (Maarten Bullynck, Histories of algorithms, 2015)
Algorithms have an important role in computer science because with a good set of algorithms we can create very good, error-free programs that can process data and give us a result in a short time. Along with the development of technology and data processing, programmers try to create and find a better solution with new algorithms. For example: if a company like Google would not have changed the algorithms they used 10 years ago, to process the data from today probably it will not be possible to even see the result because they are millions of data to process.
These being said the importance of algorithms in Computer Science has a major role and would not be possible to create a new solution for computers problems.
History
The first time when the algorithm has been used was in 1928 when David Hilbert posted “the Entscheidungsproblem”. According to Wikipedia “the problem ask or an algorithm that takes as an input a statement of a first-order logic and answers YES or NO”. Later in 1936 Alan Turing and Alanzo Church, “introduce the formularization of an algorithm”, and they claim that any calculation on a computer can be performed by an algorithm. (Wikipedia Contributors, Entschidungsproblem, 2017)
“The origin of the study of algorithms as a mathematical and historical object reaches back to the decades between 1960 – 1980 when computer science was trying to establish itself as an independent academic discipline. It is in this process of disciplinarisation that we find the first serious historical reflections on algorithms and other basic” (Maarten Bullynck, Histories of algorithms, 2015)
The part of the history that has led to the development of the algorithms is after Alan Turing, Kurt Godel and Alanzo Church were interested to create machines, which make calculation following a set of instruction. Along with the development of the first machines that could follow a set of instruction, the use of algorithms has become commonplace in programming.
Examples
So an algorithm is a set of instruction followed in order to do something to reach our goal.
Selection sort is an algorithm that can organize a list of numbers, which are random, in ascending order.
A series of a number like those in the picture are called an array. Let’s look at this number and try figuring out how we can sort them programmatically.
120
235
442
450
312
153
275
First, we assume that 312 is the smallest because it is the only number we’ll see and then we move to the next one. The next one is 235, it’s our new smallest number because is smaller than 312. So we move forward and we scan every number. After scanning all numbers we find that 120 is the smallest number from the array. So we swap 120 with 312. Then we start with the second number, which is 235(the new smallest number). We do the same scan to find the smallest number and after we find we swap with that number, so the process will repeat until all the numbers will are sorted in ascending order.