• [x] Complete Git & GitHub Course
  • [x] Introduction to Programming
    • [x] Types of languages
    • [x] Memory man agement
  • [x] Flow of the program
    • [x] Flowcharts
    • [x] Pseudocode
  • [x] Introduction to Java
    • [x] Introduction
    • [x] How it works
    • [x] Setup Installation
    • [x] Input and Output in Java
    • [x] Conditionals & Loops in Java
      • [x] if else
      • [x] loops
      • [x] Switch statements
    • [x] Data types
    • [x] Coding best practices
  • [ ] Functions
    • [x] Introduction
    • [ ] Scoping in Java
    • [ ] Shadowing
    • [ ] Variable Length Arguments
    • [ ] Overloading
  • [x] Arrays
    • [x] Introduction
    • [x] Memory management
    • [x] Input and Output
    • [x] ArrayList Introduction
    • [x] Sorting
      • [x] Insertion Sort
      • [x] Selection Sort
      • [x] Bubble Sort
      • [x] Count Sort
      • [ ] Radix Sort
      • [ ] Cyclic Sort
    • [x] Searching
      • [x] Linear Search
      • [x] Binary Search
      • [x] Modified Binary Search
    • [ ] Sliding window
    • [ ] Two Pointer
    • [ ] Subarray Questions
  • [ ] Pattern questions
  • [ ] Strings
    • [ ] Introduction
    • [ ] How Strings work
    • [ ] Comparison of methods
    • [ ] Operations in Strings
    • [ ] StringBuilder in java
  • [ ] Maths for DSA
    • [ ] Introduction
    • [ ] Complete Bitwise Operators
    • [ ] Prime numbers
    • [ ] HCF / LCM
    • [ ] Sieve of Eratosthenes
    • [ ] Newton's Square Root Method
    • [ ] Number Theory
    • [ ] Euclidean algorithm
    • [ ] Advanced Concepts for CP (later in the course)
      • [ ] Bitwise + DP
      • [ ] Extended Euclidean algorithm
      • [ ] Modulo Properties
      • [ ] Modulo Multiplicative Inverse
      • [ ] Linear Diophantine Equations
      • [ ] Fermat’s Theorem
      • [ ] Wilson's Theorem
      • [ ] Lucas Theorem
      • [ ] Chinese Remainder Theorem
  • [ ] Recursion
    • [ ] Introduction
    • [ ] Why recursion?
    • [ ] Flow of recursive programs stacks
    • [ ] Convert recursion to iteration
    • [ ] Tree building of function calls
    • [ ] Tail recursion
    • [ ] Sorting:
      • [ ] Merge Sort
      • [ ] Quick Sort
    • [ ] Backtracking
      • [ ] Sudoku Solver
      • [ ] N Queens
      • [ ] N Knights
      • [ ] Maze problems
    • [ ] Recursion String Problems
    • [ ] Recursion Array Problems
    • [ ] Recursion Pattern Problems
    • [ ] Subset Questions
  • [ ] Space and Time Complexity Analysis
    • [ ] Introduction
    • [ ] Comparisons of various cases
    • [ ] Solving Linear Recurrence Relations
    • [ ] Solving Divide and Conquer Recurrence Relations
    • [ ] Big O, Big Omega, Big Theta Notations
    • [ ] Get equation of any relation easily best and easiest approach
    • [ ] Complexity discussion of all the problems we do
    • [ ] Space Complexity
    • [ ] Memory Allocation of various languages
    • [ ] NP Completeness and Hardness
  • [ ] Object Oriented Programming
  • [ ] Greedy Algorithms
  • [ ] Stacks & Queues
  • [ ] Linked List
  • [ ] Dynamic Programming
  • [ ] Trees
  • [ ] Square Root Decomposition
  • [ ] Heaps
  • [ ] HashMap