Algorithms and data structures are a fundamental part when it comes to programming. It is important to know which data structures you will be using and when and so in this blog, I’ll be going through the fundamentals of a stack data structure.

A stack is simply an array with restrictions. It is an elegant tool for handling temporary data and focuses on the order in which the data is handled.

A stack is a linear data structure which follows a LIFO (Last In First Out) or FILO (First In Last Out) order of performance.

The best way we can…

In this blog, we will be going through a key concept in computer science. Yes, you’ve guessed it — recursion!

Recursion helps us solve intricate problems in a more simple way. The basis of recursion is a function calling itself. Take a look at this function below for an example:

function recursion() {

Well, an infinite recursion would be pointless but when used correctly, it can be a powerful and useful tool!

Most often, we jump straight to loops to tackle any tasks but let’s take a look at how we can use recursion instead.

Let’s take a…

The React Team revealed new features that would be coming to React in React 18 and in this blog, we will explore these features and how they can help you in the near future!

Strict Mode has a few additions such as a new behaviour called “strict effects”. This allows us to double-invoke effects like mount and unmount. It creates an environment to correct behaviour with Fast Refresh during development, not only looking for more resilient components. There is also an ‘offscreen API’ which is currently being built.

An offscreen API will enable better performance by hiding components instead of…

When creating web pages, I always work on the navbar first. This is to make sure that I can deal with any potential routes and design the page from top to bottom. In this blog, I’ll be going through a neat way you can have a more modern NavBar design with a little disappearing (and appearing) act!

JavaScript classes are a type of function that are declared using the Class keyword. Classes can have instances, which is the ability to create copies of itself and each class can contain unique properties, often set when the instance is created. Though we can use the new function to create many objects, class gives great features which are useful for object-oriented programming.

The basic syntax of a class is:

class ExampleClass {
constructor () { }
method() { }
another method() { }

The constructor is where unique properties would be defined for the class and are created…

In this blog, we will be looking at how to implement a carousel slider in React. I recreated a website for a tech start-up that provides its products for many enterprise businesses and proudly displays those brand logos on its website. When recreating the site, I decided to display the brands on a carousel, that is, it’s automatic, infinite, and allows for manual swiping.

I used a library, called React Slick, to achieve the carousel slider. We need to first install the library by typing the below into our command line:

npm install react-slick --save


yarn add react-slick


My final project at Flatiron involved working with React and Redux on the front end. At first glance, Redux seemed to be confusing but I got to grips with it quite quick and what a great tool it is!

When building a large React application, state can become more spread out between various components. We will soon start to see a web of props and state that becomes harder to see how components are handling and sharing data with each other.

One thing we can do is store our state in a high-level container component or parent component but this…

Source: Wildheart Media

In this blog, I will be breaking down how we identify which category an algorithm is placed, under Big O Notation. If you aren’t familiar with the Big O then you can read one of my previous blogs here, that explains each category of Big O.

We know that Big O Notation refers to the time complexity of an algorithm, or in other words, how many steps an algorithm takes if there are N number of elements. However, there are a few things we must know about Big O, to determine which category an algorithm is placed in.


In your coding journey, you will come across the term — Greedy Algorithms. Sounds strange right? In this blog, we will be diving into what they are and where you will find yourself using them.

Firstly, we will define this term and break it down further to get a better understanding.

Simply put, a greedy algorithm is an uncomplicated, intuitive algorithm that is used when dealing with optimisation problems. The algorithm makes the optimal choice at every step step as it attempts to find the overall ideal way to solve the entire problem.

Now, the reason the term greedy is…

Source: Pixabay

If you’re haven’t come across the Big O during your programming journey, you surely will at some point. When I first stumbled upon it, I was completely dumbfounded! However, reading more into it and working with examples, it was a major face palm moment. In this blog, I’ll be discussing Big O Notation and looking at a few basic aspects that can help you dive deeper into more advanced areas of it.

Computer scientists borrowed this term from the world of mathematics to describe a concise language around the efficiency of algorithms and data structures. …

Milan Parmar

Software Engineer 👨🏽‍💻 | Full Stack Web Development 💻 | Smartphone Tech Enthusiast📱

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store