The Course

We'll cover the following

About me

Reading this section is optional.

I first got into competitive programming in my second year of undergrad in ICT. Some friends and I found out about ACM ICPC and participated that same year. We only made it to the regionals that year, but it was an incredibly motivating experience.

Next year, 2017, we performed better and qualified for the ACM ICPC World Finals. In 2018 we just barely missed qualifying for the finals, solving the same number of problems as the qualifying team, but a little slower.

What this course is about

When I started writing this course, I wanted to create something that I wished I’d had when I first got into competitive programming. This is not a computer science or data structure and algorithm course; nor is this an interview preparation course. You can find excellent courses for those topics elsewhere here on Educative.

This course is about participating in competitive programming contests and performing better and better every-time. We utilize less theoretical discussion and more practical application of data structures and algorithms.


Of course theory is important; take for example when you want to sort an array. Do you need to know how efficient sorting algorithms work? Absolutely.

But do you need to know all 53 sorting algorithms by heart? Definitely NOT.

Keeping this in mind, we want to cover topics because they will help you improve your performance in contests and not because it’s a good interview question.