- [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