# Learn C++ from Scratch (Educative)

Functions and Recursion - Pass By Reference This lesson introduces the ways by which we pass values to a function by reference View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/mE7Bm5DQoBr). Functions and Recursion - Function Declarations This lesson explains how to declare functions in C++ View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/xV7mv9qVA2l). Functions and Recursion - Passing Parameters This lesson discusses the ways values are passed through functions, the methods used and the scope of variables declared. View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/qVQo5JJJn6r). Variables & User Input - Variable Syntax This lesson briefly explains the method of declaring and initializing a variable in C++ View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/3jYPjnpMR6M). Variables & User Input - Exercise 2: Taking Inputs From Widget In this exercise, we'll help you get familiar with taking input arguments from terminal using the cin command View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/xV7om2pYP8n). Variables & User Input - Quiz Here's a short quiz to test your understanding of the variable types View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/m28QNGJwj1E). Conditional Statements - Exercise 2: Implementing Calculator In this exercise, you are required to implement a calculator by using Switch statements View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/7nVWnv70V4A). Conditional Statements - if-else Statement This lesson explains if-else statements and how to write them using an example View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/qVlZBm6qRpR). Loops - Exercise 1: Multiplication Table Of a Number In this exercise, you have to print the multiplication table of a number up to 10 View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/qVALRXn5nV7). Simple Maths - Simple C++ Maths This lesson introduces the basic operators used in C++ like subtraction, addition, division, and multiplication Simple Maths - Exercise 1: Compute Formula Using cmath In this exercise you need to compute the sqrt(a^2+b^2) formula View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/RMlY9jE5ynL). Pointers & Arrays - Exercise 6: Account Balance In this exercise, you will be required to use pointers and pointer to functions to update the balance in an account View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/3jEk02mr76p). Classes and Inheritance - Exercise 1: Calculating Area This is a basic exercise on defining a class that helps calculate the area of a triangle View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/qVQOQpyjnEk). Classes and Inheritance - Class Member Functions This lesson teaches what member functions are and how they can be used to access private variables View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/qVDzDBmD5Q7). Conditional Statements - Quiz Quiz to test your understanding of conditional statements in C++ View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/3jV6RL0NvAA). Pointers & Arrays - Exercise 2: Series Of Numbers In this exercise, you will be required to use a two-dimensional array to display a table of numbers View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/xVo9nMy4nP3). Pointers & Arrays - Quiz A quiz to test your understanding of pointers and arrays View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/q2DLgxYlMZ0). Templates - Exercise 2: Swapping Values This exercise requires you to use template type to generalize the function used to swap two values View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/m2y8AVLqYp0). Classes and Inheritance - Introduction To Classes In this lesson, we will be learning about Classes using object-oriented Methodology. Classes and Inheritance - Exercise 2: Students Average Marks In this exercise, you have to calculate a student's average marks using the concept of Classes View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/JY88z25NJ12). Pointers & Arrays - Exercise 1: Sorting Array in Ascending Order In this exercise, you will be required to use pointers to sort the values of an array in ascending order View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/gxxqQ6Q8kDY). Simple Maths - Exercise 2: Computing Binomial Expression In this exercise, you need to compute the binomial expression (a+b)^2. View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/NEX11LMzoGL). Conditional Statements - Conditional Expression This lesson explains what conditional expressions are, how to use them and their basic syntax using an example View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/NE869rBRRM2). Classes and Inheritance - Inheritance This lesson introduces the concept of Inheritance focusing on base and derived classes View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/NEpX8EWDQLv). Templates - Quiz A short quiz to test your understanding of templates in C++ View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/7nAnGJVOkQ8). Functions and Recursion - Exercise 4: Computing LCM Of Two Values This exercise requires you to compute the LCM of two numbers View the lesson [here](https://www.educative.io/collection/page/10370001/5701129488826368/5642286020952064). Pointers & Arrays - What are Arrays? This lesson introduces arrays, indexing, accessing arrays and explains how to change values in an array View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/mEXo52ADL19). Pointers & Arrays - Pointer to a function This lesson explains how a pointer to a function works using an example View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/RMj1XvlPGWE). Templates - Class Templates This lesson teaches how to use template types in classes in functions View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/q2oowZ1lDvr). Pointers & Arrays - What are Pointers? This lesson introduces the concept of pointers in C++ View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/m2MrKBRQ4NE). Classes and Inheritance - Constructors This lesson introduces the concept of constructors, how to declare, overload and call them View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/JEyR7jYkgZJ). Introduction - Hello World! This lesson acquaints you with the Hello World program and gives a basic introduction to C++ View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/NE0vMookj3m). Variables & User Input - Variable Types This lesson gives an overview of all the types of variables in C++ like int, bool, double, char and float View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/RMLjVOjkVZw). Loops - For Loop This lesson will teach the concept and implementation of for loops and nested for loops in C++ View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/xVl74pWDrAE). Simple Maths - Maths Functions This lesson introduces the cmath library and the functionality that it provides in C++ such as square root, power, and trigonometry View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/NEEJgXkR2DD). Loops - Infinite Loops This lesson explains how infinite loops might arise in a while loop using an example View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/m2yOJYmDwvp). Functions and Recursion - Quiz A quiz to test your understanding of functions in C++ View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/RMkPERyORyL). Functions and Recursion - Exercise 5: Fibonacci Using Recursion This exercise requires you to implement the Fibonacci series using recursion View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/RMLDlYogXXO). Loops - Equivalence of C++ Looping Structures This lesson explains how we can convert a for loop into a while loop. View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/JYlGRjJEVJD). Functions and Recursion - Exercise 2: Computing Cubes This exercise requires you to compute cubes of variables passed View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/3jY8NOVKR5p). Functions and Recursion - Introduction to Functions This lesson will have to do with using functions and recursion to improve readability and efficiency of your code. View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/m2YqR5x7NzA). Functions and Recursion - Parameters This lesson explains how the parameters passed in the main function are assigned and used in the function itself using an example. View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/xV8J1rvvjMP). Functions and Recursion - Exercise 3: Sum of Digits Using Recursion This exercise requires you to use recursion to calculate the sum of digits of a number passed View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/xVLkK2QOVpP). Introduction - Quiz A short quiz to test the basic understanding of concepts explained in this chapter! View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/xVVGV5Lk479). Classes and Inheritance - Polymorphism & Virtual Functions This chapter introduces the concept of polymorphism and virtual functions, and their use in inheritance View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/m2Yz2rl5993). Simple Maths - Quiz A short quiz to test your understanding of the concepts learned in this chapter View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/YQqXzJ2P3KY). Functions and Recursion - Exercise 1: Function To Check Sum In this exercise, you have to write a code to add integers and return their sum using the pass by value method View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/B86okpxO2v2). Loops - while & do-while loops This lesson introduces the while and do-while loops in C++. It uses coding examples to show their implementation and explain their workings. View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/qVAz24NxGOD). Pointers & Arrays - Exercise 5: Implementing Double Pointers In this exercise, you will be required to create a Board of any size using double pointers View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/m2M9rqQYLAR). Variables & User Input - Exercise 1: Declaration and Initialization Of Data Types This exercise will test you on data types and initialization of declared variables in C++ View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/7nplr8p8Wor). Functions and Recursion - Calling Functions This lesson teaches how to call functions that we have written in our main function and uses an example to further elaborate View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/3j9NK2gg1y4). Introduction - Code Explanation This lesson explains in detail the Hello World code written in the last lesson. It explains the basic syntax used in almost every C++ code View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/xV9NG6M3YQn). Introduction - Exercise: Play Around With cout Statement In this exercise, you will try printing multiple objects using the cout statement View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/m28oJN12E0R). Conditional Statements - Switch Statement This lesson introduces the switch statement, its basic syntax and how it is written using an example View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/qVMLk2wEr67). Pointers & Arrays - Exercise 3: Making Matrix Using Arrays In this exercise, you will be required to use a two-dimensional array to display a matrix of zeros and ones View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/gx6q7XXQ6zr). Templates - Exercise 4: Sorting Algorithm This exercise requires you to use template type to generalize the function used to sort values in an array in ascending order View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/RMP1YzYLqEK). Pointers & Arrays - Further Properties of Arrays & Pointers This lesson explains the concept of multidimensional arrays and pointers pointing to other pointers View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/qVV5qp4oBPG). Pointers & Arrays - Exercise 4: Pascal Triangle In this exercise, you will be required to make a function which displays the Pascal Triangle for any size given View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/gxnYEM7VKPZ). Templates - Introduction To Templates This lesson introduces the concept of function templates in C++ View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/YMryV8E6pMK). Loops - Exercise 2: Fibonacci Sequence upto n Number Of Terms In this exercise, you have to compute Fibonacci series up to n number View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/qVMGQBp4EVr). Conditional Statements - Comparison Operators This lesson introduces different comparison operators such as ==,!=,>,< etc that can be used in C++ and which data types they can be applied to. View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/YQ0KWl8oQw0). Loops - Quiz Quiz to test your understanding of loops in C++ View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/RMOxo8mLykE). Loops - Exercise 3: Pyramid Printing By Using For Loop In this exercise, you have to print half a pyramid for a given number of rows View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/JYYrjmG5X3l). Templates - Exercise 5: Complex Numbers This exercise requires you to use Class Template to define a class that returns the real and imaginary part of a Complex number View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/m2M0nQR2zzA). Introduction - Compiling C++ Code This lesson explains how to compile your code in C++, which compilers to use and the most suitable ones for different Operating Systems. View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/xl74EpmK3zq). Templates - Exercise 1: Finding Max in an Array This exercise requires you to use template type to generalize the function used to find max element in an array View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/xVnOQYxyrY9). Pointers & Arrays - Pointers Implementations This lesson discusses using the new operator with pointers, referencing variables using & operator and use of pointers with arrays, View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/7nXDJkx6knQ). Conditional Statements - Exercise 1: Even or Odd In this exercise, you are required to check whether the number is Even or Odd. View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/RMlyXzQJBvO). Functions and Recursion - Passing By Value This lesson introduces the way by which we pass values to a function. View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/3jK5qgrl0rr). Classes and Inheritance - Quiz A short quiz to test your understanding of classes and inheritance in C++ View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/NEXr6x9kE6K). Variables & User Input - Variables in C++ This lesson informs about where variables are stored in computers, the acceptable variables names and the min/max memory allocated to them View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/NEO49lLoGgp). Functions and Recursion - Recursion This lesson explains the concept of recursion using the factorial example View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/3jEDZJNl0P9). Classes and Inheritance - Exercise 3: Displaying Message Using Inheritance This exercise requires you to implement the concepts of polymorphism/inheritance to display information about two base classes. View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/qV6vxXyNXO0). Templates - Exercise 3: Finding Index of Smallest Value This exercise, requires you to find the index of the smallest value in an array using the concept of Templates View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/qVDvBpADYy3). Classes and Inheritance - Exercise 4: Displaying Message Using Virtual Functions This exercise requires you to implement the concept of virtual functions to display information about two base classes. View the lesson [here](https://www.educative.io/courses/learn-cpp-from-scratch/q2M0yX2JBK7).