Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Module 1 (C++ Phase 1)
- Introduction and References
- Fundamentals
- Workshop: Basics
- Function Overloading
- Understanding Overloadable Elements and Techniques
- Additional C++ Types (bool and references)
- Workshop: Overloading
- Object-Oriented Programming (OOP)
- Quick OOP Introduction
- Classes
- Structs
- Access Modifiers
- Constructors
- Default and Deleted Functions
- Initializer Syntax and Constructor Initialization Lists
- Workshop: Classes
- Memory Management
- Classical Memory Interaction
- Workshop: Memory
Module 2
- Introduction to Quantitative Finance
- Discrete Time Models
- Continuous Time Models
- Interest Rate Models
- Options on Bonds
- Short Rate Models
- Forward Rate Models
- Market Models
Module 3 (C++ Phase 2 & Quantitative Final Phase)
- Inheritance
- Construction Techniques
- Polymorphism
- Virtual, Pure Virtual, Abstract Classes, and Interfaces
- Access Modifiers
- Workshop: Inheritance (Shapes)
- Exceptions
- Understanding Exceptions
- Exception Mechanisms
- What to Throw and What to Catch
- Workshop: Exceptions
- Memory Exhaustion
- Notification Mechanisms
- Handling Strategies
- Modern Memory Management
- RAII (Resource Acquisition Is Initialization)
- Templates in Modern Memory Management (SmartPointers)
- Standardized C++11 SmartPointers
- nullptr
- Workshop: SmartPointers
- Namespaces
- Workshop: Namespaces
- Vasicek Bond Prices in C++
- Black-Scholes Modeling in C++ for Put and Call Options
- Introduction to Monte Carlo Simulation
- Option Pricing via Simulation
- Monte Carlo Simulation in C++
- Geometric Brownian Motion
- American vs. European Options
- Valuation Based on Slices: Lattice Method
- Valuation Based on Slices: PDE Method
- Valuation Based on Slices: PDE Method
- Valuation of American (Predetermined Dates) Bermudan Options
Module 4 - C++ Final Phase
- auto
- The New auto Keyword
- The New auto Return Syntax
- enum
- New Style Enums
- constexpr
- New Constant Expressions
- Understanding Constness
- Explaining Const and Mutable
- Lambdas and Function Objects
- Classes Acting as Functions
- Introduction to Lambda Functions
- Chrono Library
- Introduction to the Modern Chrono Library
Module 5
- Casting
- Standard Library
- String
- Containers
- Vector (std::vector)
- List
- Map
- Array
- Tuple
- Initializer Lists
- Iterators
- Range-for Syntax
- Std Algorithms
- Streams
- Miscellaneous Keywords
- static
- explicit
Module 6
- Move Semantics
- Introduction to L-values and R-values
- R-value References Applied to Move Semantics
- Type Traits
- Obtaining Information at Compile Time
- Concurrency
- Introduction to C++11 Threading, async/future, and Atomic Types Implementation
- Variadic Templates - Introduction to C++11’s Variadic Templates
Requirements
General Programming Knowledge
49 Hours
Testimonials (3)
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 live coding