C++ is a compiled, high-performance language. Robotics, automobiles, embedded software, and many other industries depend on C++ for speed of execution. This program is designed to turn software engineers into C++ engineers and teach you advanced skills so you can code everything from self-driving cars to Mars Rovers, servers, and desktop applications. Get hands-on experience by building five real-world projects.
To optimize your chances of success in the C++ Nanodegree program, we recommend intermediate knowledge of any programming language.
Learn how to develop, compile, and execute C++ programs as well as syntax, functions, containers, and how to link together multiple files.
Object-Oriented Programming (OOP)
Learn to build classes, interfaces, and generic templates to create an object-oriented C++ program. Learn how modern C++ includes many tools for writing clean, reusable code.
Learn to control static and dynamic memory in C++ using the Resource Acquisition Is Initialization pattern, pointers, references, and move semantics.
Memory Management Chatbot
C++ supports running multiple execution paths in parallel. Learn how to launch process and threads in order to execute logic in parallel. Then advance to thread synchronization and communication, to experience the full power of concurrent programming.
Concurrent Traffic Simulation
In your Capstone Project, you will put all of your new C++ skills to use! Utilize the core concepts from this Nanodegree program - object-oriented programming, memory management, and concurrency - to build your own application using C++.
Capstone Project: Build Your Own C++ Application
David Silver, Stephen Welch, Andreas Haja, Victor N., Hsin-Wen C., Francisco V., Alexandre S., Luis L. and Anwar J.