Competitive Programming Tutorials | CodeChef

Competitive Programming Tutorials

Mini Courses

Mini Courses are to give you a quick overview on the topic along with practicing problems by the top CodeChef Educators. Whether you are starting out or want to have a quick revision, these 3 sessions courses will help you learn the topics quickly.

Topic Courses by Educator
Aho-Corasick-Algorithm Riya Bansal
Backtracking Sanket Singh
Binary Search Deepak Gour
Binary Trees Riya Bansal
Building Blocks of Programming Arnab Chakraborty
Combinatorics Himanshu Singh
Disjoint Set Union Triveni Mahatha
Dynamic Programming Through Problem Solving Arjun ArulHimanshu SinghSidhant Bansal
Dynamic Programming - Sum over subset Vivek Chauhan
FAANG Interview Problems Sanket Singh
Fast Exponentiation and Recurrence Relations Triveni Mahatha
Fenwick and Segment Trees Surya Kiran
FFT in Polynomial operations and Advanced Combinatorics Nishchay Manwani
Game Theory Surya Kiran
Graph Algorithms Triveni MahathaHimanshu Singh
Graph Interview Problems Sanket Singh
Graph Theory (in Hindi) Utkarsh Gupta
Graphs and its properties Surya Kiran
Graphs using Problem Solving Riya Bansal
Greedy Algorithms Srikkanth
Hashing Riya Bansal
Heaps Rohit Mazumder
Internship Interview Problems Sanket Singh
Interview Problem Solving on Sets and Hash Maps Riya Bansal
Linked List Problems Riya Bansal
Meet In The Middle Algorithm Vivek Chauhan
Mysterious Topic Problems Pulkit Chhabra
Number Theory Himanshu Singh
OOPS in Java Riya Bansal
Pattern Matching Algorithm Riya Bansal
Probability and Expected Values Triveni Mahatha
Recursion Sanket Singh
Searching Sanket SinghRobin
Segment Trees Utkarsh GuptaTriveni MahathaTanuj Khattar
Shortest Path Algorithms Triveni MahathaPulkit Chhabra
Spanning Trees Rohit MazumderPulkit Chhabra
Stack & Queues Riya Bansal
Tips n Tricks of Competitive Coding Arnab Chakraborty
Trees Algorithms Himanshu Singh
Trees using Problems Solving Riya Bansal
Trie Data Structure Triveni Mahatha

Indian Programming Camp

Whether you’re a beginner, an intermediate or an advanced programmer, we have a track for each of you to help level up.

Course Topics Course Link
Beginner Track - Basic Programming Constructs
- Problem Solving Basics
- Complexity Theory
- Basic Mathematics
- Stacks & Queues
- Sorting & Searching
- Mastering C++ STL
- Recursion and Backtracking
- Dynamic Programming Basics
- Graph Theory Basics
Intermediate Track - Trees
- Segment Trees
- Game Theory
- Intermediate Dynamic Programming
- String Hashing
- Square Root Decomposition
- Queries on Trees
- DFS and BFS Spanning Trees
- Basic/Intermediate number theory
Advanced Track - Persistent Data Structures
- Linear Algebra
- Biconnectivity
- Suffix Arrays
- Centroid Decomposition
- Flows
- FFT and Variants
- Segment Tree Beats
- DP Optimizations