Skip to content

Become a C++ Developer

Nanodegree 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.

Enroll Now

04Days08Hrs48Min10Sec

  • Estimated time
    4 Months

    At 10 hrs/week

  • Enroll by
    December 7, 2022

    Get access to the classroom immediately upon enrollment

  • Prerequisites
    Intermediate Programming

What you will learn

  1. Learn C++ by Coding Five Projects

    4 months to complete

    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

    1. C++ Foundations

      Learn how to develop, compile, and execute C++ programs as well as syntax, functions, containers, and how to link together multiple files.

    2. 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.

    3. Memory Management

      Learn to control static and dynamic memory in C++ using the Resource Acquisition Is Initialization pattern, pointers, references, and move semantics.

    4. 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.

    5. 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++.

All our programs include:

  • Real-world projects from industry experts

    With real-world projects and immersive content built in partnership with top-tier companies, you’ll master the tech skills companies want.

  • Technical mentor support

    Our knowledgeable mentors guide your learning and are focused on answering your questions, motivating you, and keeping you on track.

  • Career services

    You’ll have access to Github portfolio review and LinkedIn profile optimization to help you advance your career and land a high-paying role.

  • Flexible learning program

    Tailor a learning plan that fits your busy life. Learn at your own pace and reach your personal goals on the schedule that works best for you.

Program offerings

  • Class content

    • Real-world projects
    • Project reviews
    • Project feedback from experienced reviewers
  • Student services

    • Technical mentor support
    • Student community
  • Career services

    • Github review
    • Linkedin profile optimization

Succeed with personalized services.

We provide services customized for your needs at every step of your learning journey to ensure your success.

Get timely feedback on your projects.

  • Personalized feedback
  • Unlimited submissions and feedback loops
  • Practical tips and industry best practices
  • Additional suggested resources to improve
  • 1,400+

    project reviewers

  • 2.7M

    projects reviewed

  • 88/100

    reviewer rating

  • 1.1 hours

    avg project review turnaround time

Learn with the best.

Learn with the best.

  • David Silver

    Head of Curriculum

    David Silver leads the Udacity Curriculum Team. Before Udacity, David was a research engineer on the autonomous vehicle team at Ford. He has an MBA from Stanford, and a BSE in Computer Science from Princeton.

  • Stephen Welch

    Instructor

    Stephen is a Content Developer at Udacity and has worked on the C++ and Self-Driving Car Engineer Nanodegree programs. He started teaching and coding while completing a Ph.D. in mathematics, and has been passionate about engineering education ever since.

  • Andreas Haja

    Instructor

    Andreas Haja is an engineer, educator, and autonomous vehicle enthusiast. Andreas now works as an engineering professor in Germany. Previously, he developed computer vision algorithms and autonomous vehicle prototypes using C++.

Top student reviews

 
0.0 stars
(0)
 
NaN stars

        

 
NaN stars

        

 
NaN stars

        

 
NaN stars

        

 
NaN stars

        

 
NaN stars

        

Become a C++ Developer

Get started today

  • Monthly access

    Pay as you go


    per

    /

    /

    Enroll now
    • Maximum flexibility to learn at your own pace.
    • Cancel anytime.
  • - access

    Pay upfront and save an extra 0%


    for - access

    Enroll now
    • Save an extra 0% vs. pay as you go.
    • 4 months is the average time to complete this course.
    • Switch to monthly price after if more time is needed.
    • Cancel anytime.
    Best Value
  • Learn

  • Average Time

  • Benefits include

Program details

Program overview: Why should I take this program?
  • Why should I enroll?
  • What jobs will this program prepare me for?
  • How do I know if this program is right for me?
Enrollment and admission
  • Do I need to apply? What are the admission criteria?
  • What are the prerequisites for enrollment?
  • If I do not meet the requirements to enroll, what should I do?
Tuition and term of program
  • How is this Nanodegree program structured?
  • How long is this Nanodegree program?
  • I have graduated from the C++ Nanodegree program, where should I go from here?
  • Can I switch my start date? Can I get a refund?
Software and hardware: What do I need for this program?
  • What software and versions will I need in this program?

Become a C++ Developer

Enroll Now