C++ Nanodegree From Udacity
Written by Sue Gee   
Thursday, 04 April 2019

The latest addition to Udacity's range of Nanodegrees, its hands-on, career-oriented, credentials, is a 5-month program that teaches the foundations of C++.


Although C++ is among the top five programming languages, you won't find many highly recommended opportunities to learn it online. It is seen as a difficult language, a reputation which it probably deserves, but as the promotional video for the Nanodegree outlines, it is at the heart of many complex, high performance, systems: 



In the video Bjarne Stroustrup, the creator of the language explains that C++ is used for the "foundational parts" of just about anything we do, saying:

"It sticks in between the higher-level software and the hardware and that's a much bigger part of the world that most people think. It's basically everywhere."

As David Silver, head of Udacity's School of Autonomous Systems,  puts it C++ is the common thread between self-driving cars, drones and  robotics and Udacity co-founder. If you are still not convinced of its worth, self-driving car pioneer, Sebastian Thrun adds:

“Self-driving cars would not be possible without C++. “I programmed the self-driving car that won the DARPA Grand Challenge using C++. The Google Self-Driving Car Project, now called Waymo, was launched with C++.”

The prerequisites for the program are intermediate knowledge of object-oriented programming in any language. The program comprises four courses and a Capstone Project:

  • Course 1: C++ Foundations
  • Course 2: Object-Oriented Programming
  • Course 3: Memory Management
  • Course 4: Concurrency
  • Capstone Project: Build Your Own C++ App

Each of the four courses culminate in a  C++ project: 

  • Build an OpenStreetMap Route Planner
    The first course covers basic C++ syntax, functions, containers, and how to compile and link with multiple files. Then, using OpenStreetMap and the 2D visualization library, IO2D, students will build a route planner that displays a path between two points on a map. By the end of this project, you’ll be able to select starting and ending areas on a city map and find a path along the city streets to connect the start and end.

  • Build a System Monitor Using Object-Oriented Programming
    The second course covers the essentials of OOP, like abstraction and inheritance, as well as advanced topics, like polymorphism and templates. You’ll synthesize your skills to build a Linux system monitor application to demonstrate OOP in action! Not only will you gain more familiarity with the Linux operating system, but you’ll also gain insights into how a collection of objects can function together in C++ to form a complete application.

  • Build Smart Pointers 
    The third course covers the complexity of memory management by diving into stack vs. heap, pointers, references, new, delete, and more. For this project, you’ll synthesize all the memory management concepts you’ve worked with to build a smart pointer and compare it to the native implementation.

  • Build a Chatbot 
    Concurrency is an advanced programming technique that, when properly implemented, can dramatically accelerate your programs. Having learned about it students will build a multithreaded chatbot that can carry hundreds of conversations simultaneously! 


Enrol before April 23 to be part of the inaugural class. The cost is $999.


More Information

Become a C++ Engineer

Udacity Nanodegrees

Related Articles

The Benefits of A Udacity Nanodegree

Start Your Career With Udacity Nanodegree

Udacity Offers Nanodegrees

Insider's Guide To Udacity Android Developer Nanodegree

Udacity Withdraws Jobs Guarantee

Udacity Announces School of AI

C++ Where Is It Heading? C++17

In Praise Of C++ Bjarne At ICPC


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.



Initialize Your Spring Boot Projects From The CLI

For the lovers of the command line, Spring Initializer Go is a tool with which you can initialize your Spring Boot projects without using the mouse. Is that essential?

Google Introduces PaliGemma, A New Visual Language Model

Last week's Google I/O saw the introduction of PaliGemma, an open vision-language model (VLM), together with some details of what's coming in Gemma 2. 

More News

C book



or email your comment to: comments@i-programmer.info

Last Updated ( Sunday, 26 July 2020 )