CodeChef Logo CodeChef Logo
Courses

Programming and DSA

Learn to think like a programmer. Develop your problem-solving skills with essential data structures and algorithms.

Career Paths

From beginner to job-ready. Explore our curated career paths designed to help you succeed in the tech industry.

Other Courses

Programming and DSA

Explore courses

Catalogue

Programming and DSA

Learn to think like a programmer. Develop your problem-solving skills with essential data structures and algorithms.

Career Paths

From beginner to job-ready. Explore our curated career paths designed to help you succeed in the tech industry.

Other Courses

Explore courses
Practice Compete Compiler
Upgrade to Pro
Courses

Programming and DSA

Learn to think like a programmer. Develop your problem-solving skills with essential data structures and algorithms.

Career Paths

From beginner to job-ready. Explore our curated career paths designed to help you succeed in the tech industry.

Other Courses

Programming and DSA

Explore courses

Catalogue

Programming and DSA

Learn to think like a programmer. Develop your problem-solving skills with essential data structures and algorithms.

Career Paths

From beginner to job-ready. Explore our curated career paths designed to help you succeed in the tech industry.

Other Courses

Explore courses
Practice Compete Compiler
Home

Prepare for Foundation Exam

Most top-tier companies want programmers good at Data Structures & Algorithms. Be what they’re looking for.

Become Foundation Certified

Enroll Now
Resources Mock Test More Resources

Resources

01

Asymptotic analysis (Big-O notation)

  • Basic
    • youtube.com - Time complexity of a computer program
    • youtube.com - Big-O notation in 5 minutes - The basics
    • youtube.com - Definition Of Big O Notation - Intro to Theoretical Computer Science
    • youtube.com - Algorithms Lecture 1 -- Introduction to asymptotic notations
    • iarcs.org.in - Measuring the efficiency of algorithms
    • interactivepython.org - Particularly for Big-O notation
  • Advanced
    • rob-bell.net - A beginner's guide to Big O notation
    • youtube.com - Big O Notation, Gayle Laakman McDowell
    • web.mit.edu - Big O notation
    • youtube.com - Time and space complexity analysis of recursive programs - using factorial
    • A very nice tutorial with examples
  • Practice Problems
    • Check some MCQs on space and time complexity here.
    • You can see some problems with solutions here: Time complexity of an algorithm

02

Arrays

  • Resources
    • codechef.com - Data Structure Tutorial: Array
    • cs.cmu.edu - Arrays
    • geeksforgeeks.org - Arrays Data Structure
  • Practice Problems
    • codechef.com - LECANDY, editorial
    • codechef.com - CNOTE, editorial
    • codechef.com - SALARY, editorial
    • codechef.com - CHN15A, editorial
    • codechef.com - RAINBOWA, editorial
    • codechef.com - FRGTNLNG, editorial
    • codechef.com - COPS, editorial

03

Strings

  • Resources
    • tutorialspoint.com - C++ strings
    • guru99.com - Java strings
    • docs.python.org - Python strings
    • tutorialspoint.com - Python strings
    • geeksforgeeks.org - Many string questions
  • Practice Problems
    • codechef.com - CSUB, editorial
    • codechef.com - LAPIN, editorial

04

Stack and Queue

  • Resources
    • geeksforgeeks.org - Stack Data Structure
    • geeksforgeeks.org - Introduction and Array Implementation
    • tutorialspoint.com - Data Structures Algorithms
    • cs.cmu.edu - Stacks
    • cs.cmu.edu - Stacks and Queues
    • cs.cmu.edu - Stacks and Queues
  • Practice Problems
    • spoj.com - JNEXT
    • spoj.com - STPAR
    • spoj.com - ONP
    • codechef.com - COMPILER
    • spoj.com - MMASS
    • spoj.com - HISTOGRA
    • codeforces.com - D. Maximum Xor Secondary
    • spoj.com - ANARC09A
    • codeforces.com - C. Minimal string
    • codeforces.com - B. Alternating Current
    • codeforces.com - C. Longest Regular Bracket Sequence

05

Basic math operations (addition, subtraction, multiplication, division, exponentiation)

  • codechef.com - A tutorial on Fast Modulo Multiplication

06

Euclid’s GCD Algorithm

  • youtube.com - Mycodeschool video
  • khanacademy.org - The Euclidean Algorithm
  • geeksforgeeks.org - Example program to find gcd in c++:

07

Prime Numbers, divisibility of numbers

  • Resources
    • Only O(sqrt(n)) algorithm for finding whether a number is a prime, factorization of a number.
    • Finding prime factors by taking the square root
  • Practice Problems
    • community.topcoder.com - DivisorInc
    • community.topcoder.com - Prime Polynom
    • community.topcoder.com - Prime Anagrams
    • community.topcoder.com - Refactoring

08

Basic Recursion

  • Resources
    • topcoder.com - An Introduction to Recursion, Part 1
    • topcoder.com - An Introduction to Recursion: Part 2
    • geeksforgeeks.org - Recursion ;(along with questions)
    • web.mit.edu - Recursion
    • csee.umbc.edu - Recursion ;(Examples with exercises)
    • loveforprogramming.quora.com - Backtracking, Memoization & Dynamic Programming
    • byte-by-byte - Recursion for Coding Interviews
  • Practice Problems
    • codechef.com - NOKIA, editorial
    • codechef.com - TRISQ, editorial
    • codechef.com - LFSTACK, editorial
    • codechef.com - FICE, editorial

09

Greedy Algorithms

  • Resources
    • iarcs.org.in - Greedy Algorithms
    • iarcs.org.in - Greedy Algorithms
    • topcoder.com - Greedy Algorithms
    • Greedy Algorithms
  • Practice Problems
    • codechef.com - TACHSTCK, editorial
    • codechef.com - CIELRCPT, editorial
    • codechef.com - MAXDIFF, editorial
    • codechef.com - CHEFST, editorial
    • codechef.com - CAKEDOOM, editorial
    • codechef.com - CLETAB, editorial
    • codechef.com - TADELIVE, editorial
    • codechef.com - MANYCHEF, editorial
    • codechef.com - MMPROD, editorial
    • codechef.com - CHEFTMA, editorial
    • codechef.com - STICKS, editorial
    • spoj.com - BAISED
    • spoj.com - BALIFE
    • spoj.com - GCJ101BB
    • codechef.com - FGFS
    • codechef.com - KNPSK
    • codechef.com - LEMUSIC
    • spoj.com - ARRANGE
    • spoj.com - FASHION

10

Dynamic programming (Basic DP)

  • Resources
    • medium.freecodecamp.org - Demystifying Dynamic Programming
    • iarcs.org.in - Dynamic Programming - Tiling
    • topcoder.com - Dynamic Programming – From Novice to Advanced
    • illinois.edu - Dynamic Programming ;(Exercises are recommended)
    • codechef.com - Dynamic Programming
    • geeksforgeeks.org - Dynamic Programming ;(Contains a lot of practice sessions)
    • MIT OCW - Dynamic Programming I
    • MIT OCW - Dynamic Programming II
    • MIT OCW - Dynamic Programming III
    • MIT OCW - Dynamic Programming IV
  • Practice Problems
    • codechef.com - ALTARAY, editorial
    • codechef.com - DELISH, editorial
    • codechef.com - DBOY, editorial
    • codechef.com - XORSUB, editorial
    • codechef.com - GRID, editorial
    • codechef.com - TADELIVE, editorial
    • codechef.com - FROGV, editorial
    • codechef.com - MATRIX2, editorial
    • codechef.com - AMSGAME2, editorial
    • spoj.com - MDOLLS
    • spoj.com - MSTICK
    • spoj.com - MCARDS
    • spoj.com - MIXTURES
    • spoj.com - SAMER08D
    • spoj.com - AIBOHP

11

Naive string searching

  • Resources
    • geeksforgeeks.org - Naive Pattern Searching

12

Sorting

  • khanacademy.org
  • visualgo.net
  • iarcs.org.in
  • Merge sort
    • youtube.com - Merge sort algorithm
    • codechef.com -MRGSRT
  • Quick sort
    • youtube.com - Quicksort algorithm
    • codechef.com -TSORT
  • Counting sort
    • geeksforgeeks.org - Counting Sort
    • codechef.com - TACHSTCK, editorial
    • codechef.com - STICKS, editorial

13

Binary Search

  • Resources
    • topcoder.com (Try solving problems of Simple and Moderate level as mentioned in the end of the link)
    • codechef.com
    • usfca.edu
    • khanacademy.org
  • Detailed Theoretical analysis
    • cmu.edu (A theoretical analysis)
  • Practice Problems
    • geeksforgeeks.org - Binary Search (Contains some solved problems)
    • codechef.com - STRSUB, editorial
    • codechef.com - ASHIGIFT, editorial
    • codechef.com - STACKS, editorial
    • codechef.com - DIVSET, editorial
    • codechef.com - LOWSUM, editorial
    • codechef.com - SNTEMPLE, editorial
    • codechef.com - SNAKEEAT, editorial
    • codechef.com - SCHEDULE, editorial
    • codechef.com - RIGHTTRI, editorial
    • codechef.com - FORESTGA, editorial
    • codechef.com - CHEFHCK2,editorial
    • spoj.com - ABCDEF
    • spoj.com - NOTATRI
    • spoj.com - SCALE
    • spoj.com - SUMFOUR
    • spoj.com - SUBSUMS
    • spoj.com - ANARC05B
    • spoj.com - RENT
    • spoj.com - PIE
    • spoj.com - MKUHAR
    • spoj.com - SVADA
    • spoj.com - SUBS

Mock Test

Practice on the exact problems which had appeared in a past CodeChef contests-

  • Test 1 - codechef.com/FLMOCK01
  • Test 2 - codechef.com/FLMOCK02
  • Test 3 - codechef.com/FLMOCK03
  • Test 4 - codechef.com/FLMOCK04
More Resources

Past Foundation Exam

Practice on the exact problems which had appeared in a past Foundation level exam -

  • Test 1 - Link

DSA Learning Series

This is a series which covers almost all topics.

  • Learn Data Structures and Algorithms - LEARNDSA

Practice from CodeChef Problem Lib

Practice from CodeChef huge collection of problems.

  • CodeChef Problems based on Difficulty Levels - Link
  • Problems with Tags - Link
Workden, MNR PRIDE, 14, HAL Old Airport Rd, Domlur I Stage, 1st Stage, DOMLUR, Bengaluru, Karnataka 560071 [email protected] +91 95911 47880
Find us online

ROADMAPS

Learn Python
Learn Java
Learn C
Learn C++
Data structures and Algorithms
Competitive Programming
More Roadmaps

CAREER PATHS

React JS Developer
Full stack Developer
SQL for Data Analysis
Frontend Developer
Java Backend Developer
Data Analysis using Python
Python Backend Developer
C++ Developer
Machine Learning using Python

COMPILERS

HTML online compiler
C++ online compiler
C online compiler
Java online compiler
Python online compiler
SQL online compiler
JavaScript online compiler
React online compiler
More compilers

COMPANY

About us
For colleges
Coding Contests
Blogs
Contact us
Privacy Policy
Frequently Asked Questions

© 2025 CodeChef Inc. All rights reserved.

We use cookies to improve your experience and for analytical purposes. Read our Privacy Policy and Terms to know more. You consent to our cookies if you continue to use our website.