Course Outline
Module 1(C++ Phase 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
 
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
 
Module3 (C++ Phase2 & Quantitative final phase)
- 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
 - Vasicek Bond Prices in C++
 - Black-Scholes Modeling in C++ put &call
 - Introduction to Monte carlo Simulation
 - How to price options using Simulation
 - Monte carlo Simulation in C++
 - Geometric Brownian Motion
 - American Vs European Options
 - Slice based valuation :Lattice Method
 - Slice based valuation :PDE Method
 - Slice based valuation :PDE Method
 - Valuation of American (dates Predetermined) Bermudan Option
 
Module 4 -C++ Final phase
- 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
 - An introduction to the new Chrono library
 
Module 5
- 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 6
- 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
 
Requirements
General Programming Knowledge
Testimonials (5)
General course information
Paulo Gouveia - EID
Course - C/C++ Secure Coding
Enjoyed the flexibility and variety of topics, the combination of trainings and exercises meant that I could apply what I'd learnt straight away. I also enjoyed the projects on the last day to bring everything together.
Luca Ricagni - Rockwell Collins UK Limited
Course - Advanced C++
I liked being submerged into the C++ language for 5 days - not interrupted by regular work - in a row a lot ... Personally not as experienced in C++ as my colleagues, I decided to join this course to take a deep dive. The dive triggered me hugely to learn more ... which is exactly what I wanted to achieve. I appreciated the expertise knowledge of the trainer - and that of my colleagues. The fact that topics were very quickly touched and not addressed in detail, is what I expect from an advanced course. Sometimes too quick for me to follow (but that's a known and accepted drawback from my joining this course :-)) ... but on the other hand provided me with a fairly complete overview of the subtleties of the language. Thanks a lot for presenting a course in this way! Most appreciated!!!
Jan Grauwen - Septentrio N.V.
Course - Advanced C++ Software Design
Interactivity, time for self-contained programming. I learn easier if I have the chance to find out the answer and not just telling me it. It was also a very good thing that the training was well-planned, we kept coffee pauses and the training did not lose my attention. The trainer had very deep knowledge in C++, we felt we could ask anything.
Barna Szecsi - GIS Europe SE
Course - C++ for Embedded Systems
The details on how compiler behaves depending on to the syntax usage. The "Quiz" sections are very stimulating