Complete C++ Programming with Data Structures, Algorithms, and Analysis

Learn, Analyse and Implement Data Structure using C++. Ace the Google, Amazon, Facebook, Microsoft, and Netflix coding interviews. Step-by-step guide for their toughest question. Learn how to create Epic Console(non-graphic) Games.


cpp image

Description


Which programming language is often seen as a badge of honor among software developers? C++

Which programming language can you learn that when added to your resume, will often get you a job interview? C++

The problem is: C++ is complicated and most books and courses fail to explain it properly, in simple words, the way most people can understand. That's why we created this Data Structure with C++.

Data Structure is one of the Cores of the Software Industry. That makes the difference between an Ordinary Software Engineer and a Pro Software engineer. But According to a survey, 90% of Software engineers don't have a clear understanding of Data Structure and algorithms.

You may be new to Data Structure or you have already Studied and Implemented Data Structures but still, you feel you need to learn more about Data Structure in detail so that it helps you solve challenging problems and used Data Structure efficiently.

Here we not only teach you about the Data Structure, but we also teach you How to Think properly. That is the key combination of factors to prepare you for the technical interview that lands you your dream job!


  • level
    BEGINNER TO PRO
  • infinity
    LIFETIME ACCESS
  • time
    6 MONTH
  • list
    EXERCISES
  • download
    DOWNLOADABLE RESOURCES
  • teach
    OFFLINE AND ONLINE LESSONS
  • certificate Certificate

What you'll learn

  • checkmark
    You'll learn to program with one of the most powerful programming languages that exist today, C++
  • checkmark
    Obtain the key concepts of programming that will also apply to other programming languages
  • checkmark
    Learn C++ using a proven curriculum that covers more material than most C++ university courses
  • checkmark
    Includes Quizzes, Live Coding Exercises, Challenge Coding Exercises, and Assignments
  • checkmark
    Learn C++ features from basic to more advanced such as inheritance and polymorphic functions
  • checkmark
    On completing the course you will have a firm grip on C++ language. You will understand the object-oriented programming OOPs concept in depth
  • checkmark
    Gain in-depth knowledge about each Data structure including Arrays, Linked List, Stacks, Queues, Trees, Graphs, Heaps, Hashing, and Sorting
  • checkmark
    Learn the strengths and weaknesses of a variety of data structures, so you can choose the best data structure for your data and applications
  • checkmark
    Improve your problem-solving skills and become a stronger developer

Course content


  • Tools
  • Installing C++ Compilers on Windows
  • Installing VS Code on Windows
  • Configuring Visual Studio Code for C++ on Windows
  • Installing C++ Compilers on Linux
  • Installing Visual Studio Code on Linux
  • Configuring Visual Studio Code for C++ on Linux
  • Installing C++ Compilers on MacOs
  • Installing Visual Studio Code on MacOs
  • Configuring Visual Studio Code for C++ on MacOs
  • Online Compilers

  • Your First C++ Program
  • Comments
  • Errors and Warnings
  • Statements and Functions
  • Data input and output
  • C++ Program Execution Model
  • C++ core language Vs Standard library Vs STL

  • Variables and data types Introduction
  • Number Systems
  • Integer types : Decimals and Integers
  • Integer Modifiers
  • Fractional Numbers
  • Booleans
  • Characters And Text
  • Auto
  • Assignments
  • Variables and data types summary

  • Introduction on Data operations
  • Basic Operations
  • Precedence and Associativity
  • Prefix/Postfix Increment & Decrement
  • Compound Assignment Operators
  • Relational Operators
  • Logical Operators
  • Output formatting
  • Numeric Limits
  • Math Functions
  • Weird Integral Types
  • Data Operations Summary

  • Flow Control Introduction
  • If Statements
  • Else If
  • Switch
  • Ternary Operators
  • Flow Control Summary

  • Loops Introduction
  • For Loop
  • While Loop
  • Do While Loop

  • Introduction to Arrays
  • Declaring and using arrays
  • Size of an array
  • Arrays of characters
  • Array Bounds

  • Introduction to Pointers
  • Declaring and using pointers
  • Pointer to char
  • Program Memory Map Revisited
  • Dynamic Memory Allocation
  • Dangling Pointers
  • When new Fails
  • Null Pointer Safety
  • Memory Leaks
  • Dynamically allocated arrays

  • Introduction to References
  • Declaring and using references
  • Comparing pointers and references
  • References and const

  • Introduction to Strings
  • Character Manipulation
  • C-string manipulation
  • C-String concatenation and copy
  • Introducing std::string
  • Declaring and using std::string

  • The One Definition Rule
  • First Hand on C++ Functions
  • Function Declaration and Function Definitions
  • Multiple Files - Compilation Model Revisited
  • Pass by value
  • Pass by pointer
  • Pass by reference

  • Introduction to getting things out of functions
  • Input and output parameters
  • Returning from functions by value

  • Function Overloading Introduction
  • Overloading with different parameters

  • Introduction to Lambda Functions
  • Declaring and using lambda functions
  • Capture lists
  • Capture all in context
  • Summary

  • Introduction to function templates
  • Trying out function templates
  • Template type deduction and explicit arguments
  • Template parameters by reference
  • Template specialization

  • Introduction to C++20 Concepts
  • Using C++20 Concepts
  • Building your own C++20 Concepts
  • Zooming in on the requires clause
  • Combining C++20 Concepts
  • C++20 Concepts and auto

  • Introduction to classes
  • Your First Class
  • C++ Constructors
  • Defaulted constructors
  • Setters and Getters
  • Class Across Multiple Files
  • Arrow pointer call notation
  • Destructors
  • Order of Constructor Destructor Calls
  • The this Pointer
  • struct
  • Size of objects

  • Introduction to Inheritance
  • First try on Inheritance
  • Protected members
  • Base class access specifiers : Zooming in
  • Base class access specifiers - A demo
  • Closing in on Private Inheritance
  • Resurrecting Members Back in Context
  • Default Constructors with Inheritance
  • Custom Constructors With Inheritance
  • Copy Constructors with Inheritance
  • Inheriting Base Constructors
  • Inheritance and Destructors
  • Reused Symbols in Inheritance

  • Introduction to Polymorphism
  • Static Binding with Inheritance
  • Dynamic binding with virtual functions
  • Size of polymorphic objects and slicing
  • Polymorphic objects stored in collections (array)
  • Override
  • Overloading, overriding and function hiding
  • Inheritance and Polymorphism at different levels
  • Inheritance and polymorphism with static members
  • Final
  • Virtual functions with default arguments
  • Virtual Destructors
  • Dynamic casts
  • Polymorphic Functions and Destructors
  • Pure virtual functions and abstract classes
  • Abstract Classes as Interfaces

Requirements





rustam atakishiyev
Rustam Atakishiyev

I am a teacher and developer at DillBill. We run ultimate programming courses.