C++ Programming: Advanced


Course Details

This course can only be taken as part of the Certificate in C++ Programming.

Get Program Details

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.