C++ is a high-level, general-purpose programming language that was developed by Bjarne Stroustrup in 1983 as an extension to the C language. C++ is an object-oriented programming (OOP) language, which means it focuses on the creation of objects and their interactions to solve programming problems.

C++ is widely used for developing system software, device drivers, operating systems, database systems, web browsers, and games, among other applications. It is a compiled language, which means the code written in C++ needs to be compiled before it can be executed.

C++ features several programming concepts such as classes, objects, inheritance, encapsulation, and polymorphism. It also supports generic programming through templates, and it provides access to low-level programming functionalities such as pointers and memory management.

C++ has a rich standard library that contains a large number of functions and algorithms that can be used to perform common programming tasks. The language is also highly portable, meaning that code written in C++ can be compiled and executed on a wide range of computer platforms and operating systems.

In summary, C++ is a powerful, general-purpose programming language that supports both high-level abstractions and low-level programming functionalities, making it suitable for a wide range of applications.

1. C++ Nanodegree Certification for Programmers

The C++ Nanodegree Certification for Programmers is an online program offered by Udacity, an online education platform. The program is designed to provide learners with the skills and knowledge needed to become proficient in C++ programming and advance their careers in software development.

The program consists of three parts, each of which is designed to teach learners specific C++ programming skills:

  1. C++ Foundations: This section covers the basics of C++ programming, including variables, control structures, functions, and arrays.
  2. Memory Management: This section focuses on memory management in C++, including pointers, references, dynamic memory allocation, and smart pointers.
  3. Object-Oriented Programming in C++: This section covers advanced topics in C++ programming, including classes, inheritance, polymorphism, and templates.

The program is self-paced, meaning that learners can complete the coursework on their own schedule. Learners will have access to a team of industry mentors who provide feedback and support as they work through the program. Upon completion of the program, learners will receive a Nanodegree Certification, which is recognized by employers in the software development industry.

Overall, the C++ Nanodegree Certification for Programmers is a comprehensive program that provides learners with the skills and knowledge needed to become proficient in C++ programming and advance their careers in software development.

Key Highlights

  • Get an opportunity to be taught by Bjarne Stroustrup, the creator of C++
  • Variety of immersive activities like programming exercises, videos, and quizzes
  • Learn industry best practices and tips from experts
  • Access to a number of support services, including project reviews from Udacity’s reviewer network, help from Udacity mentors, career services and a student networking community
  • Self-paced projects that can be completed in any order at your own schedule and convenience

Duration : 4 months, 10 hours per week
Rating : 4.8
Sign up Here

2. Beginning C++ Programming – From Beginner to Beyond (Udemy)

Udemy Online Courses

Beginning C++ Programming – From Beginner to Beyond is an online course offered on Udemy that is designed to provide learners with a comprehensive understanding of C++ programming, even if they have no prior programming experience.

The course is structured into several sections, each of which covers specific topics in C++ programming. These topics include:

  1. Introduction to C++ programming: This section covers the basics of C++ programming, including variables, data types, control structures, and functions.
  2. Object-Oriented Programming in C++: This section covers object-oriented programming concepts such as classes, objects, inheritance, and polymorphism.
  3. Memory Management in C++: This section focuses on memory management in C++, including pointers, references, and dynamic memory allocation.
  4. Advanced C++ Programming: This section covers advanced topics in C++ programming, such as templates, exceptions, and the Standard Template Library (STL).

The course includes over 35 hours of video lectures, as well as quizzes, coding exercises, and programming assignments. The instructor also provides downloadable code files, slides, and supplementary materials to help learners solidify their understanding of the topics covered in the course.

Overall, Beginning C++ Programming – From Beginner to Beyond is a comprehensive course that provides learners with a strong foundation in C++ programming, and it is suitable for beginners who want to learn C++ programming from scratch.

Key Highlights

  • Learn Modern C++ rather than an obsolete version of C++ (specifically C++ 11 and C++ 14)
  • Learn C++ using a proven curriculum that covers more material than most C++ university courses
  • Includes quizzes, live coding exercises, challenge coding exercises and assignments
  • Get lifetime access to 40 hours of video lectures, articles, downloadable resources and coding exercises

Duration : 39.5 hours on-demand video
Rating : 4.4
Sign up Here

3. C++ Courses & Tutorials Online – Learning Path (Pluralsight)

PluralSight Online Courses

C++ Courses & Tutorials Online – Learning Path is a set of online courses and tutorials offered by Pluralsight, a popular online learning platform for technology professionals.

The learning path includes several courses and tutorials that cover a wide range of C++ programming topics, including:

  1. C++ Fundamentals: This course covers the basics of C++ programming, including variables, data types, control structures, and functions.
  2. C++ Language Internals: This course covers the internal workings of the C++ language, including memory management, templates, and exceptions.
  3. Advanced C++ Programming: This course covers advanced topics in C++ programming, such as move semantics, lambda expressions, and smart pointers.
  4. Object-Oriented Design with C++: This course covers object-oriented programming concepts in C++, including classes, objects, inheritance, and polymorphism.
  5. C++ Libraries: This course covers the most commonly used C++ libraries, including the Standard Template Library (STL), Boost, and Qt.

Each course includes video lectures, coding exercises, and programming assignments, as well as supplementary materials such as slides and downloadable code files. The courses are self-paced, meaning learners can work through the materials at their own pace.

Overall, the C++ Courses & Tutorials Online – Learning Path from Pluralsight is a comprehensive set of resources that covers a wide range of C++ programming topics, making it suitable for both beginners and experienced programmers who want to expand their knowledge of the language.

Key Highlights

  • Take a skill assessment test to understand any knowledge gaps you may have
  • Variety of Hands-on lectures and coding examples
  • Exercises and assessment tests to reinforce the knowledge gained and skills learnt
  • Access to a plethora of courses at a minimal subscription fee

Duration : Approx. 43 hours
Rating : 4.6
Sign up Here

4. C++ Tutorial: From Beginner to Expert (Udemy)

Udemy Online Courses

C++ Tutorial: From Beginner to Expert is an online course offered on Udemy that aims to provide learners with a thorough understanding of C++ programming, from the basics to advanced concepts.

The course is structured into several sections, each of which covers specific topics in C++ programming. These topics include:

  1. Introduction to C++ programming: This section covers the basics of C++ programming, including variables, data types, control structures, and functions.
  2. Object-Oriented Programming in C++: This section covers object-oriented programming concepts such as classes, objects, inheritance, polymorphism, and templates.
  3. Advanced C++ Programming: This section covers advanced topics in C++ programming, such as move semantics, lambda expressions, and concurrency.
  4. C++ Standard Template Library (STL): This section covers the most commonly used containers and algorithms in the C++ STL, such as vectors, maps, and sorting algorithms.

The course includes over 35 hours of video lectures, as well as quizzes, coding exercises, and programming assignments. The instructor also provides downloadable code files, slides, and supplementary materials to help learners solidify their understanding of the topics covered in the course.

The course is designed to be self-paced, so learners can work through the materials at their own pace. The instructor also provides support through a Q&A forum, where learners can ask questions and get help from the instructor and other learners.

Overall, C++ Tutorial: From Beginner to Expert is a comprehensive course that covers a wide range of C++ programming topics, making it suitable for both beginners and experienced programmers who want to expand their knowledge of the language.

Key Highlights

  • Very instructional and straight forward teaching methodology
  • Learn to read C++ standard libraries and use them to build anything
  • Be able to understand everything that you code
  • All topics from basics to advanced, covered in an elaborate way with coding examples
  • Over 100 different downloadable exercises to practise knowledge of C++ concepts
  • Certificate of Completion at the end of the course

Duration : 15 hours on-demand video
Rating : 4.4
Sign up Here

5. C++ Essential Training – (LinkedIn Learning – Lynda)

Online Courses by LinkedIn Lynda

C++ Essential Training is an online course offered by LinkedIn Learning (formerly Lynda.com) that provides a comprehensive introduction to C++ programming. The course is designed for beginners who have no prior programming experience.

The course covers the following topics:

  1. Introduction to C++: This section provides an introduction to the C++ language and its features.
  2. Variables and Data Types: This section covers variables and data types in C++, including integers, floating-point numbers, characters, and strings.
  3. Control Structures: This section covers control structures in C++, such as if statements, loops, and switch statements.
  4. Functions: This section covers functions in C++, including function prototypes, function calls, and parameter passing.
  5. Arrays and Pointers: This section covers arrays and pointers in C++, including one-dimensional and two-dimensional arrays, pointers, and pointer arithmetic.
  6. Object-Oriented Programming: This section covers object-oriented programming concepts in C++, including classes, objects, constructors, and destructors.
  7. Inheritance and Polymorphism: This section covers inheritance and polymorphism in C++, including base classes, derived classes, and virtual functions.
  8. Templates: This section covers templates in C++, including function templates and class templates.

The course includes video lectures, coding exercises, and quizzes to help learners reinforce their understanding of the topics covered. The instructor also provides downloadable code files and supplementary materials.

Overall, C++ Essential Training is a comprehensive course that provides beginners with a solid foundation in C++ programming. The course is self-paced, meaning learners can work through the materials at their own pace.

Key Highlights

  • Learn powerful container classes and algorithms in Standard Template Library (STL)
  • Learn how to use data structures and create your own functions
  • Understand basics of the object and template systems so you can create useful classes and objects
  • Master C++ Standard Library
  • Ability to download and view course offline
  • Access the course material for free during the first month of subscribing

Duration : 5 hours 32 minutes video
Rating : 4.5
Sign up Here

6. C++ For C Programmers by University of California (Coursera)

Online Courses by University of California, Santa Cruz

C++ For C Programmers is an online course offered by the University of California on Coursera. The course is designed for programmers who already have experience with C programming and want to learn C++.

The course covers the following topics:

  1. Introduction to C++: This section provides an introduction to the C++ language and its features.
  2. Object-Oriented Programming in C++: This section covers object-oriented programming concepts such as classes, objects, inheritance, polymorphism, and templates.
  3. Standard Template Library (STL): This section covers the most commonly used containers and algorithms in the C++ STL, such as vectors, maps, and sorting algorithms.
  4. Advanced C++ Programming: This section covers advanced topics in C++ programming, such as move semantics, lambda expressions, and concurrency.

The course includes video lectures, programming assignments, and quizzes to help learners reinforce their understanding of the topics covered. The instructors also provide support through a Q&A forum, where learners can ask questions and get help from the instructors and other learners.

The course is self-paced, meaning learners can work through the materials at their own pace. Learners who complete the course and pass the final exam can earn a certificate of completion from the University of California.

Overall, C++ For C Programmers is a comprehensive course that provides C programmers with a solid foundation in C++ programming. The course assumes prior knowledge of C programming, making it a suitable option for experienced programmers who want to learn C++.

Key Highlights

  • Learn Prim’s and Kruskal’s algorithms
  • Learn about Conversion Constructors and Copy Constructor
  • Tons of quizzes and programming assignments to solidify learning
  • Explore complex concepts related to memory allocation and algorithms etc. in great depth with examples
  • Enrol for free to get access to all course material and pay a small fee for Certificate of Completion

Duration : 17 hours
Rating : 4.4
Sign up Here

7. Learn Advanced C++ Programming (Udemy)

Udemy Online Courses

Learn Advanced C++ Programming is an online course offered on Udemy that is designed for learners who already have some experience with C++ programming and want to expand their knowledge of the language.

The course covers the following topics:

  1. Smart Pointers: This section covers smart pointers in C++, including unique_ptr, shared_ptr, and weak_ptr.
  2. Move Semantics: This section covers move semantics in C++, including rvalue references and move constructors.
  3. Templates: This section covers templates in C++, including function templates and class templates.
  4. Exception Handling: This section covers exception handling in C++, including try-catch blocks and throwing and catching exceptions.
  5. Standard Template Library (STL): This section covers the most commonly used containers and algorithms in the C++ STL, such as vectors, maps, and sorting algorithms.
  6. Multithreading: This section covers multithreading in C++, including creating threads, synchronization, and thread safety.

The course includes over 11 hours of video lectures, coding exercises, and programming assignments to help learners reinforce their understanding of the topics covered. The instructor also provides downloadable code files and supplementary materials.

The course is self-paced, meaning learners can work through the materials at their own pace. The instructor also provides support through a Q&A forum, where learners can ask questions and get help from the instructor and other learners.

Overall, Learn Advanced C++ Programming is a comprehensive course that covers advanced topics in C++ programming, making it suitable for experienced programmers who want to expand their knowledge of the language.

Key Highlights

  • Learn all the new features introduced in C++ 11
  • Learn to develop complex C++ applications
  • Tons of exercises covering each topic and practice assignments at the end of the course
  • Source code of the final project included
  • Lifetime access to over 105 video lectures, articles and downloadable resources
  • Gather necessary skills and knowledge to be industry ready for C++ jobs

Duration : 15 hours on-demand video
Rating : 4.4
Sign up Here

8. Unreal Engine C++ Developer: Learn C++ and Make Video Games (Udemy)

Udemy Online Courses

Unreal Engine C++ Developer is an online course offered on Udemy that teaches learners how to use C++ to develop video games using Unreal Engine, one of the most popular game engines in the industry.

The course covers the following topics:

  1. Introduction to Unreal Engine: This section provides an introduction to Unreal Engine and its features.
  2. C++ Programming: This section covers the basics of C++ programming, including data types, control structures, functions, and classes.
  3. Unreal Engine C++ Programming: This section covers the basics of C++ programming in the context of Unreal Engine, including game programming concepts such as actors, components, and game modes.
  4. Unreal Engine Tools and Workflow: This section covers the various tools and workflows used in Unreal Engine development, including the editor, blueprints, and debugging tools.
  5. Advanced C++ Programming: This section covers advanced topics in C++ programming, such as templates, operator overloading, and inheritance.
  6. Advanced Unreal Engine Programming: This section covers advanced topics in Unreal Engine programming, such as animation, AI, and networking.

The course includes over 50 hours of video lectures, coding exercises, and programming assignments to help learners reinforce their understanding of the topics covered. The instructor also provides downloadable code files and supplementary materials.

The course is self-paced, meaning learners can work through the materials at their own pace. The instructor also provides support through a Q&A forum, where learners can ask questions and get help from the instructor and other learners.

Overall, Unreal Engine C++ Developer is a comprehensive course that teaches learners how to use C++ to develop video games using Unreal Engine. The course is suitable for beginners who want to learn game development as well as experienced programmers who want to expand their knowledge of Unreal Engine and C++ game programming.

Key Highlights

  • Learn to create games for Windows, consoles, MacOS, iOS, Android and Web from a single source
  • Learn Sound effects and audio to add depth to your games
  • Learn modern game development technologies and techniques
  • Learn Artificial Intelligence behaviour programming, Blackboard and Behaviour Tree for customizable AI
  • Explore Unreal’s Terrain Editor to create epic landscapes
  • Get access to thriving discussion forum that will help you learn and share ideas with other students
  • Get world-class support from both other students and the instructors
  • Go on to build several games including a tank game, and a First Person Shooter

Duration : 43 hours on-demand video
Rating : 4.5
Sign up Here

9. C++ Certification by Microsoft: IntroductionIntermediateAdvanced (edX)

Microsoft Online Courses


Microsoft offers a C++ certification program for programmers who want to demonstrate their expertise in C++ programming. The certification is called “Microsoft Certified: Azure Developer Associate” and it requires passing two exams: AZ-204: Developing Solutions for Microsoft Azure and AZ-220: Microsoft Azure IoT Developer.

While the certification program is not specifically focused on C++ programming, passing the exams requires a strong understanding of C++ as well as other programming languages and tools used in developing solutions for Microsoft Azure and IoT devices.

The AZ-204 exam covers topics such as developing Azure compute solutions, developing for Azure storage, implementing Azure security, and monitoring, troubleshooting, and optimizing Azure solutions. C++ is one of the programming languages that can be used to develop solutions for Azure

Key Highlights

  • Most comprehensive course series to learn C++ from ground up
  • No prior experience in programming is needed to enrol for this course series
  • Get trained by the best professionals and experts at tech giant Microsoft
  • Get access to all course material for free

Duration : 12 weeks
Rating : 4.5
Sign up Here – Introduction CourseIntermediate CourseAdvanced Course

10. Learn C++ Programming – Beginner to Advance – Deep Dive in C++ (Udemy)

Udemy Online Courses

Learn C++ Programming – Beginner to Advance – Deep Dive in C++ is an online course offered on Udemy that covers a comprehensive set of topics in C++ programming.

The course covers the following topics:

  1. Introduction to C++: This section covers the basics of C++ programming, including data types, control structures, functions, and arrays.
  2. Object-Oriented Programming: This section covers the basics of object-oriented programming (OOP) in C++, including classes, objects, inheritance, and polymorphism.
  3. Advanced C++ Programming: This section covers advanced topics in C++ programming, such as templates, exceptions, and operator overloading.
  4. Standard Template Library (STL): This section covers the most commonly used containers and algorithms in the C++ STL, such as vectors, maps, and sorting algorithms.
  5. Multithreading: This section covers multithreading in C++, including creating threads, synchronization, and thread safety.
  6. Graphics Programming: This section covers the basics of graphics programming in C++, including using OpenGL to create 2D and 3D graphics.

The course includes over 22 hours of video lectures, coding exercises, and programming assignments to help learners reinforce their understanding of the topics covered. The instructor also provides downloadable code files and supplementary materials.

The course is self-paced, meaning learners can work through the materials at their own pace. The instructor also provides support through a Q&A forum, where learners can ask questions and get help from the instructor and other learners.

Overall, Learn C++ Programming – Beginner to Advance – Deep Dive in C++ is a comprehensive course that covers a wide range of topics in C++ programming, making it suitable for beginners who want to learn the basics of the language as well as experienced programmers who want to expand their knowledge of advanced C++ topics.

Key Highlights

  • Learn Object-Oriented programming and design concepts in C++ with examples
  • Learn how to develop an application in C++
  • Quizzes and Practice Exercises at the end of each section to solidify the learning
  • Learn exception handling and STL
  • Every topic is covered on whiteboard with engaging practical sessions
  • Student Project at the end of the course
  • Programs and Bullet points are provided as resource

Duration : 27.5 hours on-demand video
Rating : 4.6
Sign up Here