Andorra United Arab Emirates Afghanistan Antigua and Barbuda Albania Armenia Angola Argentina Austria Australia Azerbaijan Bosnia and Herzegovina Barbados Bangladesh Belgium Burkina Faso Bulgaria Bahrain Burundi Benin Brunei Darussalam Bolivia (Plurinational State of) Brazil Bahamas Bhutan Botswana Belarus Belize Canada Congo, Democratic Republic of the Central African Republic Congo Switzerland C??te d'Ivoire Chile Cameroon China Colombia Costa Rica Cuba Cabo Verde Cyprus Czechia Germany Djibouti Denmark Dominica Dominican Republic Algeria Ecuador Estonia Egypt Eritrea Spain Ethiopia Finland Fiji Micronesia (Federated States of) France Gabon United Kingdom Grenada Georgia Ghana Gambia Guinea Equatorial Guinea Greece Guatemala Guinea-Bissau Guyana Honduras Croatia Haiti Hungary Indonesia Ireland Israel India Iraq Iran (Islamic Republic of) Iceland Italy Jamaica Jordan Japan Kenya Kyrgyzstan Cambodia Kiribati Comoros Saint Kitts and Nevis Korea (Democratic People's Republic of) Korea, Republic of Kuwait Kazakhstan Lao People's Democratic Republic Lebanon Saint Lucia Liechtenstein Sri Lanka Liberia Lesotho Lithuania Luxembourg Latvia Libya Morocco Monaco Moldova, Republic of Montenegro Madagascar Marshall Islands North Macedonia Mali Myanmar Mongolia Mauritania Malta Mauritius Maldives Malawi Mexico Malaysia Mozambique Namibia Niger Nigeria Nicaragua Netherlands Norway Nepal Nauru New Zealand Oman Panama Peru Papua New Guinea Philippines Pakistan Poland Portugal Palau Paraguay Qatar Romania Serbia Russian Federation Rwanda Saudi Arabia Solomon Islands Seychelles Sudan Sweden Singapore Slovenia Slovakia Sierra Leone San Marino Senegal Somalia Suriname South Sudan Sao Tome and Principe El Salvador Syrian Arab Republic Eswatini Chad Togo Thailand Tajikistan Timor-Leste Turkmenistan Tunisia Tonga T�����rkiye Trinidad and Tobago Tuvalu Taiwan (Province of China) Tanzania, United Republic of Ukraine Uganda United States of America Uruguay Uzbekistan Holy See Saint Vincent and the Grenadines Venezuela (Bolivarian Republic of) Viet Nam Vanuatu Yemen South Africa Zambia Zimbabwe
  • training@skillsforafrica.org
    info@skillsforafrica.org

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

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