C++ 11 Programming Training Course
This is a 2 day course aimed at C++ programmers who are interested in applying the new C++11 standard in their industry. It is particularly useful for financial applications developers covering all new features with coding examples to be executed within the lab
This course is available as onsite live training in Botswana or online live training.Course Outline
- C++ Standard overview
- C++03 Vs C++ 11
- Automatic Type Deduction and decltype
- Uniform Initialization Syntax
- Deleted and Defaulted Functions
- nullptr
- Delegating Constructors
- Rvalue References
- C++11 Standard Library
- Threading Library
- New Smart Pointer Classes
- New C++ Algorithms
- Object creation in C++11
- Move semantic
- Variadic templates
- Lambda Expressions
- C+11 new libraries
- Concurrency in C++ 11
Requirements
C++ Programming
Need help picking the right course?
southafrica@nobleprog.co.za or +27 (0)10 005 5793
C++ 11 Programming Training Course - Enquiry
Testimonials (2)
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
In my humble opinion, the trainer, he has explained everything with a perfect rhythm maintaining the balance between theoretical and practical material. Beside this, the material was fine.
Hector Gonzalez Gomez - ZITRO LABORATORY
Course - C ++ 11 Programación
Related Courses
Advanced C++
35 HoursThis instructor-led, live training in Botswana (online or onsite) is tailored for developers who wish to employ 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.
C++ for Modeling Quantitative Finance
49 HoursEmpowers quantitative developers with advanced C++ techniques specifically tailored for financial modelling—ranging from core computational algorithms and data structures to derivatives pricing models, risk analytics, and performance-optimised implementations. It guides practitioners through a comprehensive, project-based curriculum that bridges theoretical finance with production-grade code, enabling professionals to construct accurate, high-speed simulation systems utilised in trading, market analysis, and risk management.
C/C++ Secure Coding
21 HoursThis three-day course provides an introduction to safeguarding C/C++ code from malicious actors who might exploit vulnerabilities related to memory management and input handling. The curriculum focuses on the fundamental principles of writing secure code.
C++ for Embedded Systems
21 HoursIs C++ appropriate for embedded systems like microcontrollers and real-time operating systems?
Should object-oriented programming be applied in microcontrollers?
Is C++ too abstracted from the hardware to be efficient?
This instructor-led, live training addresses these questions and demonstrates through discussion and practice how C++ can be used to develop embedded systems with code that is accurate, readable, and efficient. Participants put theory into practice through the creation of a sample embedded application in C++.
By the end of this training, participants will be able to:
- Understand the principles of object-oriented modelling, embedded software programming and real-time programming
- Produce code for embedded systems that is small, fast and safe
- Avoid code bloat from templates, exceptions, and other language features
- Understand the issues related to using C++ in safety-critical and real-time systems
- Debug a C++ program on a target device
Audience
- Developers
- Designers
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
C++, QT, ZeroMQ and Protocol Buffers
35 HoursThis instructor-led, live training in Botswana (online or onsite) provides introductory coverage of C++, the Qt GUI framework, and various communication technologies such as ZeroMQ and Protocol Buffers that can be used for writing distributed applications.
By the end of this training, participants will have the necessary knowledge and practice to write and compile an application using C++, Qt and gcc on Linux Centos 6/7. Participants will also integrate asynchronous messaging capabilities using Zero MQ and Protocol Buffers.
Using C++ in Embedded Systems - Applying C++11/C++14
21 HoursThis training aims to present C++ as the natural extension of C for object-oriented embedded system development. Since C++ encompasses C, this course guides participants from C to C++ in a logical manner, exploring the underlying implementation of C++. This understanding is particularly valuable when applying C++ within the resource-constrained environments typical of embedded systems. The C++ standard has recently undergone significant revisions, known as C++11, with C++14 being released subsequently. This course covers features introduced in these revisions that are especially beneficial, such as high-performance memory management, concurrency in multicore environments, and low-level hardware programming.
OBJECTIVES/BENEFITS
The primary goal of this course is to equip you with the ability to use C++ correctly and effectively.
- Introduce C++ as an object-oriented alternative for embedded systems
- Highlight the similarities and differences between C and C++
- Understand various memory management strategies, particularly move semantics introduced in C++11
- Examine the underlying mechanisms to understand how different C++ paradigms translate into machine code
- Utilise templates to create type-safe, high-level abstractions for low-level, hardware-adjacent programming (including memory-mapped I/O and interrupts), with a focus on variadic templates from C++11
- Explore useful design patterns, particularly those applicable to embedded contexts
- Engage in practical exercises to reinforce key concepts
TARGET AUDIENCE/PARTICIPANTS
This training is designed for C++ programmers who wish to begin applying C++ within an embedded systems context.
PREREQUISITES
Participants require a fundamental understanding of C++ programming, equivalent to that covered in our trainings "C++ – Level 1" and "C++ Level 2 – Introducing C++11".
PRACTICAL EXERCISES
Throughout the training, you will practice the concepts presented through a series of exercises. We will utilise the open-source and free integrated development environment provided by Eclipse.
Functional Programming with C++
14 HoursThis instructor-led, live training in Botswana (online or on-site) is targeted at web developers who wish to implement functional programming with C++.
By the end of this training, participants will be able to:
- Utilise functional programming solutions to boost the performance of web applications.
- Avoid data mutation and side effects through functional programming.
- Construct web applications in a functional programming style.
Introduction to C++ Programming
28 HoursIntroduction to C++ Programming Training Course Information
Create, compile, and run C++ programs. Execute traditional programming operations. Write classes to build maintainable projects. Manage dynamic data reliably and efficiently.
Advanced C++ Software Design
35 HoursRefines advanced C++ programming skills through five modules that explore object-oriented design patterns, memory management strategies, template metaprogramming, STL containers, and contemporary software architecture practices. This course provides senior engineers with an in-depth understanding of C++ internals and RAII principles, equipping practitioners with actionable techniques to optimise performance-critical systems, reduce memory overhead, and build maintainable applications capable of meeting complex software engineering demands.
Object Oriented Programming with C++
7 HoursThis instructor-led, live training in Botswana (online or on-site) is designed for developers who wish to use C++ to apply object-oriented programming techniques and enhance software design.
By the end of this training, participants will be able to: implement object-oriented concepts in C++, design modular applications, apply encapsulation and abstraction, and structure maintainable codebases.
Programming in C++
35 HoursThis course offers an in-depth exploration of C++, a comprehensive object-oriented language, illustrated through straightforward examples. Participants will delve into the history and evolution of C++, analysing procedural programming principles, fundamental language constructs, data types, and declarations. By examining key object-oriented concepts such as classes, operator overloading, and templates, learners will master the core tenets of abstraction, inheritance, and polymorphism. The curriculum covers working with standard containers, algorithms, and iterators, alongside critical topics like memory management, namespaces, and exception handling. Participants will gain proficiency in compiled programs, exception handling, and file streams, equipping them to develop robust, production-grade C++ solutions.
Qt Programming
21 HoursThis instructor-led live training provides a detailed examination of Qt and its modules.
By the conclusion of the programme, participants will have acquired the requisite knowledge and practical experience to develop their own C++ applications using Qt.
Unreal Engine 4
21 HoursThis instructor-led live training in Botswana covers the fundamentals of game development with Unreal Engine 4, giving participants the chance to create their own sample game.