If you’re interested in learning to use C++, we don’t blame you! Such a powerful and easy-to-use programming language. But to start or get ahead as a C++ developer, you need to have sufficient knowledge and sufficient skills behind you.
If you’re unable to demonstrate such skills, you simply won’t be able to compete with those that do. And your dream job will pass you by.
That’s why you’re right to read articles such as these, to gauge what the best courses are and which ones will put you in good stead.
In this article, we’re going to examine the Udacity C++ Nanodegree, and we’ll be providing you with everything you need to know about it.
We discuss who the instructors are, we’ll give you a breakdown of the modules involved, we’ll map out the pre-requisites, discuss how long the course takes, how much it costs, how the job market is at the moment, and fill you in on exactly what other learners have said about it.
And to wrap up, we’ll talk about whether it might be the right course for you.
(Feel free to scroll ahead if you like.)
Anyone looking for an online platform to improve their technical or digital skills will have heard of Udacity. Because that is their primary focus. To equip students with both the knowledge and the skills that are relevant today and relevant tomorrow.
As such, they attract students in their thousands. Which isn’t bad for a non-profit organization.
Due to their focus on employable skills, their courses are very much project-based, so the students get real hands-on experience. You won’t just be sat there watching videos or PowerPoint presentations.
Many of their courses are self-paced, which is great news for anyone with family, work, or other outside commitments.
Moreover, they also offer access to mentors, who are poised to answer any questions you might have.
C++ is quite the programming language. It supports multiple ways of programming, including procedural, functional, object-oriented, and so on. Very versatile.
It can be used to develop all sorts of things – robotics, operating systems, web browsers, self-driving cars, servers, and even video games.
Sure it’s not one of the newest programming languages, it’s been around for about 36 years now. But, it remains one of the fastest-growing programming languages in Tiobe’s popularity index.
And it can be a lucrative career too. According to company Indeed, the average salary of a C++ programmer is a very nice $118,076 per year.
Let’s begin by looking at what exactly is a Nanodegree anyways.
Udacity’s Nanodegrees attract much attention from employers, valued by top players such as Google and Facebook.
This is due to their emphasis on building employable skills. All of Udacity’s Nanodegrees are skill-based qualifications that test and assess the student against real-world scenarios.
Making it a particularly valuable qualification to have in the real world, when it comes time to leave studying and hit the world of work.
And better yet they’re available at a fraction of the price of most university courses, despite often being taught by university professors.
(Please note, elsewhere on our website we also have an article on “Is A Udacity Nanodegree Worth It?” which is available to read on this link.)
So, Udacity’s C++ Nanodegree is a course that’s taught 100% online, and you will not have to attend a classroom. It is a skills-based program, designed to equip you with all the tech skills required to become a C++ programmer or developer.
There are some prerequisites, which we will discuss in more depth a little later.
And the course is pretty much self-paced, so it takes as long as it takes. There’s a monthly subscription fee however, you don’t get a course like this for free. More on that later too.
The course is predominantly taught by way of 5 separate C++ coding projects for you to carry out. We’ll elaborate on these a little later.
These C++ coding projects are based on real-world scenarios, and as such completion of these projects puts you in good stead on the job market, because you have something to showcase to potential employers, rather than merely a certificate of completion.
The course has attracted a great many students, and after well over 700 student ratings, the average student rating comes out at 4.5 stars out of 5, which is pretty good if you ask us.
There are 3 main instructors in this course. Namely, David Silver, who is head of the curriculum, and Stephen Welch, and Andreas Haja.
Before joining Udacity, David Silver received a BSE in Computer Science from Princeton and MBA from Stanford. He has previously worked as a research engineer at Ford.
Stephen Welch’s passion for engineering and education is palpable. He started teaching and coding while completing his Ph.D. in mathematics, and is now a Content Developer at Udacity, having worked on this Nanodegree, and another besides.
Andreas Haja describes himself as an engineer, educator, and autonomous vehicle enthusiast. He is based in Germany where he works as an engineering professor. He is known for developing computer vision algorithms, as well as autonomous vehicle prototypes using, you guessed it, C++.
Time to give you that all-important heads-up. This course is not aimed at beginners in programming. Udacity recommends this course only to those with at least intermediate knowledge (or experience) of computer programming.
That said, this background does not have to be in C++ programming per se, though, of course, it would certainly help. Intermediate knowledge of any programming will suffice since the principles are pretty much the same.
The course is composed of 5 separate modules, each requiring you to put together a C++ program of some description.
Here’s a quick breakdown for you.
This module is designed to reinforce what you should have already learned in your prerequisite intermediate knowledge of programming languages. However, it does of course focus exclusively on C++.
This module covers how to develop, compile, and execute C++ programs. It will also cover functions, syntax, containers, and how to link multiple files together.
The project required of you for this module is a route planner, whereby you use the IO2D visualization library alongside OpenStreetMap data, to build a route planner that finds a path between two points on a real-world map.
This module covers how to build classes, interfaces, and generic templates to create an object-oriented C++ program. You learn about all the C++ tools for writing clean, reusable code.
The inclusive project requires you to use object-oriented C++ to build a Linux system monitor (similar to the widely used htop application). This system monitor has to display everything on the computer, from processes and ID, through to CPU and memory usage, and so on.
In this module, you will be learning to control both static and dynamic memory in C++. You will be using the Resource Acquisition Is Initialization pattern, together with pointers, references, and move semantics.
Then you get to put your skills to the test by creating a Memory Management Chatbot, designed to answer questions on C++.
You will have to optimize the Chatbot code using modern C++ memory management techniques such as move semantics and smart pointers.
In this module, you discover how to launch process and threads to execute logic in parallel. And then to experience the full power of concurrent programming, you will be advancing to thread synchronization and communication.
For this module’s project, you have to build a multithreaded traffic simulator using a real urban map. You have to run each vehicle on a separate thread, and then manage intersections to optimize traffic flow and to avoid collisions.
Now, this is the really fun bit. You get to build your very own app using C++, putting all of your newly acquired skills into practice, from memory management to object-orientated programming, and concurrency.
The tricky part is deciding just what to do! You have total free reign.
Although you can complete the course in your own time at your own pace, because there is a significant monthly cost, which we’ll come onto shortly, most students seem to try to complete the course as fast as possible.
On average, successful students take about 4 months to complete the course. But to achieve this, you can expect to put plenty of hours in each week.
There are several ways to pay for the course. You can buy a 4-month subscription for $1356, or you can pay monthly, and pay as you go for $339 a month.
The cost works out the same either way. But if you go for the monthly option, you’re effectively giving yourself more time to get the course done, which could come in handy for some people. (You never know what life’s going to throw at you.)
But it’s worthing noting at this point that Udacity does sometimes have flash sales. If you’re really keen you should take a look to see if there’s a sale on now.
So the question is, is the course good value for money?
Well, many people seem to think so. But then many people do not.
I guess if it gets you your dream job, then it’s certainly worth the money. But only time can tell for that.
Now for the real meat of the article. Just how well does the course go down with the students who take it.
The good news is that after well over 700 individual student ratings, the average student rating for the course comes in at a very nice 4.5 stars out of a possible 5 stars. Not too bad hey?
However, it does appear that many students wrote their reviews before completing the course, so they do not necessarily paint a full picture.
But of course, in addition to praise, the course has also been met with a little criticism. Here we’re committed to giving you the full picture, the good and the bad.
Let’s start on a positive note.
Students just love the real-world style projects. They really allow you to fully immerse yourself in the C++ programming language, and master those all-important skills.
They especially loved how quickly the submitted projects were turned around. They were able to get constructive feedback on their work within mere hours of handing it in.
They also appreciate the technical mentor support. There are mentors in place to answer your questions, however technical, and they will help to keep you right on track with your work. Students rated the technical mentor support at 4.7 stars out of 5.
Students also praised the career services available. The resume support is something the students found particularly valuable. And there is much praise for the Github portfolio reviews and LinkedIn profile optimization.
(If you do decide to take on this course, you will be well advised to take advantage of these services.)
Many students have found it super convenient that you can carry out your study at your own pace. This kind of flexibility is a great asset for students with busy or hectic lives. After all, we can’t all afford to be out of work to study full time.
On the flip side, however, some students appreciated the custom learning plan they got and found that it really helped them to get their work completed within the suggested 4-month timeline.
A lot of people argue that Udacity’s C++ Nanodegree is quite expensive for an online course. And they’re right, it is. But on the other hand, it’s far cheaper than a regular university degree.
Students claim that some modules are not very well taught, and students did not always understand what they were doing in the accompanying projects. They said that they often completed the projects knowing very little.
Udacity prides itself on its technical mentor support. However, some students have said that the answers they received were poor and did not fully explain the questions.
Some students reported problems with Udacity’s course user interface. Some of the learning material has been cut off due to having been crammed into small boxes.
The most important systems in the world that have strong real-time response requirements are almost exclusively written in C or C++. But, it’s quickly becoming something of a niche technology in the job market.
But although interest in C++ is declining as more people turn to other languages such as Python, there is still much demand for C++ developers.
According to the U.S. Bureau of Labor Statistics, C++ programmers are expected to find an average number of opportunities at least through 2022, compared to other occupations, and job growth is expected to remain steady at 8 percent per year.
So, as we’ve mentioned C++ programmers are expected to find an average number of opportunities at the moment. And while this isn’t terrible news it’s not great news either. There is competition for C++ jobs.
However, some people argue that the market is full of average C++ developers. So if you really apple yourself and produce some excellent work, there is room for you to stand out against the competition.
Having a portfolio of completed projects behind you is a great way to help you get your foot in the door with a tech company.
Of course, you will sometimes find yourself competing against those who have full university degrees. So we would say you might be better off aiming for junior roles, just to get in the company, and then working your way up the ladder as the opportunity arises.
In conclusion, then, this course is an excellent stepping stone to a very much in-demand career in full-stack web development. It arms you with evidence of your C++ programming skills and puts you in a great position to start work in C++ programming.
But that doesn’t mean the course is for everybody.
It costs money to complete, and the longer it takes you to complete, the more monthly bills you will receive. So it’s best suited to those who know that they will have several hours available each week to dedicate to their learning.
You need to have some background in programming before you can be accepted on the course. And not beginner level either. You need at least an intermediate level of any programming language before you can be considered.
Download a brochure
You can request a full breakdown of the syllabus from Udacity’s website. You only need to submit your email address and phone number, and you will have a syllabus sent out to you.
This way you can get a good overall feel for the course without actually signing up.
If you’re unsure as to whether the course might be right for you, why not take advantage of the opportunity to enroll for a free trial. The free trial lasts about a month, which should give you plenty of time to check out all 5 modules.
This is a really good course that can help you to become a C++ developer if you can’t afford a full university degree.
Jacob has a background in finance and engineering. Outside of his day job, he is a lifelong learner, who enjoys reading, taking online courses, and writing about what he's learned.
Please log in again. The login page will open in a new tab. After logging in you can close it and return to this page.