Who Should Take This Course?

Learn the basic requirements for taking this course.

We'll cover the following

Thank you for choosing this course! We hope the techniques you learn here go a long way towards building solid algorithmic skills.

Intended audience

If you want to work on your algorithm building and problem-solving skills, this course is for you. Each lesson will start with a project description explaining and solving a real-world scenario. Then, we’ll apply the discovered pattern to solve common interview questions.


For this course, you need to have a basic understanding of common data-structures like Arrays, Linked Lists, Hash Maps, Stacks, Queues, Heaps, and Graphs. You should also be familiar with Recursion and Big-O.

Object-oriented code should define attributes as private and expose them through a controlled public interface. However, in this course, we keep things simple and define attributes as public.