Generic filters
Exact matches only
Search in title
Search in content
Search in excerpt

Advanced C++ 20 Programming / Modern C++ (TTCP2175)

Overview

Geared for experienced C++ developers, Advanced C++ 20 Programming / Modern C++ is a three-day hands-on course designed to provide you with skills required to write faster, robust C++ code, enhancing your ability to create performance-critical applications ranging from system software, game development, to real-time systems and AI programming.

Working in a lab-focused learning environment guided by our experienced Instructor, you’ll explore a broad spectrum of ‘next-level’ topics such as SOLID design principles, operator overloading, functional programming, and template usage, all aimed at refining your programming craft. The hands-on work will mirror real-world scenarios, including implementing design patterns and managing threads and tasks.  You’ll also discover the realms of multi-threading and asynchronous programming, invaluable skills for creating efficient, high-performance applications. These advanced skills have significant application in industries such as finance for high-frequency trading systems, in gaming for building high-performance game engines, or in tech companies for building large scale distributed systems.

By the end of this unique and intensive course, you will be well-equipped to tackle complex coding challenges, contribute more effectively to your team’s projects, and deliver high-quality, efficient applications that meet modern business demands.

  • Price: $2,395.00
  • Duration: 1 day
  • Delivery Methods: Virtual
Date Time Price Option
12/11/2024 10:00 AM - 06:00 PM CT $2,395.00
02/19/2025 10:00 AM - 06:00 PM CT $2,395.00
04/16/2025 09:00 AM - 05:00 PM CT $2,395.00
06/25/2025 09:00 AM - 05:00 PM CT $2,395.00
08/27/2025 09:00 AM - 05:00 PM CT $2,395.00
10/08/2025 09:00 AM - 05:00 PM CT $2,395.00
12/03/2025 10:00 AM - 06:00 PM CT $2,395.00
For questions call: (469) 721-6100

Why choose
TOPTALENT?

  • Get assistance every step of the way from our Texas-based team, ensuring your training experience is hassle-free and aligned with your goals.
  • Access an expansive range of over 3,000 training courses with a strong focus on Information Technology, Business Applications, and Leadership Development.
  • Have confidence in an exceptional 95% approval rating from our students, reflecting outstanding satisfaction with our course content, program support, and overall customer service.
  • Benefit from being taught by Professionally Certified Instructors with expertise in their fields and a strong commitment to making sure you learn and succeed.

Course Topics / Agenda

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We will work with you to tune this course and level of coverage to target the skills you need most. Course agenda, topics and labs are subject to adjust during live delivery in response to student skill level, interests and participation.

 

  1. C++ Quick Review
  • Modern C++ – an introduction to new features in C++ 11-20
  1. SOLID Design
  • Design Smells
  • Project Overview
  • Single Responsibility
  • Open/Close
  • Liskov’s Substitution
  • Interface Segregation
  • Dependency Inversion
  1. Implementing a Factory in C++
  • Factory Basics
  • Options
  • Singleton
  • A C++ Object Factory
  1. Operator Overloading
  • Commonly Overloaded operators
  • Conversions
  • Constructor Conversions
  • Implicit vs Explicit
  1. Templates
  • Understanding variance
  • Implementing covariant templates
  • Implementing contravariant templates
  • <concepts>
  • auto
  1. Functional Programming
  • Lambda Expressions
  • Functors
  • <functional>
  1. Structural Patterns
  • Adapter
  • Bridge
  • Composite
  • Decorator
  • RAII and Proxy Pattern – Smart Pointers
  • Strategies for Smart Pointers & Raw Pointers
  • Other patterns
  1. Behavioral Patterns
  • Solving common design smells with behavioral patterns
  • Template Method – issues initializing C++ objects
  • State Pattern
  • Strategy Pattern
  • Command Pattern
  • Other behavioral Patterns
  1. Threads, Tasks, Async
  • All about threads
  • Mutex
  • Semaphores
  • Latch & barrier
  • atomics
  • All about Tasks
  • <future>
  • Coroutines (async)

Learning Objectives

Working in a hands-on learning environment, guided by our expert team you’ll learn to:

  • Become a Pro at SOLID Design: You’ll delve into SOLID design principles, mastering how to write clean, maintainable code. By the end, you’ll be able to identify and avoid design smells, enhancing the overall quality of your projects.
  • Master the Art of Factory Implementation: Get hands-on with factories in C++. We’ll guide you through the basics and options, including Singleton, to help you understand the critical role of factories in object-oriented design.
  • Up Your Game with Operator Overloading: You’ll learn about operator overloading and its applications. By understanding how to enhance the readability and flexibility of your code, you’ll streamline your programming tasks.
  • Unlock the Power of Templates: We’ll dive into the intriguing world of templates, exploring variance, concepts, and the ‘auto’ keyword. You’ll get to implement covariant and contravariant templates, broadening your C++ expertise.
  • Ace Multithreading and Asynchronous Programming: We’ll explore the realms of multithreading and asynchronous programming, equipping you with the tools to create efficient, high-performance applications. You’ll get to practice with mutexes, semaphores, atomics, and coroutines, gaining invaluable experience for your future projects.

This is an intermediate and beyond level development course designed for developers with prior C++ programming experience.  Students without prior C++ programming background should take the pre-requisite training.

Take Before:  Incoming students should have practical skills equivalent to the topics in, or should have recently attended, one of these courses as a prerequisite:

  • TTCP2100  Introduction to C++ Programming / C++ 20
Ten (10) business days’ notice is required to reschedule a class with no additional fees. Notify TOPTALENT LEARNING as soon as possible at 469-721-6100 or by written notification to info@toptalentlearning.com to avoid rescheduling penalties.
Please contact our team at 469-721-6100; we will gladly guide you through the online purchasing process.
You will receive a receipt and an enrollment confirmation sent to the email you submitted at purchase. Your enrollment email will have instructions on how to access the class. Any additional questions our team is here to support you. Please call us at 469-721-6100.
If a student is 15 minutes late, they risk losing their seat to a standby student. If a student is 30 minutes late or more, they will need to reschedule. A no-show fee will apply. Retakes are enrolled on a stand-by basis. The student must supply previously issued courseware. Additional fees may apply.
You will receive a ‘Certificate of Completion’ once you complete the class. If you purchased an exam voucher for the class, a team member from TOPTALENT LEARNING will reach out to discuss your readiness for the voucher and make arrangements to send it.