C, C++ and DSA in Depth

C, C++ and DSA in depth | ONLINE LIVE Classes

Course Name
C, C++ and DSA in depth

Prerequisite

  • No prior programming knowledge is required, just have a zeal to learn programming.
  • For online LIVE classes, you must have an account at https://premium.mysirg.com | it’s free to create.
  • You can watch LIVE classes or recordings of LIVE classes through laptop. Login to https://premium.mysirg.com, go to your course and play videos or LIVE classes
  • You can watch classes through Android mobile too – Search app with the name “MySirG Premium” on Google play store
  • Laptop or desktop computer is required for programming practice at home.

Duration

  • 15 Oct 2022 to 15 Apr 2023 | Sat-Sun | 3:00 PM to 6:00 PM

Instructor

Saurabh Shukla

Medium

Hindi | Notes in English

Fee

7000/-
Making payment means you are agreeing with our Terms and Conditions. Read them carefully.

Features

  • Course completion certificate
  • Video recordings will be available for the revision for 730 days (2 years) from the date of purchase
  • Object Oriented Programming
  • Standard Template Library
  • Programming Assignments | 700+ practice questions
  • Doubt handling during the course.
  • Discussion Forum
  • Projects

Syllabus

    Introduction to C Language

  • Fundamentals of Computers
  • What is Programming
  • History of C Language
  • Version History
  • How software developed in C Language
  • IDE
  • Installation of Code Blocks
  • Installation of VS Code
  • using IDE
  • First Program
    Basics of C Language

  • Tokens
  • white space
  • Constants
  • Variables
  • Keywords
  • Comments
  • Data Types
  • Variable Declarations
  • Output instruction in C
  • Input instruction in C
  • Operators in C
    Control Statements in C Language

  • Decision Control introduction
  • if statement
  • if else statement
  • conditional operator
  • Nested if else
  • if else ladder
  • Iterative Control
  • while loop
  • do while loop
  • for loop
  • break
  • continue
  • Nested loop
  • Star Pattern Problems
  • switch case control
  • menu driven programs
    Functions and Recursion

  • Function Introduction
  • Function call vs Function Definition
  • Predefined and user-defined functions
  • Flow of program containing multiple functions
  • Benefits of function
  • Ways to define a function
  • Takes nothing returns nothing
  • Take Something returns nothing
  • Takes Nothing Return Something
  • Take Something, Return Something
  • Header file and Library Files
  • Recursion
  • Recursion Tree
  • Approach to recursive solution
    Arrays and String

  • Array Introduction
  • Array Declaration Rules
  • Bound Checking
  • Sorting
  • Function Call by Passing Arrays
  • Two Dimensional Arrays
  • Multi-dimensional Arrays
  • Introduction to Strings
  • null character
  • user input
  • String Functions
  • Function Call by Passing String
  • Handling Multiple Strings
    Pointer Structure and DMA

  • Introduction to Pointer
  • concept of memory address
  • referencing and dereferencing operators
  • size of pointer
  • Concept of Base Address
  • Data type of pointer
  • extended concept of pointers
  • pointer’s arithmetic
  • Call by reference
  • Pointer and arrays
  • pointer and strings
  • array of pointers
  • pointer to an array
  • wild pointer
  • NULL pointer
  • Dangling pointer
  • void pointer
  • Structure Introduction
  • Primitive and Non primitive data type
  • defining structure
  • local definition vs global definition of structure
  • declaring structure variable
  • structure variable initialization during declaration
  • structure variable initialization after declaration
  • taking input from user
  • structure array
  • function returning structure
  • function call by passing structure
  • structure pointer
  • SMA vs DMA
  • malloc function
  • calloc function
  • Type casting
  • Memory Leak
  • free function
  • realloc function
    Basics of C++

  • History of C++
  • Version History of C++
  • Comparison with C
  • Introduction to OOP
  • Key Principles of OOP
  • Software development using C++
  • First C++ Program
  • cout statement
  • cin statement
  • iostream header
  • namespaces
  • using keyword
  • endl
    Functions in C++

  • inline function
  • default arguments
  • reference variables
  • Call by value
  • Call by address
  • Call by reference
  • Polymorphism
  • Function Overloading
    Classes and Objects

  • Structure in C vs Structure in C++
  • Encapsulation
  • Encapsulation through structure
  • Encapsulation through class
  • Classes and Objects
  • Access specifier
  • Instance Members
  • Static members
  • Function call by passing object and returning object
  • Function Polymorphism (Function overloading)
  • Constructor
  • Constructor overloading
  • Default constructor
  • Copy constructor
  • Destructor
  • Deep copy Vs swallow copy
  • Abstraction in c++
  • Data hiding in c++
  • Private constructor in C++
  • Private Destructor in C++
    Operator Overloading and friend

  • Operator Overloading
  • Overloading of pre and post increment operator
  • Friend Function
  • Friend operator
  • Benefits of Friend function
  • Overloading of insertion and extraction operator
  • Overloading of various other operators
    Memory Management with Pointers

  • What is Memory Management?
  • Why is memory management required?
  • Object Pointer
  • The this pointer
  • New Operator
  • Delete Operator
  • Memory Leak
    Inheritance

  • C++ Inheritance
  • Advantage of C++ Inheritance
  • Types Of Inheritance
  • Single inheritance
  • Multiple inheritance
  • Hierarchical inheritance
  • Multilevel inheritance
  • Hybrid inheritance
  • Visibility mode in inheritance
  • Public , private and protected
  • Constructor and destructor in inheritance
  • Diamond problem
  • Function Overloading
  • Function overriding
  • Function hiding
  • Base pointer
  • Virtual function
  • Pure Virtual function
  • Abstract class in c++
  • Virtual destructor
    Exception Handling

  • History of Exception handling
  • Error Vs exception
  • Run time Exception and compile time Exception
  • C++ Standard Exceptions
  • Demo of exception one by one
  • Try
  • Catch
  • Throw
  • Catch all
  • Define New Exceptions
  • Handle Any Type of Exceptions
    File Management in C++

  • What is file handling?
  • Introduction to stream
  • ofstream
  • ifstream
  • fstream
  • Txt file vs binary file
  • Opening a File
  • Mode of file opening
  • Writing data to a File
  • appending data to a file
  • Reading data from a File
  • Close a File
  • Object by object reading and writing
  • Renaming a file
  • Removing a file
  • File Position Pointers
    Standard Template Library

  • Template
  • Overview of STL
  • Iterator
  • Types of Iterators
  • Sequence Containers
  • Vector
  • List
  • Deque
  • Arrays
  • forward_list
  • Container Adaptor
  • Queue
  • Priority Queue
  • Stack
  • Associative Containers
  • Set
  • Multiset
  • Map
  • Multimap
  • Unordered Associative Containers
  • Unordered set
  • Unordered multiset
  • Unordered map
  • Unordered multimap
  • Functors
  • Function Pointers
  • lambda
  • String
  • Pair
  • Tuple
  • Algorithms
    Data Structures and its Implementation

  • Introduction to Data Structures
  • Why you should learn data structure?
  • use case of data structure
  • Why product based companies focus on data structure
    All About Arrays

  • Down side of using conventional arrays
  • Array data structure
  • Dynamic Arrays
    Linked List

  • Singly Linked List
  • Doubly Linked List
  • Circular Linked List
  • Circular Doubly Linked List
  • Various Problems on Linked Lists
    Stack and Queue

  • Stack Introduction
  • Implementation of Stack using arrays
  • Implementation of Stack using Linked List
  • Queue Introduction
  • Implementation of Queue using arrays
  • Implementation of Queue using Linked List
  • Two way stack
  • Double Ended Queue
  • Priority Queue
    Recursion and Backtracking

  • Recursion Basics
  • Approach to solve recursive problems
  • Recursion vs iteration
  • Types of recursion
    Sorting

  • Bubble Sort
  • Modified Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Quick Sort
  • Merge Sort
    Searching and Hashing

  • Linear Search
  • Binary Search
  • Hashing
  • Implementation of Hashing
    Tree

  • Binary Tree
  • Types of Binary Tree
  • Binary Search Tree
  • Implementation of Binary Search Tree
  • AVL Tree
  • RBT
  • B Tree
  • B+ Tree
  • Huffman’s Tree
    Heap

  • Heap Introduction
  • Implementation of Heap
  • Heap Sort
    Graph

  • Graph Concept
  • Graph Representation
  • BFS and DFS
  • MST
  • Dijkstras single source shortest path
    Types of Algorithms

  • Divide and Conquer
  • Greedy Method
  • Dynamic Programming
  • Problems on DP

How to take admission?

LIVE classes will start from 15th Oct 2022. You can attend LIVE class or even you can watch recordings of LIVE class any number of times just after the class till the subscription period.

Click here for admission