Advanced C++ Software Design Certificate for Safouan Ben Jha
Certificate ID:
672023
Authentication Code:
47751
Certified Person Name:
Safouan Ben Jha
Trainer Name:
Sławomir Grabowski
Duration Days:
5
Duration Hours:
35
Course Name:
Advanced C++ Software Design
Course Date:
14 March 2022 09:30 to 28 March 2022 16:30
Course Outline:
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
Module2
- 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
Module3
- Auto
- The new auto keyword
- The new auto return syntax
- enum
- New style enums
- constexpr
- New constant expressions
- About constness
- Const and Mutable explained
- Lambdas & function objects
- Classes that act like functions
- Introduction lambda functions
- Chrono
- n introduction to the new Chrono library
Module 4
- Casting
- Standard library
- String
- Containers
- Vector (vs)
- List
- Map
- Array
- Tuple
- Initializer lists
- Iterators
- range-for syntax
- Std Algorithms
- Streams
- Miscellaneous Keywords
- static
- explicit
Module 5
- Move semantics
- Introduction to L/R values
- R-value-references applied to move semantics
- Type Traits
- Obtaining information on compile time
- Concurrency
- Introduction to C++11’s Threading, async/future and atomic types implementation
- Variadic templates - An introduction to C++11’s variadic templates