Day Module Sub-Topics Learning Outcomes Practice Problems Duration
1. Implement a simple password strength checker using String
operations
2. Build a program to compress consecutive characters in a string
JVM vs JDK vs JRE, Java Memory Basics (Stack vs Heap – Understand Java runtime basics, difference between primitive
(e.g., aaabb → a3b2)
Day 1 Java Foundations conceptual), Primitive vs Reference Types, Strings vs and object types, string immutability, and efficient string 6
3. Demonstrate performance difference between String
StringBuilder vs StringBuffer, Wrapper Classes & Autoboxing manipulation
concatenation in a loop vs StringBuilder
4. Debug a program where Integer comparison using == produces
incorrect results
1. Sort a list of Student objects by marks using Comparable and
by name using Comparator
Collections Framework overview, List vs Set vs Map 2. Identify duplicate values in a dataset of exam scores
Understand when to use different collection types, implement
Day 2 Java Collections & Comparators (conceptual use cases), Comparable vs Comparator, Basic 3. Build a simple log analyzer that counts occurrences of error 6
custom object sorting, and handle runtime errors safely
Exception Handling (try–catch, finally) messages from a text input
4. Modify a program to safely handle invalid numeric inputs using
exception handling
1. Design a Vehicle class hierarchy (Car, Bike, Truck)
demonstrating inheritance and method overriding
2. Implement a basic Banking system with Account,
Encapsulation, Abstraction, Inheritance, Polymorphism, Apply OOP principles to design clean class structures and SavingsAccount, and CurrentAccount classes
Day 3 OOPS Core Concepts 6
Method Overloading vs Overriding reuse code effectively 3. Create a Shape hierarchy (Circle, Rectangle, Triangle) and
calculate area using polymorphism
4. Design a simplified Parking System using classes such as
ParkingLot, ParkingSlot, and Vehicle
1. Design a Payment Processing system using an interface
(CreditCardPayment, UPIPayment, NetBankingPayment)
2. Implement a Singleton class for a Configuration Manager used
Overloading vs Overriding, Interface vs Abstract Class, Implement design patterns and differentiate interfaces vs across an application
Day 4 Advanced OOPS 6
final/static, Singleton pattern abstract classes 3. Create a Notification system using an abstract class
(EmailNotification, SMSNotification, PushNotification)
4. Design a simplified Browser History manager demonstrating
method overloading and appropriate use of static members
Time Complexity (Big-O intuition), Array traversal patterns, 1. Maximum Subarray Sum (Kadane’s Algorithm) 2. Best Time to
Analyze algorithm efficiency and design optimized solutions for
Day 5 Arrays & Complexity Two Pointer Technique, Prefix Sum concept, Kadane’s Buy & Sell Stock 3. Find equilibrium index in an array using Prefix 6
array problems
Algorithm Sum 4. Remove duplicates from a sorted array using Two Pointers
1. Longest Substring Without Repeating Characters 2. Longest
Advanced String Operations, Sliding Window Technique, Apply sliding window techniques to efficiently process substring with at most K distinct characters 3. Check if two strings
Day 6 Strings & Sliding Window 6
Character frequency problems, Basic pattern matching substring problems are anagrams (using character frequency) 4. Valid Parentheses
validation
1. Generate all subsets of a given set 2. Generate permutations of
Recursion fundamentals, Recursion Tree analysis, Base Develop recursive solutions and explore combinatorial search
Day 7 Recursion & Backtracking a string or array 3. Combination Sum problem 4. Solve a basic 6
case design, Backtracking template problems
maze path problem using recursion
Linked List structure, insertion/deletion operations, 1. Reverse a Linked List 2. Detect a cycle in a Linked List
Day 8 Linked List, Stack & Queue Fast–Slow pointer technique, Stack operations and Implement and manipulate fundamental linear data structures (fast–slow pointer) 3. Implement a Min Stack 4. Implement Queue 6
applications, Queue implementation using stack using two Stacks
Binary Tree basics, DFS traversals (Pre/In/Post), BFS 1. Maximum Depth of Binary Tree 2. Validate a Binary Search Tree
Day 9 Trees & Priority Structures traversal, BST properties, Lowest Common Ancestor Implement tree traversals and solve hierarchical data problems 3. Lowest Common Ancestor in a Binary Tree 4. Find Kth Largest 6
concept, Priority Queue basics Element using a priority structure
Merge Sort concept, Binary Search and variations, Greedy 1. Binary Search implementation and variations 2. Search in
Sorting, Binary Search & Dynamic Identify optimal strategies (divide-and-conquer, greedy, DP) for
Day 10 approach basics, Intro to Dynamic Programming (state & Rotated Sorted Array 3. Climbing Stairs (intro to DP) 4. House 6
Thinking algorithmic problems
transition) Robber problem