Introduction to Competitive
Programming
Course Instructors
Naman Agarwal
Nirmal Govindaraj
Siddhant Kulkarni
Vishesh Goyal
Scope and Objective of the Course
The main focus of the course is to improve problem-solving skills and provide an essential toolbox of
various techniques, algorithms and data structures to help participate in various competitive programming
competitions and platforms.
Expectations
We strongly encourage attending all the sessions and solving all the weekly mashups. We also
encourage you ask doubts on the course WhatsApp group and engage in discussions with mentors and
peers.
💡 We recommend getting familiar with C++ before the start of the course
Week Topics Covered
Complexity Analysis, Greedy, STL (Arrays, Stacks, Queues,
Week 1 (might extend to the next week) Vectors, Maps, Sets, Heap, Strings), Sliding Window, Two
Pointers
Binary Search, Basic Number Theory (Primality Testing, Sieve,
Week 2
Prime Factors)
Introduction to Recursion, Divide and Conquer, Backtracking
Week 3 and 4
and Dynamic Programming
Week 5 Introduction to Graphs and Trees
Evaluation
Component Weightage Description
~10 weekly problems relevant to
Weekly Codeforces Mashup 15% for each week
the topics covered in that week
Final contest conducted on
Final Contest 25% HackerRank after the end of the
course
Introduction to Competitive Programming 1