Introduction to the Linked List Data Structure and Implementation

The linked list data structure is one of the fundamental data structures in computer science.

Think of the linked list data structure as your ABCs. Without learning the ABCs, it is difficult to conceptualize words, which are made up by stringing alphabetical characters together.

Therefore, you want to know the ins and outs of the linked list data structures.

In this article, we will explore the linked list data structure’s key features and operations. Afterwards, we will begin by implementing our own singly linked list.

Another separate post will be dedicated towards the doubly linked list, which is a variant of the linked list data structure.

I will be proceeding on with the assumption that you know what a data structure is. If not, I recommend first getting acquainted with data structures before proceeding.

Continue reading

Introduction to Data Structures – A Beginner Friendly Guide

A solid introduction to data structures can make an enormous difference for those that are just starting out. The world of data structures and algorithms, for the unwary beginner, is intimidating to say the least.

I have written this post to alleviate some of the anxiety and provide a concrete introduction to provide beginners with a clarity and guide them in the right direction.

In this post, we will first examine the most frequent questions beginners have when inquiring about data structures.

  1. What is a data structure?
  2. Why you need to know data structures?
  3. How do you learn data structures?

If you are a data structures veteran, you probably don’t need to read this post. But if you do decide to read it, I would be very interested in hearing about your thoughts and opinion. If you are willing, please share them with me!

Please note that this post will not cover algorithms.

Even though data structures and algorithms often go hand in hand, I want to keep this post exclusively focused on data structures. I will be writing an entirely separate post on introduction to algorithms, as well as a follow up post on both data structures and algorithms.

When I first started learning data structures and algorithms, I didn’t know where to start.

Not knowing where to start not only results in anxiety.

It also results in bright individuals clutching aimlessly at straws without a clear goal or purpose.

This sets aspiring developers back from reaching their true potential.

Every serious programmer and/or software engineer must have a strong understanding of data structures.

Why?

Because every piece of software processes, handles and displays data. Therefore, data structures are the building blocks of every substantial piece of software.

For this post, I will be writing in the FAQ (frequently asked question) format, addressing common questions beginners might have about learning data structures. If you have additional questions, please leave a comment at the bottom of this page.

I will be updating this post continuously in the hope that it will eventually become a great resource for people that are starting out with data structures.Continue reading

How to Learn a New Programming Language Effectively

Learning a new programming language does not have to be boring or difficult.

Developers can and should learn to study smartly when they attempt to learn a new programming language. The ability to learn a new programming language effectively will scale and become more pronounced as the developer continues to invest their time and effort into sharpening their skills.

The days of monoglot programming are behind us.

If you examine job posts for developer jobs, they usually list at least two languages and also a working knowledge of multiple frameworks.

Therefore, the need to continue learning new frameworks and programming languages will continue to exist into the near foreseeable future.​

In this post, I wish to address developers that are already proficient at one or more languages.

Unlike the other posts, where I go into extreme depth, I will aim to keep this post short and concise.

If readers want more detailed content, I might add a "read more" tab with details in this post later on. Let me know via comments :).

Continue reading

How to Write Clean Code that Reduces Headaches

Clean code is an elusive concept due to the varying opinions of developers.

However, I believe that there are few common points that most developers (if not all) can agree on.

I will be discussing both the common points and also my own opinion on what clean code is.

You might be asking:

Why write a post on clean code when so many highly acclaimed people such as Uncle Bob wrote books on this topic?

Well, my answer is simple:

I am highly passionate about writing clean code, because nothing frustrates me more than code that reads like code.

You dig right?

By finding these common grounds, the discerning and pragmatic programmer can write code that not only works like a well-oiled machine, but also reads like a well-written book.Continue reading

How to Become Better at Coding – A Revitalizing Journey

Every programmer wants to become better at coding. There is absolutely no doubt about it.

However, there are so many people who are either clueless or lack the discipline and motivation to better themselves.

This article is aimed to address the following points

  • Propose reasons why you are not improving at your desired rate.
  • Provide practical, actionable steps towards becoming better at coding.

This article is aimed at programmers that want to improve, find motivation or become better at coding by conducting a thorough diagnosis. 

I will systematically bring you through a journey where you evaluate your rate of growth, identify bad habits and practices that are holding you back from becoming better at coding.

We will end the journey with tips and advice (derived from personal experience) on how to become better at coding.  

Hopefully, this list will help you as a reader become better at coding. I plan on continuously updating the post as I continue to ponder about ways to become better at coding (and of course with your feedback as well).

Without further ado, let us begin this journey of refinement, growth and self-discovery!

Continue reading

Unraveling Map Filter Reduce in Functional JavaScript

Map filter reduce are considered the fundamental functions in functional programming with JavaScript. In the previous post on the JavaScript Map function, we explored the map function in detail. How map works behind the scene, implementing the map function and using map() to create utility functions to make our lives easier.

We also discussed the concept of deep vs shallow copy, the identifying reference and value types, as well as their behavior in JavaScript.

Needless to say, we covered a lot of ground in the last two posts on functional programming. If you have been following through my series on functional programming, give yourself a pat on the back. Great job!

If you don’t know what functional programming is, read an introduction to functional programming before proceeding. I also recommend reading my post on map (link attached in the first sentence of this post) and going through the exercises.

You need to understand how map() and forEach() works on an intimate level to get the most out of this tutorial.Continue reading