├── 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 |
--------------------------------------------------------------------------------