• training@skillsforafrica.org
    info@skillsforafrica.org

Modern C++ For High-performance Systems Training Course in Burundi

Introduction

The Modern C++ for High-Performance Systems Training Course is expertly designed for professionals aiming to build fast, reliable, and scalable software systems using the latest C++ standards. As high-performance applications demand efficient resource management, concurrency, and robust architecture, mastering modern C++ is essential for developers in systems programming, embedded development, fintech, telecommunications, and high-frequency trading platforms.

This immersive training covers the transition from legacy C++ to C++11, C++14, C++17, and C++20 features, enabling participants to write safer, faster, and more expressive code. From smart pointers and move semantics to concurrency, templates, and low-level optimization, the course arms professionals with tools to meet modern software engineering challenges in high-demand, performance-critical environments.

Target Audience

  • Systems programmers and embedded software engineers
  • Developers in financial trading, defense, and aerospace sectors
  • Software engineers building high-performance computing applications
  • C++ developers upgrading from legacy to modern standards
  • Real-time and network application developers
  • Technical leads and architects responsible for performance optimization
  • Computer science educators and trainers in systems programming

Course Objectives

  • Understand the evolution and philosophy behind Modern C++ standards
  • Use advanced features of C++11, C++14, C++17, and C++20 to write efficient code
  • Implement memory-safe and efficient applications using RAII and smart pointers
  • Leverage move semantics, rvalue references, and perfect forwarding
  • Write generic, reusable components with advanced template programming
  • Manage concurrency with threads, async, and atomic operations
  • Optimize performance using profiling, inlining, and compiler techniques
  • Master modularity and encapsulation with modern object-oriented design
  • Utilize STL enhancements and range-based programming
  • Build and debug real-world high-performance applications

Duration

10 Days

Course content

Module 1: Transitioning to Modern C++

  • Benefits of modernizing legacy C++ codebases
  • Feature comparison: C++98 vs C++11 and beyond
  • Compiler and IDE setup for modern C++
  • Feature deprecation and best practices
  • Code transformation techniques

Module 2: Smart Pointers and Resource Management

  • Using unique_ptr, shared_ptr, and weak_ptr
  • RAII design pattern for resource safety
  • Custom deleters and ownership semantics
  • Avoiding memory leaks and dangling pointers
  • Best practices for dynamic resource control

Module 3: Move Semantics and Rvalue References

  • Understanding lvalues, rvalues, and references
  • Writing move constructors and move assignment operators
  • std::move vs std::forward
  • Performance impact of copy vs move
  • Efficient container design using moves

Module 4: Modern Templates and Type Traits

  • Function and class templates with constraints
  • constexpr, decltype, auto, and SFINAE
  • Template metaprogramming techniques
  • Variadic templates and parameter packs
  • Concepts in C++20

Module 5: Lambda Expressions and Functional Style

  • Captures and closures
  • Lambdas in STL algorithms
  • Generic lambdas and recursive lambdas
  • std::function and functional programming idioms
  • Performance considerations of lambdas

Module 6: Multithreading and Concurrency

  • std::thread, std::async, std::future
  • Synchronization with mutexes, condition variables
  • Lock-free programming and atomic types
  • Thread safety and memory models
  • Design patterns for concurrent systems

Module 7: STL Improvements and Ranges

  • std::array, std::unordered_map, and std::optional
  • New algorithms and utilities in C++17/20
  • Range-based loops and std::ranges library
  • Custom iterators and containers
  • Efficient data traversal techniques

Module 8: Filesystem and I/O Enhancements

  • std::filesystem for directory and file manipulation
  • Streamlining file I/O with modern techniques
  • Reading/writing binary and structured data
  • Error handling with std::error_code
  • Portable path operations and filters

Module 9: C++20 Coroutines and Asynchronous Programming

  • Introduction to coroutines and their use cases
  • co_await, co_yield, and co_return syntax
  • Building scalable async systems
  • Task-based and generator-based coroutines
  • Comparing coroutines with threads

Module 10: Low-Level Optimization and Debugging

  • Inlining, loop unrolling, and vectorization hints
  • Using constexpr for compile-time computation
  • Benchmarking with high-resolution clocks
  • Profiling tools and memory analyzers
  • Debugging templates and lambda errors

Module 11: Design Patterns in High-Performance Systems

  • Singleton, Factory, and Strategy in modern C++
  • Observer, Visitor, and State with templates
  • Policy-based class design
  • Reusable generic components
  • Anti-patterns to avoid in performance-critical code

Module 12: Final Capstone Project and Best Practices

  • Building a multi-threaded, real-time C++ application
  • Applying smart pointers, lambdas, and templates
  • Writing unit tests with Catch2 or GoogleTest
  • Performance tuning and deployment
  • Documentation and code maintainability

Training Approach

This course will be delivered by our skilled trainers who have vast knowledge and experience as expert professionals in the fields. The course is taught in English and through a mix of theory, practical activities, group discussion and case studies. Course manuals and additional training materials will be provided to the participants upon completion of the training.

Tailor-Made Course

This course can also be tailor-made to meet organization requirement. For further inquiries, please contact us on: Email: info@skillsforafrica.org, training@skillsforafrica.org Tel: +254 702 249 449

Training Venue

The training will be held at our Skills for Africa Training Institute Training Centre. We also offer training for a group at requested location all over the world. The course fee covers the course tuition, training materials, two break refreshments, and buffet lunch.

Visa application, travel expenses, airport transfers, dinners, accommodation, insurance, and other personal expenses are catered by the participant

Certification

Participants will be issued with Skills for Africa Training Institute certificate upon completion of this course.

Airport Pickup and Accommodation

Airport pickup and accommodation is arranged upon request. For booking contact our Training Coordinator through Email: info@skillsforafrica.org, training@skillsforafrica.org Tel: +254 702 249 449

Terms of Payment: Unless otherwise agreed between the two parties’ payment of the course fee should be done 10 working days before commencement of the training.

Course Schedule
Dates Fees Location Apply
07/07/2025 - 18/07/2025 $3000 Nairobi, Kenya
14/07/2025 - 25/07/2025 $5500 Johannesburg, South Africa
14/07/2025 - 25/07/2025 $3000 Nairobi, Kenya
04/08/2025 - 15/08/2025 $3000 Nairobi, Kenya
11/08/2025 - 22/08/2025 $3500 Mombasa, Kenya
18/08/2025 - 29/08/2025 $3000 Nairobi, Kenya
01/09/2025 - 12/09/2025 $3000 Nairobi, Kenya
08/09/2025 - 19/09/2025 $4500 Dar es Salaam, Tanzania
15/09/2025 - 26/09/2025 $3000 Nairobi, Kenya
06/10/2025 - 17/10/2025 $3000 Nairobi, Kenya
13/10/2025 - 24/10/2025 $4500 Kigali, Rwanda
20/10/2025 - 31/10/2025 $3000 Nairobi, Kenya
03/11/2025 - 14/11/2025 $3000 Nairobi, Kenya
10/11/2025 - 21/11/2025 $3500 Mombasa, Kenya
17/11/2025 - 28/11/2025 $3000 Nairobi, Kenya
01/12/2025 - 12/12/2025 $3000 Nairobi, Kenya
08/12/2025 - 19/12/2025 $3000 Nairobi, Kenya