Návrh Školení
Modul 1 (Fáze 1 jazyka C++)
- Úvod + Odkazy
- Základy
- Základní díl dílny
- Přetížení
- Co lze přetěžovat a jak.
- Další typy C++ (bool & reference)
- Dílna o přetížení
- OOP
- Krátký úvod do OOP
- Třídy
- Struktury
- Přístupové modifikátory
- Konstruktory
- Výchozí/odstraněné funkce
- Syntaxe inicializace / seznam inicializátorů konstruktoru
- Dílna o třídách
- Paměť
- Klasické interakce s pamětí
- Dílna o paměti
Modul 2
- Úvod do kvantitativní finanční matematiky
- Modely v diskrétním čase
- Modely v spojitém čase
- Modely úrokových sazeb
- Možnosti na obligace
- Krátkodobé modely úrokových sazeb
- Závazkové kurzy v budoucnu
- Tržní modely
Modul 3 (Fáze 2 jazyka C++ & Finální kvantitativní fáze)
- Dědičnost
- Konstrukce
- Polymorfismus
- Virtuální, čistě virtuální, abstraktní, rozhraní
- Přístupové modifikátory
- Dílna o dědičnosti (tvary)
- Výjimky
- Jaké jsou to
- Jak fungují
- Co hodit a co chytit
- Dílna o výjimkách
- Vypětím paměti
- Jak se oznámí
- Jak řešit
- Současné správy paměti
- RAII (Resource Acquisition Is Initialization)
- Šablony použité v moderní správě paměti (SmartPointer)
- Standardizované C++11 SmartPointery
- Nullptr
- Dílna o SmartPointerech
- Obory názvů (namespaces)
- Dílna o oborech názvů
- Ceny obligací podle Vasicekova modelu v C++
- Modelování Black-Scholes v C++ put &call
- Úvod do simulace Monte Carlo
- Jak cenit možnosti pomocí simulace
- Simulace Monte Carlo v C++
- Geometrický Brownův pohyb
- Americké vs. evropské možnosti
- Sekundární hodnocení: Metoda lattice (mřížky)
- Sekundární hodnocení: Metoda PDE (parciálních diferenciálních rovnic)
- Sekundární hodnocení: Metoda PDE (parciálních diferenciálních rovnic)
- Hodnocení amerických (datumy předem stanovenými) Bermudských možností
Modul 4 - Finální fáze jazyka C++
- auto
- Nové klíčové slovo auto
- Nový způsob vrácení hodnot pomocí auto
- enum
- Nového stylu enumy
- constexpr
- Nové konstantní výrazy
- O konstantnosti
- Konstanta a proměnlivost (const a mutable)
- Lambdy & funkční objekty
- Třídy, které se chovají jako funkce
- Úvod do lambda funkcí
- Chrono
- Úvod do nové knihovny Chrono
Modul 5
- Převody typů (casting)
- Standardní knihovna
- Řetězce (string)
- Kolekce (containers)
- Vektory (vs)
- Seznamy (list)
- Mapy (map)
- Pole (array)
- Tuple
- Inicializační seznamy
- Iterátory
- Syntaxe range-for
- Standardní algoritmy (Std Algorithms)
- Proudové operace (streams)
- Různá klíčová slova
- static
- explicit
Modul 6
- Pohybové sémantiky (move semantics)
- Úvod do hodnot L/R
- R-value-references použité pro pohybové sémantiky
- Vlastnosti typů (type traits)
- Získávání informací v čase kompilace
- Souběžnost (concurrency)
- Úvod do souběžnosti C++11, async/future a atomické typy
- Variadické šablony - Úvod do variadických šablon C++11
Požadavky
Obecné Programming Znalosti
Reference (5)
General course information
Paulo Gouveia - EID
Kurz - 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
Kurz - 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.
Kurz - 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
Kurz - C++ for Embedded Systems
The details on how compiler behaves depending on to the syntax usage. The "Quiz" sections are very stimulating