C++ Training Courses
C++ is a general-purpose programming language.
NobleProg onsite live C++ training courses demonstrate through hands-on practice how to develop applications with C++.
C++ training is available in various formats, including onsite live training and live instructor-led training using an interactive, remote desktop setup. Local C++ training can be carried out live on customer premises or in NobleProg local training centers.
C++ Course Outlines
|Cpp17||Writing Simpler Cleaner Code with C++ 17||7 hours||C++ 17 (C++17) is the latest version of the C++ programming language. It adds several new "big" language features with the aim of helping programmers write simpler, cleaner and more expressive code. In this instructor-led, live training, participants will learn about C++ 17's most important new features as they step through the creation of a sample C++ application. Case studies and interactive discussions will be combined with hands-on practice to demonstrate how to get the maximum benefit out of C++ 17. By the end of this course, participants will have the knowledge and practice to make the best use of C++ 17 for writing clearer, simpler, higher-quality C++ code. Audience Intermediate C++ developers Format of the course Part lecture, part discussion, exercises and heavy hands-on practice|
|Embedd8526||Using C++ in Embedded Systems - Applying C++11/C++14||21 hours||This training intends to introduce C++ as the common extension of C when applying object-oriented embedded system development. Since C++ encloses C, this training takes us from C to C++ in a natural way, and looks under the hood of how C++ is implemented. This is especially valuable to comprehend when applying C++ in an embedded resource limited environment. The C++ standard has recently been undergoing a major revision, a.k.a. as C++11, and a new one is on its way, C++14. This course addresses subjects brought in with these revisions that are especially useful like high performance memory management, concurrency making use of a multicore environment, and bare-metal close to the hardware programming. GOAL/BENEFITS The major objective of this class is that you shall be able to use C++ in a “correct way”. Introduce C++ as an object oriented language alternative in an embedded system context Show the similarities ‑ and differences ‑ with the C language Comprehend different memory management strategies – especially the move semantics introduced with C++11 Look under the hood and understand what different paradigms in C++ leads to in machine code Use templates to achieve type safe high order abstractions for bare-metal close to the hardware programming – memory mapped I/O as well as interrupts – especially the variadic templates introduced with C++11 Provide some useful design patterns especially applicable in an embedded context A few exercises in order to practice some concepts AUDIENCE/PARTICIPANTS This training is aimed C++- programmers who intend to start using C++ in an embedded system context. PREVIOUS KNOWLEDGE The course requires basic knowledge in C++ programming, corresponding to our trainings ”C++ – Level 1” and ”C++ Level 2 – Introducing C++11”. PRACTICAL EXERCISES During the training you will practice the presented concepts in a number of exercises. We will use the open and free integrated development environment from Eclipse|
|pcpp||Programming in C++||35 hours||The course presents a comprehensive object-oriented language C++ and its use of simple examples. These are the standard mechanisms and library|
|ecadpap||Embedded C Application Design Principles for Automotive Professionals||14 hours||A two day course covering all design principles with code examples coupled with recent industurial technology; very useful for automotive software developers|
|cpp11||C++ 11 Programming||14 hours||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|
|MOS112||Advanced C++ Software Design||35 hours||Module 1Module 1Module 1Module 1Module 1Module 1 Module 1 Intro + References Basics Workshop Basics Overloading What can we overload, and how. Extra C++ Types (bool & reference) Workshop overloading Oop Quick introduction to Oop Classes Structs Access Modifiers Constructor default/delete functions initializer syntax / constructor initialization list Workshop classes Memory Classical memory interaction Workshop Memory Module2Module2Module2Module2Module2Module2 Inheritance Construction Polymorphism Virtual, pure virtual, abstract, interface Access modifiers Workshop Inheritance (Shapes) Exceptions What are they How do they work What to throw and what to catch Workshop exceptions Memory exhaustion How it’s notified How to handle Modern Memory Management RAII Templates applied to Modern Memory Management (SmartPointer) Standardized C++11 SmartPointers Nullptr Workshop SmartPointers Namespaces Workshop Namespaces|
|CCQUANT||C++ for Modeling Quantitative Finance||49 hours||Deep C++ training to cover quantitative methods modeling and introduce a huge project for the trainees to have real hands-on experience with C++ for Quants|
|ooprogc||Object Oriented Programming with C++||7 hours||In this course, participants will learn C++ concepts and programming skills.|
|evolvo||Evolving Objects (EO)||21 hours||EO is a template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. With the help of EO, you can easily design evolutionary algorithms that will find solutions to virtually all kind of hard optimization problems, from continuous to combinatorial ones. Audience This course is meant for researchers and developers seeking to utilize Evolutionary Objects|
|ecadpapgeneral||Embedded C Application Design Principles||14 hours||A two day course covering all design principles with code examples coupled with recent industrial technology.|
|Torch||Torch: Getting started with Machine and Deep Learning||21 hours||Torch is an open source machine learning library and a scientific computing framework based on the Lua programming language. It provides a development environment for numerics, machine learning, and computer vision, with a particular emphasis on deep learning and convolutional nets. It is one of the fastest and most flexible frameworks for Machine and Deep Learning and is used by companies such as Facebook, Google, Twitter, NVIDIA, AMD, Intel, and many others. In this course we cover the principles of Torch, its unique features, and how it can be applied in real-world applications. We step through numerous hands-on exercises all throughout, demonstrating and practicing the concepts learned. By the end of the course, participants will have a thorough understanding of Torch's underlying features and capabilities as well as its role and contribution within the AI space compared to other frameworks and libraries. Participants will have also received the necessary practice to implement Torch in their own projects. Audience Software developers and programmers wishing to enable Machine and Deep Learning within their applications Format of the course Overview of Machine and Deep Learning In-class coding and integration exercises Test questions sprinkled along the way to check understanding|
|OpenNN||OpenNN: Implementing neural networks||14 hours||OpenNN is an open-source class library written in C++ which implements neural networks, for use in machine learning. In this course we go over the principles of neural networks and use OpenNN to implement a sample application. Audience Software developers and programmers wishing to create Deep Learning applications. Format of the course Lecture and discussion coupled with hands-on exercises.|
|unreal||Unreal Engine 4: Developing 3D games with C++||28 hours||Unreal Engine is an industry-leading suite of game development tools for creating 3D games. It has been used to develop many of today's games and series, including Borderlands, Gears of War, BioShock, and Mass Effect. This training covers the fundamentals of game development with Unreal Engine 4 while giving participants the chance to create their own sample game. Audience Beginner game developers Format of the course Discussion + a strong emphasis on hands-on design and development. Occasional quizzes to measure progress and understanding. Lots of instructor feedback and engagement.|
|cplusplusforembedded||C++ for Embedded Systems||21 hours||Is C++ suitable for embedded systems such as microcontrollers and real-time-operating-systems? Should object-oriented-programming be used in microcontrollers? Is C++ too far removed 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|