Getting Started with Competitive Programming

By Prof. Neeldhara, Arjun   |   IIT Gandhinagar, CodeChef
Learners enrolled: 12440
This is a course on algorithm design with a focus on issues of modeling and implementation. Each lecture will be focused entirely on one or two problems that reveal the use of a specific algorithmic technique. The techniques themselves are chosen to be in line with those covered in existing NPTEL courses on data structures and algorithms, so that students who complete those courses can find in this course a natural follow up. This course is intended for anyone who wants to deepen their appreciation for algorithmic techniques that they have learned in a foundational course and/or would like to take a first step towards preparing for coding competitions such as the ICPC. 
INTENDED AUDIENCE  :  Undergraduate students who have already done a basic data structures/algorithms course.
Course Status : Completed
Course Type : Elective
Duration : 12 weeks
Category :
  • Computer Science and Engineering
Credit Points : 3
Level : Undergraduate
Start Date : 26 Jul 2021
End Date : 15 Oct 2021
Enrollment Ends : 09 Aug 2021
Exam Date : 24 Oct 2021 IST

Note: This exam date is subjected to change based on seat availability. You can check final exam date on your hall ticket.

Page Visits

Course layout

Week-1: Sorting and Searching Algorithms
Week-2: Greedy Algorithms - I
Week-3: Greedy Algorithms - II
Week-4: Disjoint Set Union with Path Compression
Week-5: Minimum Spanning Tree
Week-6: Shortest Paths: Dijkstra and Beyond
Week-7: Network Flows - I
Week-8: Network Flows - II
Week-8: Divide and Conquer
Week-9: Dynamic programming - I
Week-10: Dynamic programming - II
Week-11: Dynamic programming - III
Week-12: Dynamic programming - IV

Books and references

Algorithms by Jeff Erickson (freely available online) 
Algorithms Illuminated by Tim Roughgarden 

Algorithm Design 
Jon Kleinberg and Éva Tardos 

Introduction to Algorithms 
Cormen, Leiserson, Rivest, Stein 

Competitive Programming 4: The Lower Bound of Programming Contests in the 2020s by Steven Halim and Felix Halim 

Guide to Competitive Programming: Learning and Improving Algorithms Through Contests Antti Laaksonen

Instructor bio

Prof. Neeldhara

IIT Gandhinagar
Neeldhara Misra is an Assistant Professor of Computer Science and Engineering at the Indian Institute of Technology, Gandhinagar. Her primary research interest involves the design and analysis of efficient algorithms for “hard” problems in general, and parameterized algorithms in particular. The problems considered are typically concerned with combinatorial optimization, frequently in the context of graph theory, social choice, games, geometry, and constraint satisfaction.


Arjun works at CodeChef, and has been involved in the field of competitive programming for the last 12 years in various capacities. His team advanced to the World Finals of ACM-ICPC twice, and he has been a coach at IOITC (International Olympiad in Informatics Training Camp, India).

Course certificate

The course is free to enroll and learn from. But if you want a certificate, you have to register and write the proctored exam conducted by us in person at any of the designated exam centres.
The exam is optional for a fee of Rs 1000/- (Rupees one thousand only).
Date and Time of Exams: 24 October 2021 Morning session 9am to 12 noon; Afternoon Session 2pm to 5pm.
Registration url: Announcements will be made when the registration form is open for registrations.
The online registration form has to be filled and the certification exam fee needs to be paid. More details will be made available when the exam registration form is published. If there are any changes, it will be mentioned then.
Please check the form for more details on the cities where the exams will be held, the conditions you agree to when you fill the form etc.


Average assignment score = 25% of average of best 8 assignments out of the total 12 assignments given in the course.
Exam score = 75% of the proctored certification exam score out of 100

Final score = Average assignment score + Exam score

YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF THE AVERAGE ASSIGNMENT SCORE(QUIZZES AND PROGRAMMING ASSIGNMENTS COMBINED) >=10/25 AND EXAM SCORE >= 30/75. If one of the 2 criteria is not met, you will not get the certificate even if the Final score >= 40/100.

Certificate will have your name, photograph and the score in the final exam with the breakup.It will have the logos of NPTEL and IIT Madras .It will be e-verifiable at nptel.ac.in/noc.

Only the e-certificate will be made available. Hard copies will not be dispatched.

Once again, thanks for your interest in our online courses and certification. Happy learning.

- NPTEL team

MHRD logo Swayam logo


Goto google play store