Getting Started with Competitive Programming

(an NPTEL course)


We've put together a quick-start C++ Primer (work in progress).


  1. Algorithms by Jeff Erickson
  2. Open Data Structures by Pat Morin
  3. Algorithms Illuminated by Tim Roughgarden
  4. Algorithm Design by J. Kleinberg and E. Tardos
  5. Problem Solving with Algorithms and Data Structures using C++ by Brad Miller, David Ranum, and Jan Pearce
  6. Problem Solving with Algorithms and Data Structures using Python by Brad Miller and David Ranum
  7. Think Data Structures by Allen B. Downey
  8. Some introductory notes on Design and Analysis of Algorithms (PDF) by Venkatesh Raman
  9. Competitive Programming (4th Edition) by Steven Halim, Felix Halim, and Suhendry Effendy
  10. Competitive Programmer’s Handbook by Antti Laaksonen

Other NPTEL Courses.

  1. DSA with Python by Madhavan Mukund
  2. DSA by Naveen Garg

YouTube Channels.

  1. Codechef
  2. Errichto
  3. William Lin
  4. William Fiset


  1. Visualgo
  2. OpenDSA


  1. Petr Mitrichev