Algorithm. Unless you live disconnected from the universe, you've probably heard or read this word that has changed the world and has more influence on your life than you think. It's never too late to understand it and know how it can help you!
What is an algorithm?
It is something that is not just correlated with computer science or scientists. Really! An algorithm is nothing more than a sequence of actions taken to achieve a specific goal. Every day you run an algorithm, from the time you wake up to the moment you go to sleep. And when you sleep, your body also performs various algorithms. The action of preparing a juice or to get ready to go to work in the morning are just a few examples. And that favorite app on your smartphone? They are a set of algorithms!
Most people tend to always do the same things. We call this a routine. One may like to have it and others do not. Even when you try to do something out of your routine or when you try not to have one, you are executing some tasks to get away from it. Try to google "how to get away from the routine". A high number of websites, books, and videos suggest you follow certain steps (tasks ?!) to try to do something different :) The same thing happens when you seek to be more productive: you look for tasks that will help you be more efficient, do more things with more quality in the same time. The more complex the objective, the more complex is the algorithm.
In the end, what we are really looking for is a way - the best way - to do something we want. As simple as preparing breakfast or complex as having an app that helps us escape the traffic.
To make it even clearer here is an example of an algorithm:
Algorithm to call someone from a cell phone.
1 - Pick up the phone from your pocket and open the calls app
2 - I know the number of the person?
2.1 - If yes, enter the number
2.2 - If not, search for the number in the phone book
3 - Press Call
4 - Did the person answer?
4.1 - If yes, talk
4.2 - If not:
4.3 - Was it important?
4.3.1 - If yes, wait a while and call again in a few minutes or leave a message
4.3.2 - If no, call tomorrow
5 - End the call
6 - Put your cell phone back to your pocket
And why should I care about algorithms?
Well, there's no way to get away from them. But it is very easy to benefit from it! And we can not dissociate programming from algorithms either. Programming is to write algorithms in some specific language so that we can automate tasks or execute them faster. In a way, many people are already programmers, from executing simple jobs in Excel to professional applications developers and solutions like programs to do astronomical calculations. Particularly I think that in the near future programming will be a discipline in schools, that we will be learning from an early age (at least it should be). It does not mean that we should all be programmers. The world will always need other types of professionals. However, programming or knowing how to create algorithms don't need to be an exclusive knowledge from software developers or scientists. Given its basis in mathematics and logic, the benefits are numerous. As each day we collect and store more data, knowing what to do with them and how to extract meaning from it, becomes evident how important this subject is. For instance, if you are a psychologist and want to analyze data from a survey done with your patients, of course, you can hire a good professional to help you. But would he have the same knowledge in psychology as you have?
There are 3 characteristics that define what a valid algorithm is:
Also, we said at the beginning of the post that the world is full of algorithms. In fact, it always was. What has happened over time is that we have found more efficient ways to run and automate our tasks. This is an endless process, and every time we take it one step further, life becomes easier and more beneficial to all of us.
Thank you for the reading and see you next post!