Getting Started with Competitive Programming

By Prof. Neeldhara Misra   |   IIT Gandhinagar
Learners enrolled: 7545
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.

PREREQUISITES  :  Data Structures and Algorithms, Familiarity with a programming language (ideally C++ or Python)

INDUSTRY SUPPORT  :  Most technology-based companies typically hire based on a test of coding competence and this course will prepare students for this. Notable examples include: Facebook, Google, Amazon, Apple, Microsoft, etc.
Course Status : Completed
Course Type : Elective
Duration : 12 weeks
Category :
  • Computer Science and Engineering
Credit Points : 3
Level : Undergraduate
Start Date : 23 Jan 2023
End Date : 14 Apr 2023
Enrollment Ends : 06 Feb 2023
Exam Registration Ends : 17 Mar 2023
Exam Date : 29 Apr 2023 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, 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 Misra

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.

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: 
29 April 2023 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 AVERAGE ASSIGNMENT SCORE >=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 Gandhinagar .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