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