-
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.
Overview
Syllabus
-
- C++ Foundations
- 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.
- Memory Management
- Learn to control static and dynamic memory in C++ using the Resource Acquisition Is Initialization pattern, pointers, references, and move semantics.
- Concurrency
- 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.
- Capstone Project
- 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++.