C++ with DSA
⸻
Phase 1: C++ Basics
Duration: 2–3 weeks
Topics:
• Introduction to C++: History, compilation, IDEs
• Basic Syntax and Data Types: Variables, input/output
• Operators: Arithmetic, logical, precedence
• Control Structures: if, switch, loops (for, while)
• Functions: Declaration, recursion, call by value/reference
• Arrays and Strings: 1D/2D arrays, C-style strings, std::string
⸻
Phase 2: Object-Oriented Programming (Intermediate Level)
Duration: 3–4 weeks
Topics:
• Classes and Objects, Encapsulation, Abstraction
• Constructors and Destructors
• Member Functions and Static Members
• Inheritance: Single, Multiple, Multilevel, Hybrid
• Polymorphism: Function and Operator Overloading, Virtual Functions
• Friend Functions and Classes
• Templates: Function and Class Templates
• Exception Handling: try, catch, throw
⸻
Phase 3: Advanced C++ Concepts
Duration: 2–3 weeks
Topics:
• File Handling: Text and Binary File I/O
• STL (Standard Template Library):
Vectors, Lists, Maps, Sets, Queues, Stacks, Iterators, Algorithms
• Lambda Functions
• Smart Pointers: unique_ptr, shared_ptr
• Move Semantics and Rvalue References
• Basic Multithreading with std::thread
⸻
Phase 4: DSA (Data Structures & Algorithms)
Duration: 4–6 weeks (parallel with C++ phases)
Topics:
• Time and Space Complexity: Big O, Ω, Θ
• Arrays: Linear/Binary Search, Sorting (Bubble, Selection, Insertion, Merge, Quick)
• Strings: Palindrome, Anagram, Substrings, Frequency Maps
• Recursion: Factorial, Fibonacci, Tower of Hanoi
• Pointers and Memory Management
• Linked Lists: Singly and Doubly (Insert, Delete, Reverse)
• Stacks and Queues: Array/STL Implementation, Applications
• Hashing: Frequency Count, Maps, Sets
• Basic Trees: Binary Tree, Tree Traversals