avatarKaruna Sehgal

Summary

The website content provides a non-technical introduction to algorithms, emphasizing their everyday applications and the author's journey to understanding them through self-study and community workshops.

Abstract

The article, titled "A Simplified Interpretation of Algorithms," is written by a software engineer who lacks a traditional computer science background and has struggled with the concept of algorithms. The author shares their path to grasping algorithms, which included online research, attending meetups, and participating in a workshop by Girl Develop It. The article defines an algorithm as a repeatable problem-solving process and illustrates this with examples of daily activities, such as choosing a TV show. It presents three different approaches to finding something to watch, each with varying levels of complexity, to demonstrate the practical use of algorithms in everyday life. The author intends to delve deeper into algorithms in future blog posts, covering topics like data structures, time complexity, Big O Notation, and sorting methods.

Opinions

  • The author believes that algorithms are not just theoretical concepts but practical tools used in everyday decision-making.
  • They express that a traditional computer science education is not a prerequisite for understanding algorithms, as evidenced by their own experience of learning through non-traditional means.
  • The author values community-based learning, highlighting the effectiveness of the Girl Develop It workshop in enhancing their understanding of algorithms.
  • They suggest that algorithms can simplify complex tasks, as seen in the TV-watching examples, which range from passive viewing to a systematic selection process.
  • The author is enthusiastic about continuing their exploration of algorithms and sharing their insights with readers through upcoming blog posts.

A Simplified Interpretation of Algorithms

As a Software Engineer, the hardest concept for me is Algorithms. Since I do not have a traditional CS background, I have never learned about Algorithms until I started prepping for technical interviews. In fact, very few technical programs/bootcamps focus on teaching students Algorithms.

In order to become comfortable with Algorithms, I googled online, attended meetups, and attended a Girl Develop It workshop called Introduction to Algorithms. This workshop really helped me understand Algorithms more clearly and I want to share with you what I learned.

What is a Algorithm?

An algorithm is a repeatable process for determining the solution to a problem. An example is shown below:

Do we use Algorithms daily?

We actually do. Here are some ways we use Algorithms on a day to day basis:

  • Find a cereal in the grocery store.
  • Re-organizing your closet to make finding stuff easier.
  • Finding something good to watch on TV.

In fact, let’s use watching TV as an example. There are several ways we find something to watch on TV. Here is one approach:

Finding something to watch on TV: Version 1 (v1)

  1. Turn on TV.
  2. Watch what is on.

Another approach is:

Finding something to watch on TV: Version 2 (v2)

  1. Turn on TV.
  2. Flip through every channel and rate what is on.
  3. Find the highest rated channel.
  4. Watch

Here is another way as well:

Finding something to watch on TV: Version 3 (v3)

  1. Turn on TV.
  2. Check 5 favorite channels and rate what is on .
  3. Find the highest rated channel
  4. Watch

As you can see there are several ways to finding something to watch on TV and the same goes for solving an Algorithm.

So the goal of Algorithms is to solve a problem in a repeatable way. What I touch upon in this blog post is just the tip of the iceberg. There is much more to come. I plan on writing a series of blogposts regarding Algorithms and will go in further detail about Data Structures, Time Complexity, Big O Notation, and various sorting methods.

Algorithms
Web Development
Coding
Programming
Recommended from ReadMedium