Advanced C++ 20 Programming
Retail Price: $2,495.00
Next Date: 02/19/2025
Course Days: 3
Enroll in Next Date
Request Custom Course
At Course Completion
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.
Audience Profile
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.
Prerequisites
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
Outline
1. C++ Quick Review
• Modern C++ - an introduction to new features in C++ 11-20
2. SOLID Design
• Design Smells
• Project Overview
• Single Responsibility
• Open/Close
• Liskov’s Substitution
• Interface Segregation
• Dependency Inversion
3. Implementing a Factory in C++
• Factory Basics
• Options
• Singleton
• A C++ Object Factory
4. Operator Overloading
• Commonly Overloaded operators
• Conversions
• Constructor Conversions
• Implicit vs Explicit
5. Templates
• Understanding variance
• Implementing covariant templates
• Implementing contravariant templates
• auto
6. Functional Programming
• Lambda Expressions
• Functors
7. Structural Patterns
• Adapter
• Bridge
• Composite
• Decorator
• RAII and Proxy Pattern – Smart Pointers
• Strategies for Smart Pointers & Raw Pointers
• Other patterns
8. Behavioral Patterns
• Solving common design smells with behavioral patterns
• Template Method – issues initializing C++ objects
• State Pattern
• Strategy Pattern
• Command Pattern
• Other behavioral Patterns
9. Threads, Tasks, Async
• All about threads
• Mutex
• Semaphores
• Latch & barrier
• atomics
• All about Tasks
• Coroutines (async)
Course Dates | Course Times (EST) | Delivery Mode | GTR | |
---|---|---|---|---|
2/19/2025 - 2/21/2025 | 10:00 AM - 6:00 PM | Virtual | Enroll | |
4/16/2025 - 4/18/2025 | 10:00 AM - 6:00 PM | Virtual | Enroll | |
6/25/2025 - 6/27/2025 | 10:00 AM - 6:00 PM | Virtual | Enroll | |
8/27/2025 - 8/29/2025 | 10:00 AM - 6:00 PM | Virtual | Enroll | |
10/8/2025 - 10/10/2025 | 10:00 AM - 6:00 PM | Virtual | Enroll | |
12/3/2025 - 12/5/2025 | 10:00 AM - 6:00 PM | Virtual | Enroll |