First week: Foundations
● Day 1:
○ DSA:
■ Refresher Exercise in C (Arrays and basics)
■ Grasp main concept of DSA
○ OOP:
■ Java Fundamentals
● Day 2:
○ DSA:
■ Refresher exercise in C part 2 (pointers)
○ OOP:
■ Fundamentals of Java and try exercises
● Day 3:
○ DSA:
■ Time complexity and types of Data Structures
○ OOP:
■ Classes, Objects, Constructors
● Day 4 - 5:
○ DSA:
■ Array and Linked List
○ OOP:
■ Inheritance, Method Overriding
● Day 6:
○ DSA:
■ Array and Linked List exercise
○ OOP:
■ Polymorphism
● Day 7:
○ DSA:
■ More exercises
○ OOP:
■ Encapsulation, Abstraction
■ More exercises
Second Week: Intermediate Stuffs
● Day 1:
○ DSA:
■ Stacks and Queues
○ OOP:
■ Interfaces and Abstract Classes
● Day 2:
○ DSA:
■ Binary Tree
○ OOP:
■ Packages, Access Modifiers
● Day 3:
○ DSA:
■ Binary Search and BFS
○ OOP:
■ Packages, Access Modifiers
● Day 4 - 5:
○ DSA:
■ Array and Linked List
○ OOP:
■ Packages, Access Modifiers
■ Exception Handling
● Day 6:
○ DSA:
■ Exercise
○ OOP:
■ Exercise
● Day 7:
○ DSA:
■ More exercises
○ OOP:
■ More exercises
Third Week: Advanced Stuffs
● Day 1:
○ DSA:
■ Binary Search Tree (BST)
■ Insertion, Deletion, Traversal
○ OOP:
■ Array
● Day 2:
○ DSA:
■ Binary Search Tree (BST)
■ Insertion, Deletion, Traversal
○ OOP:
■ Array and Linked List
● Day 3:
○ DSA:
■ Searching & Sorting (Binary Search, Merge Sort, Quick Sort)
○ OOP:
■ HashMap, HashSet
● Day 4:
○ DSA:
■ Hashing (Hash tables using arrays and linked lists)
○ OOP:
■ TreeMap, PriorityQueue
● Day 5:
○ DSA:
■ Hashing (Hash tables using arrays and linked lists)
○ OOP:
■ Iterator, Comparator vs Comparable
● Day 6-7:
○ DSA:
■ Practice
○ OOP:
■ Practice
Fourth Week: Finals and Exercise
● Day 1-7:
○ DSA:
■ LeetCode and Hackaron
○ OOP:
■ Polishing
■ Exercise