25-Day Java + Data Structures & Algorithms
Syllabus
Phase 1: Core Java Programming (Day 1–8)
Day 1: Java Setup and Basics
- Install JDK and IDE (IntelliJ/Eclipse)
- First Java program (Hello World)
- Print statements, comments, input (Scanner class)
- Simple problems: sum, average, calculator
Day 2: Variables and Data Types
- Primitive types: int, float, double, char, boolean
- Type casting and conversions
- Problems: swap numbers, temperature converter
Day 3: Operators and Expressions
- Arithmetic, relational, logical, assignment, unary operators
- Problems: odd/even, largest of three numbers, leap year
Day 4: Strings – Fundamentals
- String class methods: length(), substring(), replace(), toUpperCase()
- Concatenation, comparison
- Problems: palindrome, reverse string, count vowels
Day 5: Arrays – Basics
- Array declaration, initialization
- Traversal, max/min, sum of array
- Problems: reverse array, remove duplicates
Day 6: Control Flow
- if, if-else, switch-case
- for, while, do-while loops
- Problems: factorial, prime numbers, multiplication table
Day 7: Methods in Java
- Method definition, parameters, return types
- Method overloading
- Problems: Fibonacci, calculator using methods
Day 8: OOP Basics
- Classes, objects, constructors
- Example: Student class with attributes and methods
Phase 2: OOP and Mini Project (Day 9–12)
Day 9: OOP Concepts
- Inheritance
- Method overriding
- Example: Bank account system
Day 10: Polymorphism and Abstraction
- Overloading vs overriding
- Abstract classes, interfaces
- Example: Shape hierarchy (Circle, Rectangle, Triangle)
Day 11: Exception Handling and Packages
- try-catch-finally, throw, throws
- Custom exceptions
- Creating and using packages
Day 12: Mini Project 1
- Student Report Management or Simple ATM System
Phase 3: Data Structures (Day 13–19)
Day 13: Arrays and ArrayList
- Arrays vs ArrayList
- Problems: find frequency, largest element
Day 14: Sorting
- Bubble sort, selection sort, insertion sort
- Problems: sort array, remove duplicates
Day 15: Searching
- Linear search
- Binary search (iterative and recursive)
Day 16: Stacks
- LIFO concept
- Implementation using arrays and Stack class
- Problem: Balanced parentheses
Day 17: Queues
- FIFO concept
- Implementation using arrays and Queue interface
- Problem: Simple queue operations
Day 18: Linked Lists
- Node structure
- Singly linked list: creation, insertion, traversal
Day 19: Trees
- Binary tree basics
- Traversals: preorder, inorder, postorder
Phase 4: Algorithms (Day 20–25)
Day 20: Time and Space Complexity
- Big-O analysis with examples
Day 21: Recursion and Backtracking
- Recursive problems: factorial, Fibonacci, subsets
- Backtracking: simple maze path
Day 22: Graphs – Basics
- Graph representation (adjacency list, matrix)
- BFS and DFS
Day 23: Dynamic Programming – Basics
- Recursion vs DP
- Fibonacci with memoization
- Climbing stairs problem
Day 24: Greedy Algorithms
- Activity selection problem
- Minimum coin change
Day 25: Mini Project 2 + Mock Test
- Project: Library Management or Inventory System
- Mock test: Problems from arrays, strings, recursion, sorting, searching