C++ Programming: Advanced


Course Details

  • Location: Online
  • Duration: 10 weeks
  • Times: Flexible
  • Cost : $1,050

Next Start Date:

July 8, 2019

This course is part of a certificate program. You can also take it without enrolling in the program.

Get Details & Apply

About this Course

This course continues to build the student's repertoire of programming idioms, design patterns and advanced C++ Standard Library components. There is an emphasis on design principles, and the use of patterns to build extensible and maintainable larger-scale software applications and frameworks. The lessons and programming exercises use the incremental development of a vector graphics framework as a case study, illustrating how design choices are made and language features applied.

Topics Include:

  • Programming to interfaces and abstractions
  • Separation of responsibilities
  • Standard library in-depth: streams, containers, iterators, algorithms
  • Smart pointers
  • Design patterns: Prototype, Iterator, Decorator, others
  • Rvalue references and move semantics
  • Constexpr: generalized constant expressions
  • Hash-based, unordered standard collections

Program Overview

This course is part of the Certificate in C++ Programming.

Learning Format

Online, Group-Paced

Start and finish your course with the same group of students, with frequent opportunities to interact with your instructors and classmates along the way. This course is 100 percent online, with set due dates for assignments but no class meetings. Learn More »

Course Sessions

Online, Group-Paced

This course is delivered 100 percent online and runs from July 8 to September 15, 2019. Optional office hours are held online on Tuesdays from 7–8:30 p.m.


Meet your instructor


You'll earn 3 continuing education units (CEUs) for successfully completing this course. Learn more about noncredit courses.