Course Outline

Module 1

  • Introduction and References
  • Basics
  • Workshop Basics
  • Overloading
  • What Can Be Overloaded, and How
  • Additional C++ Types (bool & reference)
  • Workshop on Overloading
  • Object-Oriented Programming (OOP)
  • Quick Introduction to OOP
  • Classes
  • Structs
  • Access Modifiers
  • Constructors
  • Default and Deleted Functions
  • Initializer Syntax / Constructor Initialization List
  • Workshop on Classes
  • Memory Management
  • Traditional Memory Interaction
  • Workshop on Memory Management

Module 2

  • Inheritance
  • Construction in Inherited Classes
  • Polymorphism
  • Virtual, Pure Virtual, Abstract, and Interface Concepts
  • Access Modifiers in Inheritance
  • Workshop on Inheritance (Shapes)
  • Exceptions
  • Understanding Exceptions
  • How Exceptions Work
  • What to Throw and What to Catch
  • Workshop on Exceptions
  • Memory Exhaustion
  • Notification of Memory Exhaustion
  • Handling Memory Exhaustion
  • Modern Memory Management Techniques
  • RAII (Resource Acquisition Is Initialization)
  • Templates for Modern Memory Management (SmartPointers)
  • C++11 Standard SmartPointers
  • nullptr in C++
  • Workshop on SmartPointers
  • Namespaces
  • Workshop on Namespaces

Module 3

  • Auto Keyword
  • The New auto Keyword in C++
  • The New auto Return Syntax
  • Enums
  • New-Style Enums
  • constexpr
  • New Constant Expressions in C++
  • About Constness
  • Const and Mutable Explained
  • Lambdas and Function Objects
  • Classes That Act Like Functions
  • Introduction to Lambda Functions
  • Chrono Library
  • An Introduction to the New Chrono Library in C++

Module 4

  • Casting Techniques
  • The Standard Library
  • String Handling
  • Containers
  • Vectors (vs)
  • Lists
  • Maps
  • Arrays
  • Tuples
  • Initializer Lists
  • Iterators
  • range-for Syntax
  • Standard Algorithms
  • Streams in C++
  • Miscellaneous Keywords
  • static Keyword
  • explicit Keyword

Module 5

  • Move Semantics
  • Introduction to L/R Values
  • R-Value References and Move Semantics
  • Type Traits
  • Obtaining Information at Compile Time
  • Concurrency in C++
  • Introduction to C++11’s Threading, async/future, and Atomic Types Implementation
  • Variadic Templates
  • An Introduction to C++11’s Variadic Templates
These modules are designed to provide a comprehensive and structured learning experience for government professionals seeking to enhance their skills in advanced C++ programming. The content is tailored to support the unique requirements and workflows specific to the public sector, ensuring alignment with governance and accountability standards.

Requirements

Minimum of one year of experience with C++ for government applications.

 35 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories