If you have a career as a computer programmer in mind, knowledge of C++ is one of the most important skills you can have. It is a highly popular programming language for drivers, firmware, system software, and more.
Since C++ is an intermediate-level programming language, it is quite easy to learn online. In fact, you can get C++ certification online if you wish.
There are many different options for C++ online courses. Of course, not all are equal. The best C++ tutorials are those that strike a balance between good information, affordability, flexibility and user ratings.
Featured Programs
Disclaimer: Some courses may include an affiliate link. Courses were chosen first based on the methodology with affiliate links only added after the ranking was complete.
Below is a list of ten of the best C++ courses available today. Some of these courses are from widely recognized websites. For example, the Udacity C++ course collection is extremely popular. Another best place to learn C++ is Coursera. These are just two of many examples of top C++ online courses.
To help you select the right C++ training for your needs, we’ve researched available courses and narrowed the field to the ten classes described below. Though this isn’t an exhaustive list of every single C++ online class that’s out there, these are definitely among the best.
To help you understand our rankings, let’s explore the methodology we developed to rank each online C++ course.
Methodology to Determine the Best Online Courses for C++
The first thing you need to do when looking for the best online C++ course is to think about affordability.
College classes are getting more expensive. So is technical training and continuing education courses. This being the case, finding courses that offer excellent value for the money is really important.
Courses with high tuition and fees can provide a lot of value. However, not everyone can afford expensive classes. For this reason, we looked at courses that provide value and are affordable.
Additionally, we ranked each course based on the flexibility it offers. For example, let’s say you work a full-time job and only have time to study on the weekends. In this case, a course that has many deadlines and due dates might not be the best fit.
Of course, having insight into the experiences other students have had in courses can be helpful too. Course ratings shouldn’t be the only thing you look at though. Instead, they are a valuable measure to consider along with affordability and flexibility.
Below is a more detailed explanation of each of these ranking criteria.
Affordability
Most people that want to take an online course want to do so without spending a lot of money. This all but eliminates traditional college courses due to their expense. Even some online courses are really expensive too.
Fortunately, many of the best online C++ courses are quite affordable. In fact, some of them are free! But to find them you have to sift through a lot of courses that don’t quite meet the mark in terms of quality.
Because affordability is such an important factor, we’ve given it added weight in our rankings. As you can see below, we’ve given the most points to free courses, with fewer points being assigned as the price goes up:
- Free: 6 points
- Under $10: 5 points
- $11-20: 4 points
- $21-30: 3 points
- $31-40: 2 points
- $41 and above: 1 point
This criterion is worth more total points than the other two combined. This is to reflect the importance of price in deciding what the best C++ course might be.
Flexibility
Something else to consider when looking for the best website to learn C++ is flexibility.
An advantage of online learning is being able to learn when it fits your schedule. Many of the best C++ tutorials are self-paced. This means you can study when it works for you. You can also work as quickly or slowly as needed.
Other C++ online classes are instructor-paced. This is more like a traditional class. There are often assignments and due dates that require more of your attention.
Obviously, self-paced courses are much more flexible. This is one of the factors we use to determine the overall flexibility of the course.
Another factor is the course requirements. For example, some classes require you to participate in daily or weekly “classes” online. This requirement reduces the flexibility of the course.
As another example, some classes allow you to set and reset deadlines as needed. Having that kind of personalization increases the overall flexibility score.
Here’s how we ranked each course in terms of flexibility:
- Highly flexible: 2 points
- Moderate flexibility: 1 point
- Low flexibility: 0 points
Course Ratings
As mentioned before, course ratings shouldn’t be the only factor you look at when selecting a C++ course online.
Course ratings can be subjective, so ratings must be taken with a grain of salt. It’s best to look beyond the numbers to get a better idea of the quality of a course.
For example, a course might have a 5-star rating, but that might be based on just a handful of reviews. If a class has 5,000 reviews but still has a 5-star rating, it’s reasonable to assume the class is a good one.
On the other hand, if a class has thousands of reviews and it only has a 3-star rating out of 5 stars, you know that something is off about the quality of the class.
This criterion is scored as follows:
- 5 stars: 5 points
- 4.5+ stars: 4 points
- 4+ stars: 3 points
- 3.5+ stars: 2 points
- 3.4 stars and below: 1 point
- No ratings: 0 points
Taken together, course ratings, flexibility ratings, and affordability can give you a clear picture of whether a class is a good fit for you. Below, we’ve detailed our top ten courses based on these three criteria.
Ranking the Best Online Courses for C++
#10: C++ Nanodegree
This mini degree program from Udacity includes several lessons for beginners to intermediate students.
Since C++ is so widely used in technology, lessons focus on a variety of areas. These include media platforms, servers, self-driving cars, and video games.
You will also take part in five hands-on coding projects:
- C++ Foundations
- Object-Oriented Programming
- Memory Management
- Concurrency
- Capstone Project
This online C++ course is of significant length. It lasts four months and requires about 10 hours of work per week. However, it is also one of the most detailed classes in our rankings.
Points: 5
Affordability: $716. This price reflects a four-month membership to Udacity.
Flexibility: Moderately flexible. Many assignments and projects require daily work on course materials. If you don’t finish in four months’ time, you will have to pay extra to complete the class.
Course Rating: 4.4 out of 5 stars (based on 137 ratings)
#9: Beginning C++ Programming – From Beginner to Beyond
This fee-based course is for beginner learners. It is offered by Udemy. The class focuses on learning basic C++ skills for developing games, systems, and mobile apps.
The key concepts you learn in this class benefit you in two ways. First, it helps you master C++ programming. Second, these concepts also apply to learning other programming languages.
This class doesn’t just cover beginner topics. Instead, you’ll learn advanced topics such as:
- Polymorphic functions
- Inheritance
- Strings
- Program flows
What makes this online C++ course unique is the amount of learning materials. There are many assignments to help you develop your skills. There are also online quizzes. There are even coding exercises, some of which you do live.
This self-paced course is quite long with 266 lectures. The breadth and depth of the class might make it worth the price tag.
Points: 7
Affordability: $149.99
Flexibility: Highly flexible. This online course is self-paced. There are many learning materials to help you learn as you go.
Course Rating: 4.5 out of 5 stars (based on 18,491 ratings)
#8: C++ Essential Training
This intermediate-level course is offered by LinkedIn Learning and Lynda. It’s a short course with about 5.5 hours of lessons you can complete at your own pace.
You will learn the basics of C++. This will help you build a solid foundation of knowledge for advancing your studies or your career. Major topics of study include:
- Statements and expressions
- Variables and conditionals
- Operators and loops
More advanced topics include templates, classes, and structures.
Each tutorial in this lesson includes in-depth explanations from the instructor that help you grasp the concepts better.
There are also many exercise files you can download. These files can be used to put your learning into practice. This helps you solidify your learning. It also helps you identify areas in which you need help.
Points: 8
Affordability: Free to enroll (for one month). Monthly or annual fees are required after the free month. This course is ranked as a free class. Try a free trial for Linkedin Learning.
Flexibility: Highly flexible. You can work at your own pace to complete the lessons in this class. If you opt for the free one-month membership, you must complete the class within that month.
Course Rating: None
#7: Learn CPP Tutorials
This collection of free C++ tutorials was put together by Learn CPP. It offers a comprehensive set of guided activities to help you learn how to utilize C++.
The Learn CPP tutorials are a mixture of introductory, intermediate, and advanced studies. If you have zero experience with C++ you can find plenty of lessons to help you get started. If you have lots of experience in C++, there are tutorials for you as well.
Some of the tutorials in this free online C++ course you can explore hit on the following topics:
- Keywords and naming identifiers
- Header files
- Using an integrated debugger
- Boolean values
Additionally, you can learn about object scope and conversions, compound types, and control flows.
No matter the lessons you select, you’ll find that you’re walked through each concept with step-by-step instructions. All lessons include a lot of examples too.
Points: 8
Affordability: Free
Flexibility: Highly flexible. Each tutorial on this site can be completed as quickly or as slowly as you need.
Course Rating: None
#6: Learn C++
If you have a CodeAcademy membership, this beginner course is an ideal place to start learning C++. Even if you aren’t a member of CodeAcademy, you can take basic courses for free.
In this free online course, you’ll learn how to use C++ in many different applications. This includes:
- Video games
- Operating systems
- Web browsers
- Microcontrollers
Likewise, you develop fundamental programming skills that enable you to utilize C++. More advanced topics are also discussed. This allows you to begin to form higher-level skills that are needed to take advanced courses.
This is a moderately long course. It requires about 20 hours of work to complete.
Points: 8
Affordability: Free. More courses and features require a monthly membership. Learn more about CodeAcademy pricing.
Flexibility: Highly flexible. You can learn at your own pace. The learning materials are easily accessed whenever you need them as well.
Course Rating: None
#5: Intermediate C++
Learn intermediate C++ skills in this class from Microsoft and edX. Once you have the basics of C++ down, you can dive into concepts that will help you take your skills to the next level.
This course primarily focuses on memory and how C++ interacts with it. More specifically, you’ll learn about:
- Pointers and memory addresses
- Heap memory management
- Writing and reading files
The skills you gain in this course will allow you to create applications for many different programming environments. This includes working with Linus, Windows, MacOS, and Unix. You will also be able to apply your skills for developing apps for Arduino and Raspberry PI.
This is a longer online C++ course at four weeks in length. It requires about 5-7 hours of work per week if you wish to complete it in the four-week timeframe.
Points: 8
Affordability: Free. If you want a verified certificate, it costs $99.00.
Flexibility: Highly flexible. Learn when it’s convenient for you with this self-paced course.
Course Rating: None
#4: C++ For C Programmers, Part B
This is the follow-up to Part A of C++ for C Programmers. It is offered by the University of California Santa Cruz in partnership with Coursera.
In this class, you’ll build on the knowledge and skills gained in the first course. One of the first learning outcomes is to gain an understanding of Standard Template Libraries. You’ll also learn how to use lambda expressions.
Additional learning focuses on the following topics:
- Inheritance logic
- C++ syntax
- Min-max algorithms
- Alpha-Beta algorithms
This course requires about 14 hours of study. Study time is recommended to occur for 2-3 hours per week for five weeks. However, you can take as much time to finish the class as you’d like.
Upon completion of this course and Part A, you will have advanced knowledge of C++. The skills you learn could help you advance your career.
Points: 11
Affordability: Free to enroll. A small fee (usually around $50) may be required. Other costs may be incurred if you pursue a specialization. Learn more about Coursera pricing.
Flexibility: Highly flexible. This is a self-paced course. You can access learning materials immediately upon enrollment as well.
Course Rating: 4.3 out of 5 stars (based on 126 ratings)
#3: C++ For C Programmers, Part A
This is an advanced course offered by the University of California Santa Cruz and Coursera.
As a class designed for C Programmers, you will learn how to convert C programming to C++. You’ll also be introduced to Dijkstra’s shortest path algorithm. C++ functions and generics are part of the course as well.
By the end of this best C++ course, you will have a working knowledge of:
- Default constructors
- Container classes
- Conversion constructors
- Prim’s algorithm
This is a short course – just five weeks. Each week involves a different learning module with a final exam the fifth and final week of the class.
Points: 11
Affordability: Free to enroll. A small fee (usually around $50) may be required. Other costs may be incurred if you pursue a specialization. Learn more about Coursera pricing.
Flexibility: Highly flexible. You can learn at your own pace. Course materials are available 100 percent online. You can reset deadlines as needed.
Course Rating: 4.4 out of 5 stars (based on 708 ratings)
#2: Object-Oriented Data Structures in C++
This C++ training is offered by the University of Illinois Urbana-Champaign and Coursera. It is an intermediate class for more advanced students.
This top online C++ class is also the first in a series of classes in Coursera’s Computer Science Fundamentals Specialization. The knowledge and skills you learn here will be helpful for taking later, more advanced courses.
You will learn many different C++ skills, including:
- How to write a program
- How to set up a development environment
- How to debug C++ code
Another important topic is how to implement data structures in C++ classes.
Each of these topics is studied in depth over the course of about four weeks. However, you can take as much time as you need to complete the course requirements.
Points: 12
Affordability: Free to enroll. A small fee (usually around $50) may be required. Other costs may be incurred if you pursue a specialization. Learn more about Coursera pricing.
Flexibility: Highly flexible. This is a self-paced course. Take as long as you need to finish it.
Course Rating: 4.8 out of 5 stars (based on 510 ratings)
#1: Introduction to C++ Programming
This best C++ beginner course is provided by Alison. As an introductory course, you’ll learn the most critical programming concepts in C++.
A large part of this class focuses on specific programming concepts. This includes learning how to create objects. You will also learn how to create classes in C++.
Over the course of three modules, you will also learn about:
- The history of C++
- Writing, building, and running code in C++
- Flow of control
- Operators
The course wraps up with a discussion of objects and classes. There is also a lesson on encapsulation.
You have an opportunity to test your knowledge at the end of the class with a comprehensive assessment. If you score an 80 percent or higher, you will be eligible for a certification for this course (which requires a fee).
Points: 12
Affordability: Free. A certificate might require a fee. Learn more about Alison certificates.
Flexibility: Highly flexible. This is a very short course. It requires 2-3 hours of total time. You can learn at your own pace and complete the class in a longer period of time if need be.
Course Rating: 4.8 out of 5 stars
Frequently Asked Questions
How fast can I learn C++?
The speed with which you can learn C++ depends on many different factors.
First, you have to take your programming experience into account. If you have never done any programming, you might need to take some prerequisite courses to be able to better learn C++. Doing so will extend how long it takes to learn C++. However, if you are well-versed in C programming, C++ will be easier to pick up.
Second, each C++ course takes a different amount of time to complete. For example, some of the courses in our rankings take just a few hours to finish. The Introduction to C++ Programming class at the top of our list is just a few hours in length. Other courses in our rankings take several months, like the C++ Nanodegree from Udacity that’s ranked number 10 on our list.
Third, your schedule will dictate how long it takes you to learn C++ as well. If you work full-time, you won’t have as much free time to devote to your studies. On the other hand, if you aren’t working at the moment, having more time for your studies will decrease the time it takes to learn C++. Part of this is also how good you are at making time for your studies.
So, how quickly you can master C++ depends on many different factors. But a good rule of thumb is that an average person with no programming experience would likely need a couple of years to learn the basics.
Which C++ course is best for beginners?
Based on our rankings, the best beginner C++ course is Introduction to C++ Programming from Alison.
This course comes in at number one in our rankings. Not only is it free, but it’s also flexible and has high student ratings. The combination of high scores on all of these measures makes it a great option for beginners in C++.
The introductory-level material is ideal for learners that are just getting their feet wet with C++. This includes an overview of basic programming concepts. It also includes a review of the history of C++ and how it came to be one of the most popular programming languages.
Since this course was developed in partnership with Microsoft, you get the benefit of learning from programming experts. Additionally, the course requires just 2-3 hours of work. This makes it an extremely flexible course and one that you can finish in an evening if need be.
Which advanced C++ course is best?
Using our methodology, the best advanced C++ course is C++ for Programmers Part A and Part B. These companion classes take you above and beyond the fundamentals to explore highly advanced C++ topics.
As noted above, Part A introduces you to converting C programming to C++. Likewise, you’ll learn various algorithms, constructors, and classes that help you make the most of C++.
Part B of this course advanced your learning even further. You will study C++ syntax and logic. You’ll also learn how to work with algorithms. Standard Template Libraries are a central topic of study too.
By taking these courses, you’ll be more prepared for finding programming jobs. If you already have a programming job, the knowledge you learn could help you advance your career even further.
What is the best free C++ course?
Based on our rankings, the Introduction to C++ Programming course is the best of the bunch.
As a beginner course, it’s topics are easy to follow, even for novices. And since the course is just a few hours long, it’s easy to finish. Yet, the authors of the class managed to fit a lot of topics into the course, so you come away with a well-rounded introduction to C++.
Better still, the skills you acquire in this free course give you a good foundation for exploring other classes. With a final exam to gauge your learning, you will know exactly what concepts you’ve mastered and which ones you need to brush up on in future courses.
A free C++ is often the best way to learn C++ for beginners. This is because you can get your feet wet with this programming language without worrying about expense.
Plus, as noted above, there are many excellent options to learn C++ online for free, so there is a lot of variety from which you can choose.
Is C++ a good place to start with programming language?
The answer to this question depends on who you ask.
On the one hand, since C++ is central to so many types of programming, learning it puts you in a good position to work on operating systems, video games, and much more. C++ is extremely popular, and knowing how to utilize it will prove very beneficial for you.
On the other hand, C++ can be extremely complicated to learn. This is true for beginners. It’s also true for experienced programmers. This is because C++ has many complex rules and syntax that can be complicated and confusing.
So, there are benefits and detriments to making C++ your first programming language. Either way, a C++ course online is a great place to start learning about programming. Many of the courses in our rankings are aimed at beginners, so learning C++ in baby steps can help overcome some of the difficulties that C++ presents for new learners.
What are the basic C++ concepts I should know for a job?
The specific skills you might need for a job will depend on each individual job. But, some broad skills will be helpful to you in your job search.
First, you should be familiar with databases. This includes SQL, MySQL, and NoSQL. You don’t need to know all three of these databases. However, knowing more never hurt anyone!
Second, you need to be familiar with major operating systems. Windows, Linux, and MacOS are the heavy hitters.
Third, understanding source code control is all but a must. Many jobs as a C++ programmer require you to check code. Will the right skills for source code control, you will be able to check code like a pro.
You also need to have a good handle on C++ fundamentals. The first place you should start is with the basics of object-oriented programming.
Learning object-oriented programming means you must understand algorithms. You need to be versed in data structures too. Additionally, it would be best if you’re familiar with stack variables.
References are a huge part of C++ programming as well. You need to know how references work. You also need to know how they differ from pointers. Brush up on how variables are passed in functions too.
Add arrays to your list of must-have skills. You should understand how they are allocated. You should also know how to create an array that safely returns from a function.
This is just the tip of the iceberg. Many C++ skills will be beneficial to you as you seek employment. Again, the more you know, the better.
Do I need C++ certification to get a job?
The short answer is no, you don’t need C++ certification to get a job. The whole answer is a little more complicated.
Many entry-level C++ programming jobs do not require certification. Instead, you must possess a certain skill set that proves you understand the C++ language.
This doesn’t mean that you need to have a degree to get an entry-level position. But it does mean that you have to be able to demonstrate mastery of basic C++ skills.
You can learn those skills by taking the courses outlined above. In some cases, the skills you learn from just one or two classes might be enough to get you a job. In other cases, you can even learn on your own by working with open source code from places like Github.
The point is to start exploring C++ now, not later. The more education you have and the more skills you possess, the better off your job search will go.
But if you want to qualify for jobs that are higher up the pay scale, being certified will help. Just like with any other career, workers with more education and skills often get promotions to higher-paying jobs and do so more quickly.
Having a certification can help you right off the bat, too.
For example, if you’re looking for your first C++ job, having a certification will help bring your application to the top of the pile. Programming and related occupations are very popular with many applicants for each position. By making sure you have the proper assets, you can more readily find a job.
In fact, more and more companies, IT managers, recruiters, and other stakeholders are looking for candidates with demonstrable skills. A certificate does just that.
Beyond showing that you have the technical skills needed for the job, having a certification shows employers that you are motivated to improve yourself and learn new skills. Additionally, having workers that are certified is a benefit to companies. This is because employees with certifications help improve the workplace with their knowledge and skills. This, in turn, helps improve a company’s efficiency and ability to earn income.
In other words, certifications have multiple benefits for you and potential employers. They aren’t required, but they are certainly worth the time and effort to get them.
What are some C++ certifications I can get?
There are two primary certifications available for C++. One is a basic certification. The other is more advanced. The C++ Institute developed these certifications. With the assistance of Pearson VUE, they administer the certification exams for these certifications:
C++ Certified Associate Programmer (CPA) – This certification focuses on coding tasks. Specifically, to be certified, you must demonstrate expertise in C++ programming and using object-oriented programming. To be certified, you must pass a certification exam with at least an 80 percent score. You will be asked questions about C++ syntax, how to implement C++ programming, and problem-solving in C++.
C++ Certified Professional Programmer (CPP) – This certification is a more advanced option than the one above. To be certified, you must demonstrate your skills related to C++ templates and the Standard Template Library. Additionally, you must be able to use property template classes and methods, utilize a C++ template mechanism, and solve common problems with template classes and methods. Again, you must pass the certification exam with at least an 80 percent.
How much money does a C++ programmer make?
According to Salary.com, the median annual salary for a C++ programmer is $77,864. The pay range extends from $64,767 on the low end to more than $88,500 on the high end.
By and large, the lower end of the pay scale is reserved for new workers. These programmers are often just out of college or have little experience in the field.
On the opposite end of the spectrum, the highest average wages for C++ programmers are for workers that have higher education and more years on the job. Likewise, certifications often result in higher pay.
But these are not the only factors that can influence one’s salary as a C++ programmer.
Your employer has a lot to do with how much money you can make in this job. For example, a large, multi-national company has the resources to find top applicants and pay them top-dollar for their services. Meanwhile, a small startup might not have the finances to pay their programmers much money.
The geographic area in which you live can also influence how much money you make. Typically, programmers that live in urban areas make higher salaries. Likewise, programmers that live in the United States tend to earn more than programmers that live outside the U.S.
Ultimately, some of these factors are more under your control than others. For example, you can pursue additional education to improve your salary much easier than you can wait for the years to pass by so you can get more experience under your belt.
There are always exceptions to the rule. Some brand-new programmers land excellent jobs with high pay. But it’s best to go into it knowing that lower salaries usually await new C++ programmers.
OCR Staff
March 2020
More Rankings of Interest:
- 10 Best Online Courses for Cyber Security
- 10 Best Online Courses in Business Analytics
- 10 Best Online Courses for App Development
- 10 Best Online Courses for Excel
- 12 Best Online Courses for Computer Science
- 10 Best Online Courses for Front End Development
- 10 Best Online Courses for Data Structures and Algorithms