Bootcamp C++ Developer Specialization
About This Course
3 months program
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
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
410 Lessons
Welcome to the C++ Developer Nanodegree Program
01. Prerequisites
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++.