C++ Developer Specialization Bootcamp

Logo-2021-1
Bootcamp AI

About This Course

Learn C++, a high-performance programming language used in the world’s most exciting engineering jobs — from self-driving cars and robotics, to web browsers, media platforms, servers, and even video games. Get hands-on experience by coding five real-world projects. Learn to build a route planner using OpenStreetMap data, write a process monitor for your computer, and implement your own smart pointers.
Finally, showcase all your newfound skills by building a multithreaded traffic simulator and coding your own C++ application.
Prerequisite Knowledge: To optimize your chances of success in the C++ Nanodegree program, we recommend intermediate knowledge of any programming language.

Certificate

To share in LinkedIn

You can share your Certificates in the Certifications section of your LinkedIn profile, on your printed resume, or in other documents.

 


 

Learning Objectives

C++ is a compiled, high-performance language. Robots, automobiles, and embedded software all depend on C++ for speed of execution. This program is designed to turn software engineers into C++ developers. You will use C++ to develop object-oriented programs, to manage memory and system resources, and to implement parallel programming.

Requirements

  • There is no application. This Nanodegree program accepts everyone, regardless of experience and specific background.

Target Audience

  • This program is right for you if you’re an intermediate-level programmer familiar with functions and classes who wants to become a C++ developer or pursue a career in robotics software, IoT, mobile communications, video game development, operating systems, networking, AI, embedded systems, and more.

Curriculum

414 Lessons

Welcome to the C++ Developer Nanodegree Program

01. PrerequisitesPreview
02. Courses2:25
03. Project1:21
04. What It Takes

Introduction to C++

Workspaces

Welcome to Bootcamp AI

Welcome

Learn basic C++ syntax, functions, containers, and compiling and linking with multiple files. Use OpenStreetMap and the 2D visualization library IO2D to build a route planner that displays a path between two points on a map.

Introduction to the C++ Language

A Search

Writing Larger Programs

Extending the OpenStreetMap Data Model

A with OpenStreetMap Data

Build an OpenStreetMap Route Planner

Course Outro

Welcome

Explore Object-Oriented Programming (OOP) in C++ with examples and exercises covering the essentials of OOP like abstraction and inheritance all the way through to advanced topics like polymorphism and templates. In the end, you’ll build a Linux system monitor application to demonstrate C++ OOP in action!

Intro to OOP

Advanced OOP

Project System Monitor

Coming Soon Updated System Monitor Project

Introduction

Discover the power of memory management in C++ by diving deep into stack vs. heap, pointers, references, new, delete, smart pointers, and much more. By the end, you’ll be ready to work on a chatbot using modern C++ memory management techniques!

Pointers and References

new and delete

Smart Pointers

Garbage Collector

Introduction and Running Threads

Concurrent programming runs multiple threads of execution in parallel. Concurrency is an advanced programming technique that, when properly implemented, can dramatically accelerate your C++ programs.

Passing Data Between Threads

Mutexes and Locks

Condition Variables and Message Queues

Program a Concurrent Traffic Simulation

Industry Research

Capstone —

Put your C++ skills to use on a project of your own! You’ll utilize the core concepts from this Nanodegree program - object-oriented programming, memory management, and concurrency - to build your own application using C++.