Module 1: Displacement [Programming & Introduction to DSA]
- Getting Started with Problem Solving
- Beginning with Time Complexity Analysis
- Foundations of Essential Data Structures (Arrays, Strings, Hashmaps, Linked Lists, Trees)
- Basics of Mathematical Problem-Solving Methods (Modular Arithmetic, Powers)
- Primer on Bit Manipulation Techniques
- Starting with Advanced Problem-Solving Strategies (Prefix, Sliding Windows, Subarrays, Sorting, Hashing, Recursion, and more)
- Fundamentals of Object-Oriented Programming (OOP) for Problem Solving
Module 2: Velocity - Advanced Data Structures & Algorithms
- Algorithms and Data Structures
- Complexity Analysis: Time & Space
- Mathematical Approaches in Problem Solving
- BIT Manipulation
- Recursion & Backtracking Strategies
- Sorting Techniques
- Searching
- Two Pointer Techniques
- Hashing
- String Processing and Pattern Recognition
- Core Data Structures
- Linear Structures: Linked Lists, Stacks, and Queues/Deques
- Hierarchical Structures: Trees, Binary Search Trees (BST), and Heaps
- Trie Data Structures
- Advanced Techniques in Problem Solving
- Greedy Algorithms
- Dynamic Problem Solving (Dynamic Programming)
- Graph-based Algorithms
Module 3: Acceleration [Development]
Development in Backend
- Understanding the Internet: TCP, UDP, HTTP, Layering Architecture
- Object-Oriented Programming (OOP)
- Concurrency & Multithreading
- Advanced Language Concepts & Key Interview Topics