Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


C++ Programming from Beginner to Expert in 2020

via Skillshare



  • Code::Blocks IDE (free)
  • Prepare to write thousands of lines of C++ code!
  • No previous experience with C++ or coding is required

Have you never programmed a computer before, and think or have been told that C++ is a good programming language to get started with.  It is!

Maybe you have some experience with other programming languages, but want to learn C++.  It's a great language to add to your resume!

Or perhaps you are stuck in a low paying programming job, and want to move up to a better, more senior position.  Learning C++ can help you!

The fact is, learning how to program in C++ is not only an excellent programming language to get started with, but it will also make you a better programming in other computer languages!

Why learn C++ ?

C++ is often considered to be the mother of all languages because so many other languages have been based on it.

Though C++ is simple it is one of the most powerful languages ever created.  Considering it was created over 40 years ago, it is still used heavily and is usually in the top 5 or 10 most popular and most widely programming languages in the world.

Learning C++ can actually make you a better programming in other languages like Java, or C# by equipping you with a mental model of what the computer is actually doing when you run your programs.

By learning how things really work "under the hood", and understand memory space, CPU architecture and so on, you can create more efficient programs, and obtain a huge advantage over other programmers in the process.

If you want to become a better developer, learning C++ is a great way to start!

Why enrolling in this course is the best decision you can make.

By the end of this course, you will understand the fundamentals of the C++ Programming Language, and make yourself more marketable for entry level programming positions.

You will understand variables and the different data types, be able to utilize functions and arrays, understand the  concept of pointers, learn about control flow (decision statements and iteration).

You will be in a position to apply for real-time programming positions, and truly understand the core language that most modern languages are based on!

If you have previously used the C++ programming language, then this course will deepen your understanding of it. If you have never used it, no problem, you will see that it can help you become a more efficient C++ developer.

The course will be constantly refined in the future based on student feedback!

This course does not skip on the details.  You will learn how to write high quality code and become an excellent problem solver.  This course does not just present how to code in the C++ programming language, but, also includes all the details on "why" you are doing the things you are doing.  At the end of this course, you will fully understand the concepts of the C++ Programming language.

Your instructor, Harsh Kajla has been teaching students for over 5 years . He has created many different class curriculums, ranging from mobile programming to bash scripting to Object-Oriented Design and of course the C++ programming language.

Additionally, he has been developing software for over 10 years specializing in Object-Oriented Development and Mobile Applications.

This means you are learning from someone who has all the professional training, skills, and experience you need to teach you how to become proficient in the C++ programming language.

If you are ready to get that first paid programming job, or to move up to a more senior programming position, then this course is for you!

Your new job or consulting opportunity awaits!  

Why not get started today?

Click the Signup button to sign up for the course!

Who this course is for:

  • Beginners – if you've never coded before, you can learn C++ step by step
  • Programmers switching to C++ from some other language such as Java, Ruby or Python
  • Any undergraduate student having C++ programming in curriculum
  • If you have previous experience in C++ programming or with any other programming language then this course is going to make your foundation more strong


  • Introduction - Getting started
  • Basics of Flowchart : 3 Problem Solved
  • Flowcharts : Understanding Loops : 1 Problem Solved
  • Flowcharts : Practice Loops : 3 problems solved
  • Flowchart : Exercise 1
  • Flowchart : Exercise 2
  • Flowchart : Exercise 3
  • Basics of Pseudocode : 2 problems solved
  • Pseudocode : How to Print Pattern : 1 problem solved
  • Pseudocode - Practice : Print Pattern : 1 Problem Solved
  • Installing Code blocks 1
  • Installing Code blocks 2
  • Programming Basics -1 Hello world
  • Comments : Why do we need them ??
  • Variable
  • Taking input
  • Various Datatypes
  • How is data stored?
  • Range of Integers and how Negative Number are stored - 2's complement
  • TypeCasting : Implicit and Explicit
  • Typecasting : Problem : Fahrenhiet to Celcius
  • Arithmetic Operators
  • Relational Opeartors
  • Logical Operators
  • Bitwise Operators
  • Post and Pre Increment and Decrement operators
  • Introduction
  • Problem : Odd Even
  • Problem : Largest Of 3 numbers
  • Problem : Upper Lower
  • Tertiary Operator
  • Switch Case
  • Loops Introduction
  • Problem : Print Numbers
  • Problem : Sum Of Even
  • Problem : Sum Of Digits
  • Problem : Reverse a Number
  • Problem : Count Set Bits
  • Problem : Star Pattern
  • Problem : Number Pattern 1
  • Problem : Number Pattern 2
  • Problem : Zero - One Pattern
  • For Loop
  • Problem : Multiply
  • Problem : Power
  • Break
  • Continue
  • Problem : Check Prime
  • Array Introduction
  • Problem : Sum of Array Elements
  • Problem : Largest Element in Array
  • Problem : Swap 2 numbers
  • Problem : Print Array in Reverse Order
  • Problem : Reverse Array
  • Segmentation Fault in Array
  • Scope of a Variable
  • Global variable
  • Scope : Exercise : Predict Output
  • Reference Variables
  • Function Introduction
  • Problem : Write a function to check if a number is prime or not
  • Problem : Write a function to generate all prime numbers from 2 to N
  • Problem : Write a function to return factorial of a number
  • Problem : Write a function to calculate NCR
  • Call by Value
  • Call by Reference
  • Passing Arrays into a function !
  • Char Array Introduction
  • Length of String
  • cin.getline() function
  • Reverse string
  • Inbuilt Function
  • Print all Prefix
  • Introduction to 2D Array
  • Initialise & pass 2D Array to function
  • How 2D Arrays are stored in memory
  • Selection Sort Algorithm ( Explain + Code )
  • Bubble Sort Algorithm ( Explain + Code )
  • Optimized Bubble Sort Algorithm (Explain + Code )
  • Inbuilt Sort : Standard Template Library (STL)
  • Linear Search Algorithm ( Explain + Code )
  • Problem with Linear Search
  • Binary Search Algorithm (Explain)
  • Binary Search Algorithm (Code)
  • Pointers - 1
  • Pointers - 2
  • Dynamic memory allocation
  • Dynamic Allocation of 2D Arrays
  • Number System : Decimal , Binary , Octal , Hexadecimal
  • Conversion of Number System
  • Introduction to OOPS
  • Creating objects
  • Getters and Setters
  • Constructors
  • Constructor and this keyword
  • Copy Constructor
  • Copy Assignment Operator & Destructor
  • Play with Constructor
  • Fraction Class
  • Fraction Class Continuation
  • Complex Number Class
  • Shallow and Deep Copy
  • Our Own Copy Constructor
  • Initialisation List
  • Constant Function
  • Static Members
  • Operator Overloading 1
  • Operator Overloading 2
  • Operator Overloading 3
  • Dynamic Array Class
  • Polymoial Class
  • Encapsulation and Abstraction
  • Inheritance Introduction
  • Inheritance Syntax
  • Inheritance Order of Constructor and Destructor Call
  • Inheritance Types
  • Hybrid Inheritance
  • Polymorphism Compile Time
  • Polymorphism Run TIme
  • Virtual function and Abstract class
  • Friend function & Friend class
  • IO streams
  • Writing to a file
  • Code : Writing data to file
  • Reading from file
  • Code : Reading from file
  • Serialization
  • Output Formatters
  • Text & binary files
  • Introduction to recursion
  • Recursion and PMI
  • Fibonacci Number
  • Power
  • Print Numbers
  • Numbers of Digits
  • Sum of Digits
  • Multiplication
  • Count Zeroes
  • Geometric Sum
  • Vectors
  • String class
  • Introduction to Hashmap
  • Inbuilt Hashmap
  • Remove Duplicates

Taught by

Harsh Kajla

Related Courses

Related articles


Start your review of C++ Programming from Beginner to Expert in 2020

Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free