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 (10)
Lots of exercises and help. It was useful for the trainer to be able to use our individual project doucments to be able to help us fix our issue and complete the exercises. {Plenty of chance for asking questions too.
Matthew - Teledyne
Course - Advanced C++
the balance between lectures and practice, the rhythm, the trainer knowledge and pedagogic skill
Armando Pinto - EID
Course - C/C++ Secure Coding
We have been show many different tools (gdb,valgrind,callgrind, google sanitizers, ...) which was really great to have a base knowledge that we can extend when we will need to use one of those tools.
Thibault Marechal - Red Embedded Consulting Sp. z o.o.
Course - C++ 11 Programming
Good coverage of the topic
Steven Irrgang - Raytheon Australia
Course - Writing Simpler Cleaner Code with C++ 17
The details on how compiler behaves depending on to the syntax usage. The "Quiz" sections are very stimulating
Andrea Pomatto
Course - Using C++ in Embedded Systems - Applying C++11/C++14
how we can use reserved words and best practices to be used when using Objet Oriented Programming. how we can rely on cpp reference to get knowledge of desired topics
Alejandro - we need to hace this group for mexico people only from Turf and compact utility
Course - Advanced C++ Software Design
Good examples, focus on most useful material
Piotr Sowiński - Intel Technology Poland
Course - Object Oriented Programming with C++
Open discussion, trainer very knowledgeable and willing to help with debug and questions Good balance between theoretical and practical exercises.
JACK ROSS - STMicroelectronics R&D Ltd
Course - Programming in C++
Great training atmosphere.
April Faith Manabat - Controtek Solutions Inc
Course - QT Programming
The teacher addressed many relevant topics for clean coding with practical examples.