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

Applicants must have a minimum of one year of experience with C++ for government projects.
 35 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories