# Data Querying 101

This semester, I’m taking a graduate course called Introduction to Big Data. It provides a broad introduction to the exploration and management of large datasets being generated and used in the modern world. In an effort to open-source this knowledge to the wider data science community, I will recap the materials I will learn from the class in Medium. Having a solid understanding of the basic concepts, policies, and mechanisms for big data exploration and data mining is crucial if you want to build end-to-end data science projects.

# Relational Database 101

This semester, I’m taking a graduate course called Introduction to Big Data. It provides a broad introduction to the exploration and management of large datasets being generated and used in the modern world. In an effort to open-source this knowledge to the wider data science community, I will recap the materials I will learn from the class in Medium. Having a solid understanding of the basic concepts, policies, and mechanisms for big data exploration and data mining is crucial if you want to build end-to-end data science projects.

# Demystifing Graph Algorithms

This is a complete guide to graph algorithms that you can rely on to practice for your next technical interview. No matter how complicated these concepts may seem, repeatedly getting familiar with different techniques and problems will make you more competent at solving them.

# Greedy Algorithm and Dynamic Programming

In an algorithm design there is no one 'silver bullet' that is a cure for all computation problems. Different problems require the use of different kinds of techniques. A good programmer uses all these techniques based on the type of problem. In this blog post, I am going to cover 2 fundamental algorithm design principles: greedy algorithms and dynamic programming

# Divide and Conquer Algorithms

A very popular algorithmic paradigm, a typical Divide and Conquer algorithm solves a problem using following three steps:

• Divide: Break the given problem into subproblems of same type.

• Conquer: Recursively solve these subproblems

• Combine: Appropriately combine the answers

# Heap Sort, Merge Sort, and Convex Hull

Basic Sorting Algorithms

# The 5 Fundamental Running Times in Computer Science

As you see, you should make a habit of thinking about the time complexity of algorithms as you design them. Asymptotic analysis is a powerful tool, but use it wisely. Sometimes optimizing runtime may negatively impact readability or coding time. Whether you like it or not, an effective engineer knows how to strike the right balance between runtime, space, implementation time, maintainability, and readability.

# The 5 Deep Learning Frameworks Every Serious Machine Learner Should Be Familiar With

In this post, I want to introduce to you the 5 frameworks that are the workhorses of deep learning development. They make it easier for data scientists and engineers to build deep learning solutions for complex problems and perform tasks of greater sophistication.

# 12 Useful Things to Know about Machine Learning

Machine learning algorithms can figure out how to perform important tasks by generalizing from examples. This is often feasible and cost-effective where manual programming is not. As more data becomes available, more ambitious problems can be tackled. As a result, machine learning is widely used in computer sincere and other fields. However, developing successful machine learning applications requires a substantial amount of “black art” that is hard to find in textbooks.

# A Tour of The Top 10 Algorithms for Machine Learning Newbies

For machine learning newbies who are eager to understand the basics of machine learning, here is a quick tour of the top 10 machine learning algorithms used by data scientists that I compiled.