• Skip to main content
  • Skip to primary sidebar
BMA

BeMyAficionado

Inspire Affection

Getting Started With Algorithms For Budding Computer Science Engineers

May 1, 2019 by varunshrivastava Leave a Comment

This article is going to be different from a ton of articles out there on the internet. It will be different because I’m going to explain it in a way that would directly get inside of you (doesn’t matter what your IQ is).

I will not be going to copy-paste the definitions from books to bore you rather I would try to make you understand from the best of my knowledge.

In this article, I want you to understand the origin, present and future of the algorithms. And how algorithms are shaping our everyday reality. Because many times you think you understand but you didn’t. Let’s try to understand the actual reality of an algorithm. Because algorithms are the soul of computers.

I think I’ve said enough… Let’s Get Started With Algorithms.

  • Do you have to be good at mathematics to become a great programmer?
  • Programming Best Practices – The Art of Building Modular Applications

Table of Contents

  • Algorithms are older than you think
  • Why Study Algorithms?
  • Reasons to Study Algorithms
    • #1. To solve problems that could not otherwise be addressed.
    • #2. For intellectual stimulation.
    • #3. To Become Proficient Programmer
    • #4. Unlocks secrets of life and universe
    • #5. Simply Fun and Profit
  • How to Get Started With Algorithms
  • Conclusion

Algorithms are older than you think

The oldest algorithm (300 BC) known to us as the Euclidean Algorithm is where it all started in the history of mankind.

It was the first documented step-by-step process to find the greatest common divisor. This simple algorithm changed the way people looked at a problem.

Pseudocode for the same would be:

define calculateGCD(a: integer, b:  integer)  
    if a equals 0
        return b
    otherwise 
        return calculateGCD(b % a, a)
Algorithms Timeline
Algorithms Timeline

The algorithms did not became happenings until 1960s. This was the time when we started advancing in the field of computers. And to make computer solve a problem we required algorithms.

This was the time when the usage of word Algorithm took a leap.

Use of the word Algorithm over time
Use of the word Algorithm over time

This was also the time when the usage of word Computer started growing at almost the same rate as the word Algorithm. Both words show amazing co-relation over time. See the image below.

Use of the word Programmer over time
Use of word Computer over time

Now the people were no longer alien to Computers. People started recognizing the power of computers and what they were capable of. And soon they realized that the success of computers directly depends on its ability to efficiently solve a problem. And to efficiently solve a problem it requires better algorithms.

More algorithms mean more mathematicians/programmers. Thus the demand for computer programmers started growing tremendously.

You can see all that just by looking at their word usage.

Use of theword Programmer over time

Use of word Programmer over time

That is the history of Algorithms and how it plays an important role in human evolution.

You might be thinking that how is this going to help you understand Algorithms better?

The truth is once you know the origin of anything, you tends to know its importance and that is where we are heading next.

Why Study Algorithms?

This is a perfectly valid question in 2019. But not so much in the 1960s. In that era, algorithms were the soul of every great program. And studying algorithms really helped them to efficiently solve the problems that could not otherwise be addressed.

But today the algorithms are not taken seriously by the college students. The main reason behind it is the ever increasing number of programming languages and frameworks and online communities that provides everything without many efforts. Also, today you have the most sophisticated machines with more than 4GB RAM and a terabyte of storage space. Who cares about efficiency and storage, eh?

This is a really bad way to look at it. Especially when the world needs new algorithms to make impossible possible (Artificial Intelligence).

If you are in India and your only goal is to land a job in the IT sector, then probably you do not need to study algorithms at all. You should start practising your Googling skills but if you want to work for Google or Facebook or you want to compete in the market then Studying Algorithms are going to play the major role in your journey.

Reasons to Study Algorithms

#1. To solve problems that could not otherwise be addressed.

A very useful implementation of algorithms is while creating networks or circuits.

It asks for the minimum number of nodes or edges that needs to be removed to separate the remaining nodes into their isolated sub-graphs.

Can you do it without actually formalising an algorithm?

Network Connectivity
Network Connectivity

#2. For intellectual stimulation.

Learning algorithms actually increases your intellect. It makes you smart and provides you a new way to look at the world around you.

I would like to quote Francis Sullivan:

And Donald Knuth:

#3. To Become Proficient Programmer

Perhaps Linus Torvalds (Creator of Linux) puts it beautifully:

And Niklaus Wirth:

Every great programmer focuses on solving the problem in the most elegant and efficient manner. And every bad programmer just wants to get the job done.

No world would have existed around us without the algorithms.

#4. Unlocks secrets of life and universe

Algorithms usage has increased by many folds in the scientific research and development.

Algorithms are becoming a modern day language to communicate ideas across the globe.

Today computational models are replacing the Mathematical Models in science inquiry.

Mathematical Model vs Computational Model
Mathematical Model and Computation Model

Cleary, algorithmic approach are far easier to teach and illustrate.

#5. Simply Fun and Profit

Why not study algorithms?

You never know when you are stuck by the Idea God. It is always good to know algorithms so that you can manifest your ideas into reality.

Fun  and Profit
Fun & Profit

How to Get Started With Algorithms

You just need a pen and a paper and a basic knowledge of any one programming language. To put it in bullet points:

  • Pen
  • Notebook
  • Knowledge of any one programming language

I will be writing a series of articles on Learning Algorithms for the next few months focussed on making you understand how it is done. I will also encourage you to put your thoughts in the Disqus comments below. This is one of the best ways you we can learn and grow.

Conclusion

This article was only focussed on Getting you curious about the algorithms. In the coming articles, I will be talking about some of the most important algorithms in the world and how it changed our present and impacting our future.

I will not just talk about the algorithm rather help you understand it and implement it with your choice of programming language.

Make sure you subscriber to BeMyAficionado so that the latest post will directly land in your inbox. Or you can subscribe for the push notification by clicking on the bottom right bell.

I hope to see you next time.

Related

Filed Under: Programming Tagged With: algorithms, computers, datastructure, engineers, problem solving skills, programming, science

Primary Sidebar

Subscribe to Blog via Email

Do you enjoy the content? Feel free to leave your email with me to receive new content straight to your inbox. I'm an engineer, you can trust me :)

Join 874 other subscribers

Latest Podcasts

Recent Posts

  • Is The Cosmos a Vast Computation?
  • Building Semantic Search for E-commerce Using Product Embeddings and OpenSearch
  • Leader Election with ZooKeeper: Simplifying Distributed Systems Management
  • AWS Serverless Event Driven Data Ingestion from Multiple and Diverse Sources
  • A Step-by-Step Guide to Deploy a Static Website with CloudFront and S3 Using CDK Behind A Custom Domain

Recent Comments

  • Varun Shrivastava on Deploy Lambda Function and API Gateway With Terraform
  • Vaibhav Shrivastava on Deploy Lambda Function and API Gateway With Terraform
  • Varun Shrivastava on Should Girls Wear Short Clothes?
  • D on Should Girls Wear Short Clothes?
  • disqus_X5PikVsRAg on Basic Calculator Leetcode Problem Using Object-Oriented Programming In Java

Categories

  • Blogging
  • Cooking
  • Fashion
  • Finance & Money
  • Programming
  • Reviews
  • Software Quality Assurance
  • Technology
  • Travelling
  • Tutorials
  • Web Hosting
  • Wordpress N SEO

Archives

  • November 2024
  • September 2024
  • July 2024
  • April 2024
  • February 2024
  • November 2023
  • June 2023
  • May 2023
  • April 2023
  • August 2022
  • May 2022
  • April 2022
  • February 2022
  • January 2022
  • November 2021
  • September 2021
  • August 2021
  • June 2021
  • May 2021
  • April 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • February 2020
  • December 2019
  • November 2019
  • October 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • January 2019
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016

Tags

Affordable Hosting (4) algorithms (4) amazon (3) aoc-2020 (7) believe in yourself (4) best (4) database (4) earn money blogging (5) education (4) elementary sorting algorithms (4) experience (3) fashion (4) finance (6) Financial Freedom (7) food (7) friends (3) goals (5) google (5) india (10) indian cuisine (5) indian education system (4) java (16) life (16) life changing (4) love (4) make money (3) microservices (9) motivation (4) oops (4) podcast (6) poor education system (4) principles of microservices (5) problem-solving (7) programmer (5) programming (28) python (5) reality (3) seo (6) spring (3) success (10) success factor (4) technology (4) top 5 (7) typescript (3) wordpress (7)

Copyright © 2025 · Be My Aficionado · WordPress · Log in

Go to mobile version