CodeChef Program - At A Glance
Note:
● The topics per week can be rearranged based on the college requirements
● From 2nd year onwards, the program will always start with Beginner’s Course,
and once completed, will progress to Intermediate and then to Advanced levels (in
strict order).
● Each week, approximately 5 hand-picked problems for practice will be shared
● Each week, approximately 2 hand-picked problems for assignment/test (graded)
will be shared
● Every alternate week, a live doubt-solving session will be taken by CodeChef.
Year 1 = Foundation (Non-DSA)
● Problems which make the students use various constructs of the programming
language (like loops, if-else, operators, variables, etc.) will be shared as part of the
foundation syllabus.
● Students will be forced to think of the ways in which each construct can be used
differently for each problem, and by doing so, they develop an understanding for
the power of each programming construct and become very comfortable with the
basic tools that the language gives them.
● This fluency which comes with practicing writing code is critical for future
semesters when the students learn about more advanced algorithms and data
structures built on top of these constructs.
Year 2 and Year 3 - Indicative Beginners DSA-Focussed Progratm
Week 1 Basics of Programming, Time Complexity
Week 2 Arrays and Strings I
Week 3 Arrays and Strings II
Week 4 Sorting I
Week 5 Sorting II
Week 6 Binary Search
Week 7 Stacks, Queues
Week 8 BSTs, STLs - I
Week 9 BSTs, STLs - II
Week 10 Greedy Algorithms
Year 3 = Intermediate DSA-Focussed (for colleges with existing programming
culture)
Week 1 Basic Number Theory, Asymptotic Analysis
Week 2 Recursion and Dynamic Programming I
Week 3 Dynamic Programming II
Week 4 Dynamic Programming III
Week 5 Graphs I - Introduction to Trees, BFS, DFS
Week 6 Graphs II - LCA and more BFS, DFS
Week 7 Tree DP
Week 8 Graphs III - Shortest Paths
Week 9 Graphs IV - More Shortest Paths
Week 10 Graphs V - DSU, MSTs
Year 4 = Advanced DSA-Focussed Program (for colleges with advanced
programming culture)
Week 1 Advanced Graphs I - DAGs and SCCs
Week 2 Advanced Graphs II - Network Flows
Week 3 Advanced Graphs III - More Network Flows
Week 4 Square Root Decomposition
Week 5 Segment Trees I
Week 6 Segment Trees II
Week 7 Advanced Number Theory
Week 8 Advanced Dynamic Programming I
Week 9 Advanced Dynamic Programming II
Week 10 Advanced Dynamic Programming III