Jiho Jeong
2 min readFeb 11, 2021

--

Rethinking an algorithm

Data structures and Algorithms might be one of the most fundamental subjects in Computer Science education. Google, one of the most successful companies in the field of IT, throws a bunch of coding questions to millions of the applicants. Coding is an action of translating algorithms into a computer-readable language. So, if you are not comfortable with algorithms, then you are not likely to be hired as a programmer. An algorithm is a procedure for solving a well-defined (usually, in terms of mathematics) problem (actually, I rephrased an explanation from Merriam-Webster). A computing system is designed for solving a certain problem. Thus, algorithms are considered crucial parts of computing systems. So, here, I want to share with you a story of history of computing systems in the context of algorithms.

Ada Lovelace is considered one of the pioneers of computer programming before the realization of actual computing machines. Ada’s note describes an algorithm to compute Bernoulli numbers. Ada used an iterative method (making computers do the same task repeatedly) to generate a sequence of numbers and the method is still used by programmers when dealing with a series of something. Although she is not the first person to invent the notion of an iterative method, she is the first person trying to implement the method on to a computing machine.

An English mathematician, Alan Turing is also considered one of the pioneers of Computer Science. He has contributed to various fields of mathematics and science but he is most famous for contribution to the research of computability. Computability is a study of limitation of algorithms. In other words, it deals with which problem is solvable with algorithms and which are not. This study is related to the fundamental capability and limitation of computers.

Broadly, an algorithm is referred to as a process. We use algorithms every day in our lives: we decide, think, and behave according to a certain criterion. So our bias and discrimination can be algorithms we use to judge others. Including Ada, many women in computer-related fields have been underrated. And Alan Turing was prosecuted for his homosexuality. He had to quit his job as a cryptanalysis due to his conviction. If those discriminating algorithms are deeply embedded into our mental process, I think it is a time to rethink and modify those algorithms and pay attention to those who are left out.

--

--