30-day roadmap to help you prepare for the TCS CodeVita
Day Topic Details Practice Links
1 Introduction to Programming Basic syntax, I/O operations, variables, data types Solve 5-7 basic problems on HackerRank https://www.hackerrank.com/domains/python https://www.youtube.com/watch?v=gt2KVrITlfw&list=PLTI9B_zoXidplQKIaLFAqhrwMbQB2rq_i&pp=gAQBiAQB
2 Control Structures (If, Else, Switch) Conditional statements and logical operators Solve problems on decision-making (Codeforces, LeetCode)
https://www.geeksforgeeks.org/decision-making-c-cpp/
3 Loops (For, While, Do-While) Basic looping concepts and nested loops Solve looping-based problems https://www.geeksforgeeks.org/loops-in-c-and-cpp/
4 Arrays Understanding 1D and 2D arrays, basic operations Solve problems involving arrays https://www.geeksforgeeks.org/arrays-in-c-cpp/
5 Strings String manipulation, functions, and operations Work on string-based problems https://www.geeksforgeeks.org/c-program-to-reverse-a-string/
6 Functions Defining, calling, recursive functions, and pass-by-value/reference Practice problems on recursion and functions https://www.geeksforgeeks.org/functions-in-c/
7 Time Complexity & Space Complexity Understanding Big-O notation, analyze simple problems Evaluate time complexity of practice problems https://www.geeksforgeeks.org/understanding-time-complexity-simple-examples/
8 Mathematics and Number Theory Prime numbers, GCD/LCM, factorial, modular arithmetic Solve number theory problems https://www.geeksforgeeks.org/prime-numbers/
9 Searching Algorithms Binary Search, Linear Search Solve binary search problems https://www.geeksforgeeks.org/binary-search/
10 Sorting Algorithms Bubble sort, Insertion sort, Merge sort, Quick sort Practice sorting algorithm problems https://www.geeksforgeeks.org/sorting-algorithms/
11 Recursion Advanced recursion problems like Tower of Hanoi Solve complex recursion problems https://www.geeksforgeeks.org/recursion/
12 Hashing Hash functions, hash maps, dictionaries Solve hash-based problems https://www.geeksforgeeks.org/hashing-data-structure/
13 Greedy Algorithms Greedy approach for problem-solving Solve classic greedy problems (e.g., activity selection)
https://www.geeksforgeeks.org/greedy-algorithms/
14 Dynamic Programming (DP) Basics Introduction to DP, memoization, tabulation Solve basic DP problems (e.g., Fibonacci, knapsack)
https://www.geeksforgeeks.org/dynamic-programming/
15 DP (Advanced) Advanced DP problems (e.g., longest common subsequence, matrix chain) Solve more advanced DP problems https://www.geeksforgeeks.org/advanced-dp-problems/
16 Backtracking Solving problems using backtracking (e.g., N-Queens, Sudoku) Practice backtracking problems https://www.geeksforgeeks.org/backtracking-algorithms/
17 Graph Theory Basics BFS, DFS, graph representation Solve graph traversal problems https://www.geeksforgeeks.org/graph-data-structure-and-algorithms/
18 Graph Algorithms Dijkstra’s algorithm, Floyd-Warshall, Kruskal's MST Solve graph algorithms problems https://www.geeksforgeeks.org/graph-algorithms/
19 Trees Binary Trees, Binary Search Trees (BST), Tree traversal Solve problems on tree traversal https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/
20 Heaps & Priority Queues Min-heap, max-heap, heap sort Practice heap-related problems https://www.geeksforgeeks.org/heap-data-structure/
21 Linked Lists Singly, doubly linked lists, basic operations Solve problems on linked lists https://www.geeksforgeeks.org/data-structures/linked-list/
22 Stack & Queue Implementations and applications of stack and queue Practice problems involving stacks and queues https://www.geeksforgeeks.org/stack-data-structure/
23 Bit Manipulation XOR, AND, OR, bit shifting techniques Solve bit manipulation problems https://www.geeksforgeeks.org/bitwise-algorithms/
24 Practice Mock Test Attempt a full-length mock test under timed conditions Identify weak areas and work on them https://codeforces.com/
25 Brute Force Approach Solve problems using brute force and optimize solutions Solve brute force to optimized problems https://www.geeksforgeeks.org/algorithms-greedy-vs-dynamic-vs-brute-force/
26 String Matching Algorithms KMP, Rabin-Karp, Z algorithm Practice string matching problems https://www.geeksforgeeks.org/knuth-morris-pratt-kmp-algorithm-for-pattern-searching/
27 Advanced Math (Combinatorics) Permutations, combinations, inclusion-exclusion principle Solve combinatorics problems https://www.geeksforgeeks.org/permutation-and-combination/
28 Competitive Programming Platforms Solve problems on platforms like Codeforces, CodeChef Practice mixed problems (easy to medium) https://www.codechef.com/practice
29 Problem Solving Strategy Analyze previous CodeVita problems Solve 3-5 previous years’ CodeVita problems https://www.hackerrank.com/tcs-codevita-questions
30 Final Revision & Mock Test Review important concepts, take another mock test Focus on weak areas, solve 5-7 final practice problems
https://leetcode.com/
Hacker Rank https://www.youtube.chttps://www.youtube.com/watch?v=gt2KVrITlfw&list=PLTI9B_zoXidplQKIaLFAqhrwMbQB2rq_i&pp=gAQBiAQBom/watch?v=B7qNcKJiegE&list=PLTI9B_zoXidp_m-cW8Dhj1JAvMKnFstOw&pp=gAQBiAQB
TCS NQT https://www.youtube.com/watch?v=B7qNcKJiegE&list=PLTI9B_zoXidp_m-cW8Dhj1JAvMKnFstOw&pp=gAQBiAQB
Python Workshop https://www.youtube.com/watch?v=gbspednIAb8&list=PLTI9B_zoXidra9vNG9RqOaA9IdKN9wC1A&pp=gAQBiAQB