Who Should Take This Course?

Learn the basic requirements for taking this course.

We'll cover the following

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.