The Top Skills for a Career in Datascience in 2021

Datascience is exploding in popularity due to how it’s tethered to the future of technology, supply-demand for high paying jobs and being on the bleeding edge of corporate culture, startups and innovation! Students from South and East Asia especially can fast track lucrative technology careers with data science even as tech startups are exploding in those areas with increased foreign funding. Think carefully. Would you consider becoming a Data Scientist? According to Coursera: A data scientist might do the following […]

Jump Search in Python

Introduction Finding the right data we need is an age-old problem before computers. As developers, we create many search algorithms to retrieve data efficiently. Search algorithms can be divided into two broad categories: sequential and interval searches. Sequential searches check each element in a data structure. Interval searches check various points of the data (called intervals), reducing the time it takes to find an item, given a sorted dataset. In this article, you will cover Jump Search in Python – […]

Search Algorithms in Python

Introduction Searching for data stored in different data structures is a crucial part of pretty much every single application. There are many different algorithms available to utilize when searching, and each have different implementations and rely on different data structures to get the job done. Being able to choose a specific algorithm for a given task is a key skill for developers and can mean the difference between a fast, reliable and stable application and an application that crumbles from […]

Big O Notation and Algorithm Analysis with Python Examples

There are multiple ways to solve a problem using a computer program. For instance, there are several ways to sort items in an array. You can use merge sort, bubble sort, insertion sort, etc. All these algorithms have their own pros and cons. An algorithm can be thought of a procedure or formula to solve a particular problem. The question is, which algorithm to use to solve a specific problem when there exist multiple solutions to the problem? Algorithm analysis […]

Basic AI Concepts: A* Search Algorithm

Introduction Artificial intelligence in its core strives to solve problems of enormous combinatorial complexity. Over the years, these problems were boiled down to search problems. A path search problem is a computational problem where you have to find a path from point A to point B. In our case, we’ll be mapping search problems to appropriate graphs, where the nodes represent all the possible states we can end up in and the edges representing all the possible paths that we […]

Sorting Algorithms in Python

Introduction Sometimes, data we store or retrieve in an application can have little or no order. We may have to rearrange the data to correctly process it or efficiently use it. Over the years, computer scientists have created many sorting algorithms to organize data. In this article we’ll have a look at popular sorting algorithms, understand how they work and code them in Python. We’ll also compare how quickly they sort items in a list. For simplicity, algorithm implementations would […]

Overview of Classification Methods in Python with Scikit-Learn

Introduction Are you a Python programmer looking to get into machine learning? An excellent place to start your journey is by getting acquainted with Scikit-Learn. Doing some classification with Scikit-Learn is a straightforward and simple way to start applying what you’ve learned, to make machine learning concepts concrete by implementing them with a user-friendly, well-documented, and robust library. What is Scikit-Learn? Scikit-Learn is a library for Python that was first developed by David Cournapeau in 2007. It contains a range […]

Run-Length Encoding

In this article we’ll go over how the run-length encoding algorithm works, what it’s used for, and how to implement its encode and decode functions in Python. Run-length encoding (RLE) is a very simple form of data compression in which a stream of data is given as the input (i.e. “AAABBCCCC”) and the output is a sequence of counts of consecutive data values in a row (i.e. “3A2B4C”). This type of data compression is lossless, meaning that when decompressed, all […]