├── Java Roadmap.md └── README.md /Java Roadmap.md: -------------------------------------------------------------------------------- 1 | # 6-Month Java Study Plan 2 | # Overview: 3 | This roadmap builds expertise in Java programming and problem-solving, progressing from core concepts to advanced frameworks. With practice questions and projects, it’s tailored for placement preparation. 4 | # Month 1: Java Basics and Fundamentals 5 | # Week 1: Java Setup and Syntax 6 | **Topics:** 7 | 8 | + Installing JDK, setting up IDE (Eclipse/IntelliJ). 9 | + Basic syntax, data types, variables, operators. 10 | + Input and output in Java. 11 | 12 | **Practice:** 13 | 14 | + Hello World Program 15 | + Simple Calculator 16 | # Week 2: Control Statements and Loops 17 | **Topics:** 18 | 19 | + **Decision-making:** if-else, switch-case. 20 | + **Loops:** for, while, do-while. 21 | 22 | **Practice:** 23 | 24 | + Write a program to check if a number is even or odd. 25 | + Pattern Printing (Easy) 26 | # Week 3: Arrays 27 | **Topics:** 28 | 29 | + Single-dimensional arrays. 30 | + Multi-dimensional arrays. 31 | + **Array operations:** sorting, searching. 32 | 33 | **Practice:** 34 | 35 | + Find the Largest Element (Easy) 36 | + Binary Search (Easy) 37 | # Week 4: Functions and Methods 38 | **Topics:** 39 | 40 | + Defining and calling methods. 41 | + Method overloading and recursion. 42 | 43 | **Practice:** 44 | 45 | + Factorial Using Recursion (Easy) 46 | + Write a method to calculate the sum of two numbers. 47 | # Month 2: Object-Oriented Programming (OOP) 48 | # Week 5: Introduction to OOP Concepts 49 | **Topics:** 50 | 51 | + Classes, objects, and constructors. 52 | + Access modifiers (public, private, protected). 53 | 54 | **Practice:** 55 | 56 | + Write a program to create and initialize a Student class. 57 | + Constructor Example (Easy) 58 | # Week 6: Inheritance and Polymorphism 59 | **Topics:** 60 | 61 | + **Types of inheritance:** Single, multilevel, hierarchical. 62 | + Overloading and overriding methods. 63 | 64 | **Practice:** 65 | 66 | + Inheritance Example (Easy) 67 | + Write a program demonstrating method overriding in a Shape class hierarchy. 68 | # Week 7: Abstraction and Encapsulation 69 | **Topics:** 70 | 71 | + Abstract classes and interfaces. 72 | + **Encapsulation:** Getters and setters. 73 | 74 | **Practice:** 75 | 76 | + Encapsulation Example (Easy) 77 | + Write an interface Animal and implement it in classes like Dog and Cat. 78 | # Week 8: Collections Framework (Part 1) 79 | **Topics:** 80 | 81 | + **Lists:** ArrayList, LinkedList. 82 | + **Sets:** HashSet, TreeSet. 83 | 84 | **Practice:** 85 | 86 | + ArrayList Example (Easy) 87 | + Write a program to remove duplicates from a list using a HashSet. 88 | # Month 3: Collections and Advanced Topics 89 | # Week 9: Collections Framework (Part 2) 90 | **Topics:** 91 | 92 | + **Maps:** HashMap, TreeMap. 93 | + Iterators and for-each loops. 94 | 95 | **Practice:** 96 | 97 | + Write a program to count word frequency using a HashMap. 98 | + HashMap Example (Easy) 99 | # Week 10: Exception Handling 100 | **Topics:** 101 | 102 | + try-catch, finally, throw, throws. 103 | + User-defined exceptions. 104 | 105 | **Practice:** 106 | 107 | + Exception Handling Example (Easy) 108 | + Write a program to handle division by zero using exceptions. 109 | # Week 11: File Handling 110 | **Topics:** 111 | 112 | + File reading and writing (FileReader, BufferedWriter). 113 | 114 | **Practice:** 115 | 116 | + Write a program to read from a file and count the number of lines. 117 | + File Handling Example (Easy) 118 | # Week 12: Multithreading 119 | **Topics:** 120 | 121 | + Thread lifecycle, creating threads (Thread, Runnable). 122 | + Synchronization. 123 | 124 | **Practice:** 125 | 126 | + Write a program to print even and odd numbers using two threads. 127 | + Multithreading Example (Medium) 128 | # Month 4: Advanced Java 129 | # Week 13: Java 8 Features 130 | **Topics:** 131 | 132 | + Lambda expressions, functional interfaces. 133 | + Stream API. 134 | 135 | **Practice:** 136 | 137 | + Write a program to filter even numbers using Stream API. 138 | + Stream API Examples (Easy) 139 | # Week 14: JDBC (Database Connectivity) 140 | **Topics:** 141 | 142 | + Basics of JDBC, executing queries. 143 | + Connecting Java to MySQL. 144 | 145 | **Practice:** 146 | 147 | + Write a program to fetch student details from a database. 148 | + JDBC Example (Medium) 149 | # Month 5: Frameworks and Mini Projects 150 | # Week 15: Spring Boot Basics 151 | **Topics:** 152 | 153 | + Introduction to Spring Boot. 154 | + Creating REST APIs. 155 | 156 | **Practice:** 157 | 158 | + Create a basic API for a Book service. 159 | + Spring Boot Guide 160 | # Week 16: Hibernate Basics 161 | **Topics:** 162 | 163 | + Object-Relational Mapping (ORM). 164 | + CRUD operations using Hibernate. 165 | 166 | **Practice:** 167 | 168 | + Create an application to manage employee records using Hibernate. 169 | # Weeks 17–18: Mini Projects 170 | **Projects:** 171 | 172 | + **Student Management System:** Manage student records using OOP, file handling, and collections. 173 | + **Library Management System:** Build a CRUD application with JDBC or Hibernate. 174 | 175 | # Month 6: Placement Preparation 176 | # Weeks 19–20: DSA in Java 177 | + **Revise key DSA topics:** Arrays, strings, recursion, trees, and graphs. 178 | + Practice Top Interview Questions. 179 | # Weeks 21–24: Mock Tests and Final Revision 180 | + Conduct mock interviews on Pramp or InterviewBit. 181 | + Solve company-specific problems on platforms like GeeksforGeeks and LeetCode 182 | # Competitive Programming: 183 | 184 | + Use platforms like CodeChef, HackerRank, and CodeForces to practice competitive coding. 185 | 186 | + **Company-Specific Practice:** Solve problems asked in past interviews of target companies using GeeksforGeeks' "Company Interview Experiences." 187 | 188 | 189 | + **Soft Skills & Resume Building:** Work on communication and problem explanation skills. 190 | + Tailor your resume with projects and Java-related skills. 191 | 192 | + **Time Management:** Spend 2-3 hours daily on Java, with additional time on DSA practice. Allocate more time on weekends for mini-projects. 193 | 194 | + **Mock Interviews:** Regular mock interviews on Pramp, Topmate, or with peers to build confidence. 195 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Six Month DSA Study Plan 2 | # Overview : 3 | This 6-month roadmap is a comprehensive guide to mastering DSA and placement skills. It starts with fundamental topics like arrays, strings, and logical reasoning, gradually progressing to advanced concepts such as dynamic programming, graphs, and tries. The plan concludes with mock tests and interview simulations to solidify your preparation. By completing this roadmap, you'll gain a strong command of problem-solving, be confident in technical interviews, and be well-equipped to crack placements at top companies. 4 | *** 5 | # Month 1 : Fundamentals and Aptitude Skills 6 | # Week 1 : Array and Problem Solving Skills 7 | **Topics:** 8 | + Array Basics, Sorting, Searching 9 | + Two-pointer, Sliding Window Patterns 10 | + Introduction to Logical Reasoning 11 |
12 | Practice(Coding): 13 |
14 | i. [Easy] [Two Sum] (https://leetcode.com/problems/two-sum/description/) 15 |
16 | ii. [Easy] [Rotate Array] (https://leetcode.com/problems/rotate-array/description/) 17 |
18 | iii. [Easy] [Find Missing Number] (https://leetcode.com/problems/missing-number/description/) 19 |
20 | iv. [Medium] [Best Time to Buy and Sell Stock] (https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/description/) 21 |
22 | v. [Medium] [Maximum Subarray (Kadane's Algorithm)] (https://leetcode.com/problems/maximum-subarray/description/) 23 |
24 |
25 | Placement Aptitude: 26 | 27 | + Number Series - Easy 28 | + Simple and Compound Interest - Medium 29 | *** 30 | # Week 2 : String Basics and Aptitude - Logical Reasoning 31 | **Topics:** 32 | 33 | + String Manipulations (Anagrams, Substrings) 34 | + HashMap Applications in Strings 35 | + Logical Reasoning: Puzzles, Statement Analysis 36 |
37 | Practice (Coding): 38 | 39 | i. [Easy] [Valid Anagram] (https://leetcode.com/problems/valid-anagram/description/) 40 |
41 | ii. [Easy] [Longest Common Prefix] (https://leetcode.com/problems/longest-common-prefix/description/) 42 |
43 | iii. [Medium] [Longest Substring Without Repeating Characters[ (https://leetcode.com/problems/longest-substring-without-repeating-characters/description/) 44 |
45 | iv. [Medium] [Find All Anagrams in a String] (https://leetcode.com/problems/find-all-anagrams-in-a-string/description/) 46 |
47 | v. [Medium] [Group Anagrams] (https://leetcode.com/problems/group-anagrams/description/) 48 |
49 |
50 | 51 | Placement Aptitude: 52 | 53 | + Blood Relations - Medium 54 | + Direction-Based Problems - Medium 55 | *** 56 | # Week 3 : Linked List :Basics 57 | **Topics:** 58 | 59 | + Singly Linked List, Fast & Slow Pointers 60 | + Aptitude: Quantitative Analysis 61 |
62 | Practice (Coding): 63 | 64 | i. [Easy] [Reverse Linked List] (https://leetcode.com/problems/reverse-linked-list/description/) 65 |
66 | ii. [Medium] [Merge Two Sorted Lists] (https://leetcode.com/problems/merge-two-sorted-lists/description/) 67 |
68 | iii. [Medium] [Linked List Cycle Detection] (https://leetcode.com/problems/linked-list-cycle-ii/description/) 69 |
70 | iv. [Medium] [Add Two Numbers] (https://leetcode.com/problems/add-two-numbers/description/) 71 |
72 |
73 | Placement Aptitude: 74 | 75 | + Profit and Loss - Medium 76 | + Ratio and Proportions - Medium 77 | *** 78 | # Week 4 : Binary Tree :Basics 79 | **Topics:** 80 | 81 | + Binary Tree Traversals (DFS, BFS) 82 | + Aptitude: Data Interpretation 83 |
84 | Practice (Coding): 85 | 86 | i. [Easy] [Binary Tree Inorder Traversal] (https://leetcode.com/problems/binary-tree-inorder-traversal/description/) 87 |
88 | ii. [Easy] [Symmetric Tree] (https://leetcode.com/problems/symmetric-tree/description/) 89 |
90 | iii. [Medium] [Binary Tree Level Order Traversal] (https://leetcode.com/problems/binary-tree-level-order-traversal/description/) 91 |
92 | iv. [Medium] [Maximum Depth of Binary Tree] (https://leetcode.com/problems/maximum-depth-of-binary-tree/description/) 93 |
94 |
95 | Placement Aptitude: 96 | 97 | + Pie Charts - Medium 98 | + Bar Graph Analysis - Medium 99 | *** 100 | # Month 2 :Intermediate Topics & Placement Mock Tests 101 | # Week 1 : Binary Search and Sorting 102 | **Topics:** 103 | 104 | + Binary Search Variations, Sorting Techniques 105 | + Logical Puzzles (Aptitude) 106 |
107 | Practice (Coding): 108 | 109 | i. [Medium] [Binary Search] (https://leetcode.com/problems/binary-search/description/) 110 |
111 | ii. [Medium] [Search a 2D Matrix] (https://leetcode.com/problems/search-a-2d-matrix/description/) 112 |
113 | iii. [Medium] [Find Peak Element] (https://leetcode.com/problems/find-peak-element/description/) 114 |
115 |
116 | Placement Aptitude: 117 | 118 | + Clock Puzzles - Medium 119 | + Seating Arrangements - Medium 120 | *** 121 | # Week 2: Advanced Arrays & Strings 122 | **Topics:** 123 | 124 | + Advanced Problems with Sliding Window 125 | + Logical Analysis 126 | +
127 | Practice (Coding): 128 | 129 | i. [Medium] [Subarray Sum Equals K] (https://leetcode.com/problems/subarray-sum-equals-k/description/) 130 |
131 | ii. [Medium] [Minimum Window Substring] (https://leetcode.com/problems/minimum-window-substring/description/) 132 |
133 | iii. [Medium] [Product of Array Except Self] (https://leetcode.com/problems/product-of-array-except-self/description/) 134 |
135 | iv. [Medium] [Longest Palindromic Substring] (https://leetcode.com/problems/longest-palindromic-substring/description/) 136 | *** 137 | #Week 3: Graph Basics 138 | **Topics:** 139 | 140 | + Graph Representations, BFS, DFS 141 | + Basic Graph Algorithms 142 |
143 | Practice (Coding): 144 | 145 | i. [Medium] [Number of Islands] (https://leetcode.com/problems/number-of-islands/description/) 146 |
147 | ii. [Medium] [Clone Graph] (https://leetcode.com/problems/clone-graph/description/) 148 |
149 | iii. [Medium] [Word Ladder] (https://leetcode.com/problems/word-ladder/description/) 150 | *** 151 | # Week 4: Recursion and Backtracking 152 | **Topics:** 153 | 154 | + Basic Recursion and Backtracking 155 |
156 | Practice (Coding): 157 | 158 | i. [Easy] [Subsets] (https://leetcode.com/problems/subsets/description/) 159 |
160 | ii. [Medium] [Combination Sum] (https://leetcode.com/problems/combination-sum/description/) 161 |
162 | iii. [Medium] [Palindrome Partitioning] (https://leetcode.com/problems/palindrome-partitioning/description/) 163 |
164 | iv. [Hard] [N-Queens] (https://leetcode.com/problems/n-queens/description/) 165 | *** 166 | # Month 3: Dynamic Programming Basics & Optimization 167 | # Week 1: Introduction to DP 168 | **Topics:** 169 | 170 | + Memoization and Tabulation Basics 171 |
172 | Practice (Coding): 173 | 174 | i. [Easy] [Climbing Stairs] (https://leetcode.com/problems/climbing-stairs/description/) 175 |
176 | ii. [Medium] [House Robber] (https://leetcode.com/problems/house-robber/description/) 177 |
178 | iii. [Medium] [Longest Increasing Subsequence] (https://leetcode.com/problems/longest-increasing-subsequence/description/) 179 |
180 | iv. [Medium] [Jump Game] (https://leetcode.com/problems/jump-game/description/) 181 | *** 182 | # Week 2: Intermediate DP Problems 183 | **Topics:** 184 | 185 | + Knapsack Variants 186 |
187 | Practice (Coding): 188 | 189 | i. [Medium] [Partition Equal Subset Sum] (https://leetcode.com/problems/partition-equal-subset-sum/description/) 190 |
191 | ii. [Medium] [Coin Change] (https://leetcode.com/problems/coin-change/description/) 192 |
193 | iii. [Medium] [Target Sum] (https://leetcode.com/problems/target-sum/description/) 194 |
195 | iv. [Medium] [Minimum Path Sum] (https://leetcode.com/problems/minimum-path-sum/description/) 196 | *** 197 | # Week 3: Greedy Algorithms 198 | **Topics:** 199 | 200 | + Interval Problems, Activity Selection 201 |
202 | Practice (Coding): 203 | 204 | i. [Medium] [Best Time to Buy and Sell Stock II] (https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/description/) 205 |
206 | ii. [Medium] [Jump Game II] (https://leetcode.com/problems/jump-game-ii/description/) 207 |
208 | iii. [Medium] [Task Scheduler] (https://leetcode.com/problems/task-scheduler/description/) 209 |
210 | iv. [Hard] [Minimum Number of Refueling Stops] (https://leetcode.com/problems/minimum-number-of-refueling-stops/description/) 211 | *** 212 | # Week 4: Priority Queues & Heaps 213 | **Topics:** 214 | 215 | + Top-K Problems, Min-Heap, Max-Heap 216 |
217 | Practice (Coding): 218 | 219 | i. [Medium] [Kth Largest Element in an Array] (https://leetcode.com/problems/kth-largest-element-in-an-array/description/) 220 |
221 | ii. [Medium] [Merge K Sorted Lists] (https://leetcode.com/problems/merge-k-sorted-lists/description/) 222 |
223 | iii. [Medium] [Sliding Window Maximum] (https://leetcode.com/problems/sliding-window-maximum/description/) 224 |
225 | iv. [Hard] [Find Median from Data Stream] (https://leetcode.com/problems/find-median-from-data-stream/description/) 226 | *** 227 | # Month 4: Advanced Topics and Company Patterns 228 | # Week 1: Graphs - Advanced Concepts 229 | **Topics:** 230 | 231 | + Topological Sort, Union-Find 232 |
233 | Practice (Coding): 234 | 235 | i. [Medium] [Alien Dictionary] (https://leetcode.com/problems/alien-dictionary/description/) 236 |
237 | ii. [Medium] [Course Schedule II] (https://leetcode.com/problems/course-schedule-ii/description/) 238 | *** 239 | # Week 2: Advanced DP 240 | **Topics:** 241 | 242 | + DP on Trees 243 |
244 | Practice (Coding): 245 | 246 | i. [Hard] [Longest Path in a Matrix] (https://leetcode.com/problems/longest-increasing-path-in-a-matrix/description/) 247 |
248 | *** 249 | # Week 3: Tries Basics 250 | **Topics:** 251 | 252 | + Trie Operations, String Matching 253 |
254 | Practice (Coding): 255 | 256 | i. [Medium] [Implement Trie] (https://leetcode.com/problems/implement-trie-prefix-tree/description/) 257 |
258 | ii. [Medium] [Word Search ] (https://leetcode.com/problems/word-search/description/) 259 |
260 | iii. [Medium] [Design Search Autocomplete System] (https://leetcode.com/problems/design-search-autocomplete-system/description/) 261 |
262 | # Months 5 & 6: Revision and Mock Interview Prep 263 | # Week 1–4: 264 | # Weekly Company- 265 | + Specific Mock Tests: Medium to Hard 266 | + Focused Revision: Review arrays, strings, DP, and graph problems. Medium to Hard 267 | + Mock Interviews: Medium to Hard 268 | + Aptitude Rounds: Continue practice in logical reasoning and data interpretation. Medium 269 | # Tips for Maximum Placement Success: 270 | + Set Daily Goals: Spend 2–4 hours daily on coding problems and aptitude. 271 | + Focus on Weak Areas: Weekly reviews to ensure constant improvement. 272 | + Collaborate: Solve problems in groups for better understanding. 273 | Track Progress: Use spreadsheets or apps to monitor topic completion and progress. 274 | --------------------------------------------------------------------------------