Whether conducted online or onsite, instructor-led C++ training courses provide practical, hands-on guidance on developing applications using C++ and its various iterations, including C++11, C++14, C++17, and others.
C++ training is offered in two formats: "online live training" and "onsite live training". Online live training (also referred to as "remote live training") is facilitated through an interactive remote desktop. Alternatively, onsite live training can be delivered locally at your premises in Sofia or at NobleProg’s dedicated corporate training centers in Sofia.
NobleProg -- Your Local Training Provider
Crystal Business Center
ул. "Осогово" 40, Sofia, Bulgaria, 1303
Crystal Business Center is located in the central part of Sofia, on the corner of "Osogovo" street. and "Todor Aleksandrov" blvd. The building is easily accessible by metro (only 50 m from Opalchenska station) and other public transport. Its total area is 8000 sq.m. The office area is 6171 sq.m.
This instructor-led, live training in Sofia (online or onsite) is aimed at developers who wish to use advanced C++ programming techniques to develop complex, secure, and high-performance systems and applications.
By the end of this training, participants will be able to:
Set up a development environment that includes all C++ libraries, packages and frameworks.
Understand the features, components, and basic elements of C++.
Create complex C++ applications using advanced programming techniques.
Learn how to write readable, fast, and secure code in C++.
Know the common security pitfalls in C++ language and how to mitigate them.
Implement test strategies for code quality and security control.
Use the diagnostics and debugging tools in C++ development.
This C++ course explores essential modern programming concepts, such as templates, move semantics, and first-class functions.
It places a strong focus on memory management through smart pointers and secure coding techniques.
Participants will study runtime errors, operator overloading, polymorphism, and STL containers paired with algorithms.
The curriculum wraps up with an introduction to effective testing strategies in C++.
Developing secure C and C++ code demands rigorous defenses against malicious exploitation, memory corruption, and input validation bypasses. This program explores vulnerability patterns such as buffer overflows, use-after-free errors, integer overflows, and type confusion. Participants will apply secure coding guidelines, static analysis tools, and defensive programming techniques to eliminate weaknesses, enforce input sanitization, and deliver hardened software that is resilient against cyberattacks.
Is C++ appropriate for embedded systems like microcontrollers and real-time operating systems?
Should object-oriented programming be utilized in microcontroller environments?
Is C++ too abstracted from the hardware to ensure efficiency?
This instructor-led live training answers these questions by demonstrating, through discussion and practical exercises, how C++ can be effectively used to develop embedded systems with code that is precise, readable, and efficient. Participants will apply theoretical knowledge by building a sample embedded application using C++.
Upon completing this training, participants will be able to:
Comprehend the core principles of object-oriented modeling, embedded software programming, and real-time programming
Create code for embedded systems that is compact, fast, and secure
Prevent code bloat caused by templates, exceptions, and other language features
Analyze the challenges associated with using C++ in safety-critical and real-time systems
Debug C++ programs on target hardware devices
Audience
Developers
Designers
Format of the course
A blend of lectures, discussions, exercises, and intensive hands-on practice
Designed for C++ developers seeking to integrate the C++11 standard into their professional work, this two-day course is especially beneficial for those working on financial applications. The curriculum covers all new features, accompanied by practical coding examples that participants can execute in the lab environment.
This instructor-led live training in Sofia (online or onsite) is designed for C++ developers who want to use CUDA to accelerate applications, write high-performance GPU kernels, and leverage parallel algorithm libraries for scientific computing, data processing, and machine learning workloads.
This training program aims to present C++ as the natural evolution of C for object-oriented embedded system development. Since C++ is fully compatible with C, this course guides participants smoothly from C to C++ while exploring the underlying mechanisms of how C++ is executed. This insight is particularly valuable when applying C++ in resource-constrained embedded environments. With the C++ standard recently undergoing a significant revision known as C++11, and a subsequent update, C++14, approaching, this course covers key features introduced by these updates that are highly beneficial in embedded contexts, such as high-performance memory management, concurrency using multicore processors, and low-level hardware programming.
GOAL/BENEFITS
The primary objective of this course is to enable you to use C++ in a 'correct' and effective manner.
Introduce C++ as an object-oriented alternative within the embedded systems domain.
Highlight both the similarities and differences between C++ and C.
Understand various memory management techniques, with a specific focus on move semantics introduced in C++11.
Explore the underlying implementation to understand how different C++ paradigms translate into machine code.
Leverage templates to create type-safe, high-level abstractions for low-level hardware programming (including memory-mapped I/O and interrupts), particularly utilizing variadic templates introduced in C++11.
Present useful design patterns applicable to embedded systems.
Include practical exercises to reinforce learning.
AUDIENCE/PARTICIPANTS
This training is designed for C++ programmers who wish to begin using C++ in an embedded systems context.
PREVIOUS KNOWLEDGE
The course assumes basic proficiency in C++ programming, equivalent to our 'C++ – Level 1' and 'C++ Level 2 – Introducing C++11' trainings.
PRACTICAL EXERCISES
Throughout the training, you will practice the presented concepts through a series of exercises. The development will take place using the free and open-source integrated development environment provided by Eclipse.
Object-oriented programming (OOP) in C involves applying core OOP principles—such as encapsulation, inheritance, and polymorphism—using the C programming language.
This instructor-led live training, available online or onsite, is designed for developers who aim to leverage C to create modular, maintainable, and scalable applications through object-oriented techniques.
Upon completion of this training, participants will be able to:
Set up and configure a C development environment tailored for structured programming.
Apply object-oriented design principles utilizing C constructs like structs and function pointers.
Implement encapsulation and abstraction within C programs.
Design reusable and maintainable code by employing object-oriented patterns in C.
Course Format
Interactive lectures and group discussions.
Extensive exercises and practical sessions.
Hands-on implementation within a live laboratory environment.
Customization Options
To request a customized version of this course, please contact us to make arrangements.
This live, instructor-led training delivered in Sofia provides a detailed examination of Qt and its modules.
By the conclusion of this training, attendees will have acquired the necessary understanding and practical experience to develop C++ applications using Qt.
Read more...
Last Updated:
Testimonials (6)
Initially, the trainer's pace seemed a bit too fast for me, but after offering the feedback during the training, he acknowledged it and slowed down the pace without sacrificing any of the lectures. Good rapport with the audience, very friendly and open for discussions.
Alexandru Ostafi - Siemens
Course - Advanced C++ : Practical workshop
Detailed explanation, re-iteration of points in a quite subtle way that really drove the knowledge home very well. Rod's willingness to double-check the odd obscure question that we rasied, to be sure that his answers were 100% right. Also, his interest in discussing the pros & cons of alternate coding styles so that we learnt not only how to use C++ in our intended way, but why it should be done that way.
Nick Dillon - cellxica Ltd
Course - Using C++ in Embedded Systems - Applying C++11/C++14
Experience sharing, it's teacher's know-how and valuable.
Carey Fan - Logitech
Course - C/C++ Secure Coding
The online-ness of it meant that we could save a lot of time. Much appreciated. Also, the fact that the trainer knew both c# and Cpp was a huge help since he could explain everything through knowledge we already possessed.
Gabor - Rheinmetall Electronics Hungary Kft
Course - Advanced C++
We have been show many different tools (gdb,valgrind,callgrind, google sanitizers, ...) which was really great to have a base knowledge that we can extend when we will need to use one of those tools.
Thibault Marechal - Red Embedded Consulting Sp. z o.o.
Course - C++ 11 Programming
The trainer really adapted the training to our level and took a lot of time and efforts to make sure the presentation was well adapted.
Online C++ training in Sofia, C++ training courses in Sofia, Weekend C++ courses in Sofia, Evening C++ training in Sofia, C++ instructor-led in Sofia, C++ coaching in Sofia, C++ on-site in Sofia, C++ instructor in Sofia, Weekend C++ training in Sofia, C++ trainer in Sofia, C++ classes in Sofia, C++ private courses in Sofia, C++ one on one training in Sofia, Evening C++ courses in Sofia, Online C++ training in Sofia, C++ boot camp in Sofia, C++ instructor-led in Sofia