
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Mastering C++ programming from zero to hero introduces fundamentals, object-oriented concepts, and modern C++ features (11/14/17), with programming challenges to boost problem solving for all levels.
Navigate the C++ course overview that covers basics, object oriented concepts, and advanced topics, and explain IDE setup, practice programs, challenges, coding exercises, and how to access resources.
Install, set up, and configure code blocks IDE on Windows or Mac, select mingw, associate C/C++ file types, create console project, adjust compiler and editor settings for build and run.
demonstrates creating a new console project in code blocks, writing a first c++ program with iostream and cout, using namespace std, compiling, debugging, and viewing hello world output.
Define an algorithm as a step-by-step procedure that takes input, processes it, and outputs a result, and compare it with flowcharts and programs plus uses like google search and sorting.
Learn how flow charts diagram algorithms using start/stop, read/write, process, and decision symbols; apply to simple tasks like finding the maximum of two numbers and summing natural numbers.
Explore the full cycle of program development and execution in c++, from editing source code to preprocessing, compiling, linking, loading into memory, and runtime execution.
Explore the basic structure of a C++ program, from the main function with an int return type to object instantiation, class components, and simple examples using iostream and std.
Explore the core tokens in C++ and learn how keywords and identifiers work, including naming rules, valid and invalid examples, and how to avoid using keywords as identifiers.
Explore the role of comments in c++, learn single-line and multi-line comment syntax, and understand how clear documentation and proper indentation improve readability and debugging.
Learn how C++ comments serve as encoded documentation and are ignored by the compiler. Discover two styles, multiline C style and single line C++ style, and how they enhance readability.
Explore variables, literals, and constants in C++ by learning naming rules, data types, and how memory stores values; see cin, cout, and escape sequences for input and output.
Understand why data types matter in programming by exploring how data and instructions form a program, and how memory stores numbers and characters with integers, floating point, and bytes.
Explore primitive data types in C++, their memory sizes, and ranges, then derive types like arrays, pointers, and references, plus user-defined types such as structures and classes.
Explore how to convert mathematical formulas into expressions in c++ and evaluate them using operator precedence, left-to-right evaluation, and parentheses, with examples like area, perimeter, and displacement.
Explore how to convert formulas into expressions in c++ through practical examples: area of a triangle and quadratic roots, using variables, double types, and discriminant computation.
Learn basic input and output in C++ using the iostream header, cout and cin, with insertion and extraction operators to read an age and display it.
Explore how C++ uses operators, from unary and binary to the ternary form, across seven categories: arithmetic, relational, logical, assignment, increment and decrement, bitwise, and conditional.
Explore arithmetic operators in c++, including addition, subtraction, multiplication, division, and remainder, with practical examples showing sums, differences, products, quotients, and memory updates.
This lecture explores increment and decrement operators in C++, covering pre and post forms, their differences in expressions, and practical examples that show how values change in memory.
Explore assignment operators in c++, including the equals operator and arithmetic forms like +=, -=, *=, /=, and %= with examples using x and y.
Explore relational operators in C++ by comparing two operands with >, <, >=, <=, ==, and !=, and see how true and false results drive if, else, switch, and loops.
Explore how logical operators in c++ combine relational expressions to drive decision making, using and, or, and not with true or false results for conditional statements.
Master arithmetic operators, including plus, minus, multiply, divide, and remainder, along with pre/post increment and decrement, and assignment operators in C/C++ demonstrations.
Explore bitwise operators in C++, including and, or, xor, not, and shift operations, to manipulate binary data at the bit level for faster processing.
Explore bitwise operators, including and, or, xor, not, and shift left/right, with binary examples using 4, 5, and 20 to show how these operations work and their effects on values.
Explore the size of operator, a unary operator that returns the memory size in bytes for variables, arrays, structures, and unions, guiding dynamic memory allocation in C and C++.
Understand the ternary operator in C and C++, a three-operand conditional operator that replaces if else by evaluating expression one and selecting expression two or three.
Explore operator precedence and associativity in C and C++ to understand how expression evaluation follows predefined rules, including left-to-right or right-to-left associativity and parentheses.
Explore how C++ controls program flow, moving beyond sequential execution with decision and loop statements, including if, if-else, nested ifs, for, while, do-while, and switch.
Explore decision control statements in C++, including simple if, if-else, nested-if, and if-else ladder, and see how true or false conditions guide program flow.
Learn to implement conditional statements in C++, using if, if else, and nested if to determine if a user-entered number is even by checking the remainder with the modulo operator.
Apply conditional statements in c++ through practice programs that check age eligibility and working hours ranges, using if-else logic to display messages like minor or eligible.
Learn to find the maximum of two numbers using an if statement in C++. Read two integers, compare them, and print which one is greater, with practical input examples.
Learn to find the maximum of two and three numbers using the ternary operator, including nested expressions, with practical C++ examples.
Read two numbers, M and N, validate that N is positive, and if not, display a message and terminate; otherwise divide M by N and show the result.
Determine the roots and nature for a quadratic equation by computing D = b^2 - 4ac, classifying as imaginary, real and equal, or real and unequal, and applying the quadratic formula.
Solve a C++ programming challenge to compute electricity bill charges using a slab-based tariff: 200 units at 0.5, 201-400 at 0.65, 401-600 at 0.8, above 600 at 0.9.
Compute electricity bill charges using a tiered rate system with unit ranges. Incorporate input validation and a C++ implementation to apply rates from 0–200, 201–400, 401–600, and above 600.
this lecture presents a programming challenge to compute a student's grade from three marks by calculating total and average, applying a fail condition, and assigning distinction, a, b, or c.
Mastering C++ programming explains loop control statements and the three types of loops—for, while, and do-while—highlighting iterations and when to use each for repeated tasks.
Explore how the while loop in C++ executes a factorial example, highlighting initialization, condition checks, and updating the loop body.
demonstrates converting a for loop to a while loop by illustrating initialization, condition, and increment in a practice program, with a hands-on walkthrough of loop body execution.
Explore the for loop in C++ through initialization, condition, and update steps, with a demonstration and a range-based variant for iterating arrays, lists, and vectors.
Explore the for loop in C++ through a hands-on practice program that sums the first n natural numbers, explains initialization, condition, and increment, and introduces a range for loop.
Explore how to determine if a number is an Armstrong number by summing each digit raised to the power of the digit count, with examples like 153 and 1634.
learn to find the maximum and minimum numbers in an array by initializing max and min with the first element and updating them while iterating.
Compute the sum of array elements by traversing from index zero to the last, using a for loop and a sum variable, accessing each element as a[i].
Learn how to find a number's factors by looping from one to n/2 and printing divisors with zero remainder, illustrated with 10, 18, and 20.
Determine whether a given number is a perfect number by summing its factors up to half the value and comparing the sum to the number.
Master the reverse of a given number in c++ by extracting the last digit with the modulo operator, updating the reversed value, and looping until the number becomes zero.
Learn to reverse a given number in c++ for a programming challenge by extracting digits with modulo ten and a while loop, building the reversed value and displaying the result.
Explore the do while loop in C++, compare its execution flow and syntax with the while loop, and learn its use in menu-driven programs.
Find the greatest common deviser of two numbers using an iterative subtraction method with a for or while loop, subtracting the smaller from the larger until they are equal.
find the gcd of two numbers using an iterative subtraction with a while loop, repeatedly replacing the larger by their difference, and handling negatives to return the gcd.
Explore nested loops in C++ by embedding one loop inside another using for, while, and do-while loops. See inner and outer loop syntax and a prime-number example.
Tackle a programming challenge to determine whether a given number is a palindrome by reversing digits and comparing to the original, using a temporary variable and modulo division in C++.
Demonstrates solving the programming challenge of checking a number's palindrome status by reversing digits with remainder and a temporary copy of the original, then comparing.
Practice two C++ programming tasks: print a fixed-format multiplication table for a given number using a single loop, and print tables from two up to n with nested loops.
Learn to print multiplication tables in C++ using nested for loops, printing each row up to 10, and extend to generate multiple tables with an outer loop.
Generate a Pascal triangle using nested loops and spaces to print a centered star pattern. Understand counting the maximum stars and aligning spaces with for loops to build the triangle.
Master infinite loops in C++ by using for and while variants that run endlessly, including while true. Discover their roles in embedded systems and hardware simulations.
Explore goto and labels in C++, the unconditional jump syntax, and how control moves to a label, plus why debugging is harder and goto is discouraged, using break and continue.
Master the break and continue statements in C++, learning how break exits loops and continue skips an iteration across while, do-while, and for constructs, with switch-case examples.
Explore how switch case statements in C++ implement case control flow by evaluating a test expression, matching a case, and using break or default to control execution.
Learn to implement a switch case control statement by building a rating program from one to five, using cases and breaks and a default for invalid ratings.
Master a simple c++ calculator using a switch to handle plus, minus, star, and slash on two numbers, with an invalid operator default.
Learn how arrays store values in contiguous memory with zero-based indices and random access. Understand why elements must share a type and when to use arrays, such as storing marks.
Declare and initialize one-dimensional arrays in c++, access elements by index or address, modify and read values, and use loops to process elements, base address, and zero-based indexing.
Learn to print array elements in reverse order in C++ by iterating from the last index to start, using a simple loop and user input.
Apply the linear search to find a key element in an array by sequentially comparing from start and stopping at the first match, and analyze best, average, and worst-case time.
Explore linear (sequential) search by scanning a static or dynamic array from first to last, using a flag to mark a found key and breaking on a match.
Master binary search on sorted arrays by halving the search range with low, high, and mid, comparing the key at each step and noting best, average, and worst cases.
Implement binary search in C++ using loops or recursion on sorted input. Utilize dynamic arrays, low, high, and mid to locate keys.
Discover range-based for loops in C++, learn their syntax, compare them with regular for loops, and see how to iterate over containers with copies or references.
Explore multi-dimensional arrays in c++, including two-, three-, and four-dimensional forms, and how memory stores them as one-dimensional arrays using two types of mappings.
Explore two dimensional arrays, learn how to initialize and access elements by row and column, and perform input and output with for loops in C++.
Demonstrates a two-dimensional array approach to add and subtract matrices, using nested loops to read, compute, and display results.
Learn to multiply two matrices in c++ by matching the first matrix's columns with the second's rows, yielding an m by s result with a triple-loop approach.
Examine how to declare and initialize a three dimensional array in C++, compare row-major and column-major mapping, and see a demonstration program.
Learn what pointers are in C++, store addresses in pointer variables, and access data via dereferencing. Distinguish data variables from address variables and use ampersand and star to handle addresses.
Explore why pointers matter in memory layout, covering code, heap, and stack, and learn how pointer variables access memory and enable resources like files, networks, and system programming.
Learn pointer to a pointer in c++, declare a double pointer with two asterisks, and dereference to access values, including command line arguments via argc and argv.
Explore pointer arithmetic in C++, showing how base addresses and array names define memory locations, and how pointer plus or minus moves across memory using 4-byte ints and pre/post increments.
Explore the relationship between pointers and arrays in C++, where the array name is the base address, and pointers access elements via dereferencing and pointer arithmetic.
Explore dynamic memory allocation in C++, comparing static, automatic, and dynamic allocation; learn heap allocation with new and delete, and identify the memory leak problem.
Explore how C++ references act as aliases, letting X and Y share the same memory and propagate updates through reference parameters across functions.
Explore how pointers can crash software and identify three problems: initialized pointers, memory leaks, and dangling pointers, and learn to prevent them with proper initialization and memory deallocation.
Compute the sum and the absolute difference of two integers by passing their addresses to a function via pointers, using pointers as the parameters, and output the results.
Explore how strings work in C++, including character arrays, pointers, and the string class, covering initialization, memory layout, and reading and writing with getline and output operators.
Explore reading and writing strings in C++, comparing character arrays, pointers, and string objects, and use the extraction operator, getline, and get to handle spaces correctly.
Explore common c string functions such as strcat, strcmp, strcpy, and strlen, including count-limited variants, and compare and copy c style strings versus the C++ string class.
Explore the C++ string class, an object oriented representation of sequences of characters, with constructors, assignment operators, iterators, and capacity controls such as size, length, and reserve.
Explore the string class in C++ by examining constructors, destructors, and the assignment operator, with overloaded constructors, copy construction, memory management, and operations like find and substring.
Master string iterators in C++, using begin and end to traverse forward, and rbegin and rend to traverse backward. Understand dereferencing and constant iterators like cbegin, cend, crbegin, and crend.
Explore C++ string capacity functions, including size, length, capacity, and max_size, and learn how resize, clear, empty, shrink_to_fit, and reverse affect string length and storage.
Master string manipulation in C++ by applying append, insert, replace, and swap to modify existing text with clear, example-driven explanations.
Master the string element access functions in c++ by using the subscript operator, at, back, and front to access characters, loop through the string using length, and understand bounds.
Explore string operations in the c++ string class, including copy, find, rfind, substr, and compare, with hands-on examples that demonstrate copying substrings, locating occurrences, extracting substrings, and comparing strings.
Master string case conversion in c++ by implementing a transform that flips uppercase to lowercase and vice versa, using ascii values and a for loop with range checks.
Learn to convert string letter cases using ASCII values, loops, and range checks: add 32 to go from upper to lower, or subtract 32 to go from lower to upper.
Examine how to determine whether a string is a palindrome by comparing it with its reverse, noting case sensitivity and the role of lowercase versus uppercase.
Explore the solution to a programming challenge: check whether a string is palindrome in C++ by constructing a reverse string, measuring length, and comparing results.
Master the programming challenge by counting vowels, consonants, and words in a string. Learn to use spaces for word counts and the string length for total characters.
Count vowels, consonants, and words in a string by iterating characters, identifying vowels (uppercase or lowercase), recognizing spaces for word boundaries, and handling end-of-string word counting.
Extract the user name from a given email address and validate it to contain only letters, digits, underscores, or dots.
Extracts the username from an email by locating the @ symbol and slicing before it, then validates characters as letters, digits, underscores, or dots.
Discover how functions enable structured programming by breaking a monolithic program into named tasks with parameters and return types, and learn memory layout concepts like code, stack, and heap.
Learn how function overloading in C++ enables the same function name to support different parameter lists and types, illustrating valid and invalid overloads and its role in compile-time polymorphism.
Learn how to create and use user defined functions in C++, including function prototypes, definitions, and calling conventions, with emphasis on return types, parameters, and value vs reference passing.
Explore the three parameter passing mechanisms in C++, by value, by address, and by reference, through a program that swaps values and demonstrates memory behavior.
Explore C++ storage classes: automatic, external, static, register, and mutable, and examine their scope, lifetime, initial values, and memory layout across stack, heap, and data sections.
Explore how recursive functions call themselves, establish base conditions to prevent infinite loops, avoid stack overflow, and trace examples like factorial and sum of natural numbers using the stack.
Explore a recursive approach to computing the greatest common divisor (GCD) of two numbers, using base cases, differences, and parameter updates to solve the problem.
Apply recursion to compute the gcd of two numbers by replacing the larger pair with their difference until equality, illustrating base condition, parameter changes, and recursive function calls.
Explore a c++ programming challenge that builds the Fibonacci series by defining each term as the sum of the two preceding numbers, starting with 0 and 1, using recursion.
Explain a C++ recursive solution to the Fibonacci series, using base cases for zero and one and exploring zero-based vs one-based starts and their n=5 outputs.
Explore object oriented programming concepts in C++, including abstraction, encapsulation, inheritance, and polymorphism. See how classes, objects, data hiding, and public interface enable reusable, secure, and easier to maintain code.
Learn how classes encapsulate private data with public member functions, and how objects represent class instances, demonstrated by a simple object with set and display data.
Explore how classes serve as blueprints for objects with data members and member functions, compare them with structures, and learn how access control and invariants enforce validity in C++.
Learn to build a rectangle class in C++ with private weight and height and public set values and area functions, implementing them inside or outside the class with scope resolution.
Create multiple objects from the rectangle class in C++, set values, and compute areas for different dimensions. Recognize the class as a blueprint and use its member functions across objects.
Learn how constructors initialize data members and objects, with default, parameterized, copy, and move constructors introduced in C++11. Explore destructors as special memory functions that automatically release resources at termination.
Explore the four types of constructors in C++, including default, parametrized, copy, and move constructors, with syntax, usage, and a demonstration program.
Explore c++ constructors, including default, parametrized, copy, and move constructors, and see how they initialize a rectangle’s weight and height during object instantiation.
Explore uniform initialization in C++ by using overloaded constructors in a rectangle class, demonstrating default, parameterized, copy, and single-parameter constructors and various initialization styles.
Create a time class in C++ that uses default, parameterized, and copy constructors to read hours, minutes, seconds and display them in universal and standard formats.
Demonstrates solving a time display challenge by implementing default, parameterized, and copy constructors, plus set and get methods to print universal and standard time with leading zero and am/pm formatting.
Explore templates in C++, understand why they are needed, and identify function templates and class templates as the core generic programming tools for any data type.
Explore function templates in C++, enabling generic types to implement reusable max functions without duplicating code. Learn how templates and overloading handle integers, characters, and other types.
Master class templates in C++ declaring generic classes with template parameters and exploring practical examples like a max function and a calculator that supports add, subtract, multiply, and divide.
Explore template specialization in C++, implementing a my container class that stores any type and uses a specialized form for characters to change case, while integers and floats increment normally.
This course fully covers from classical C++ to Modern C++ style of creating object Oriented Programs from scratch to advance level in a step-by-step approach. The course teaches in detail the latest concepts introduced in C++11, C++14 and C++17. The object oriented programming concepts are covered in detail such that you will learn all the concepts including classes, objects, Data Abstraction, Data Encapsulation, Inheritance, polymorphism (including Operator overloading and Function Overloading). The main focus of the course apart from Fundamentals of programming and Object Oriented Programming is on Templates(including Function and Class Templates) , which is a building block to understand STL implementation. And standard template library is explored to maximum extent in detail along with the almost all the concepts from the latest versions of C++
The Course entirely covers all String Functions included in the latest version of C++ along with the basic programming concepts like operators, variables, Conditional statements and looping structures, functions(User-Defined and Recursive Functions), reference parameters, Arrays,File I/O and vectors in C++.has been discussed in details.
The step by step approach of first learning concepts, then followed by practice programs and then solving programming challenges will definitely benefit you to get more confidence with C++ programming.
Not only as a Instructor, but I will be available through out the course, as mentor and as guide, to assist and guide you alongside doing the programs in C++ and that will be best way to complete the programs and programming challenges.
So, If you have any doubt in any topic then you can,
1. Message me
2. Ask Question using Q&A option under the same section
3. paste the program source code to debug and remove errors, your errors will be removed instantly( in less than 24 hours).
4. paste the screenshot of the problem
Happy Learning and Coding in C++