Mastering the JavaScript this Keyword – Detailed Guide

The JavaScript this keyword is often considered one of the most confusing aspects of the language. JavaScript has come a long way, now with node.js being used to run JavaScript in the server, along with the continual evolution of the language. Needless to say that this language is not disappearing anytime soon.

Therefore, I believe that if you are a JavaScript developer or somebody who works with web technologies, learning how JavaScript works and also its idiosyncrasies will pay dividends down the road.Continue reading

Algorithmic Problem Solving for Programmers

Algorithmic problem solving skills is one of the most important skills for a programmer. Great programmers are able to conceptually come up with solutions by visualizing and breaking down the problem into smaller parts. Afterwards, it is up to the programmer to write a clean, effective solution.

With the hope that this article will help you in your journey to become better at problem solving, I am going to write down my though process as I write up a quick solution to the merge sort algorithm. Depending on how much refactoring I plan on doing, I may write multiple parts to this post.

Anyhow, the purpose of this post is to journal my thought process when writing up the merge sort algorithm. Bear in mind that I have not written an implementation for merge sort in quite some time. In other words, I needed to start from scratch.

If you would like to skip straight to where I actually start coding, I recommend clicking on Implementation in the table of contents.

Continue reading

A Gentle Introduction to the Command Line

The command line is often considered a monolithic, esoteric interface used only by the battle-scarred veterans and hardcore programmers. I was indeed one of those people who avoided the command line like a plague.

Before continuing, let me tell you that my mindset towards the command line has completely changed. After seeing and tasting, I now understand why some developers opt for using the command line when performing certain tasks.

Historically, the command line was the only way to interact with a computer. Nowdsys, the computer is often considered an essential household item. Because of the personal PC, computers now come with an operating system that provides Graphical User Interfaces (GUIs) that runs commands with merely a click of a button/mouse.Continue reading

Implementing the Java StringBuilder Class

The Java StringBuilder is a class that most Java programmers are familiar with. It is of utmost importance, especially when you want to avoid creating unnecessary string objects when looping through tens or hundreds of thousands of records.

In the Java programming language, Strings are immutable. This means that Java strings cannot be altered once created.

The StringBuilder is a common interface available in some of the high-level programming languages such as C# and Java. They are wrappers classes that provide a great deal of utility when working with character arrays, which is the underlying data structure used to store the characters. We will examine the Java String Builder class, discuss the reasons for using it and also take a sneak peek at how it works.Continue reading

Introduction to Algorithms for Beginners and Aspiring Programmers

This is a brain-friendly introduction to algorithms for beginners, written with the intent of guiding readers in their journey of learning algorithms more streamlined and less intimidating.

For those with little to zero experience with programming, the word algorithms evoke a lot of fear, mystery, and suspense. It is portrayed as an esoteric, cryptic black box that none but the smartest of individuals dare open and attempt to decode.

Well, I am here today to blow away some myths regarding algorithms.Continue reading

Simple Queue Implementation Guide (Using the Linked List)

Implementing the queue using the linked list as the underlying data structure is much simpler than using arrays as the underlying data structure.

I will assume that you understand the fundamentals of the queue data structure.

In this post, we will be writing the queue using the linked list as the underlying data structure.

This tutorial exists not only to show users how to implement the queue using linked lists but to also demonstrate how important it is to master the fundamentals.

Having a solid grasp on the fundamentals not only gives you a greater arsenal of tools to work with. It also accelerates the speed at which you learn other topics, including more complex data structures.

If you don’t know what a linked list is, I strongly suggest that you come back after learning how the linked list works.

Continue reading

1 2 3 8