Съдържание и теми, включени в курса
Модул 1 (Фаза 1 на C++)
- Введение + Референтни типове
- Основи
- Практикуване на основи
- Преопределяне (Overloading)
- Какво и как може да се преопредели
- Допълнителни типове на C++ (bool и референция)
- Практикуване на преопределяне
- OOP (Обектно-ориентирано програмиране)
- Бързо въведение в OOP
- Класове
- Структури (Structs)
- Модификатори за достъп
- Конструктори
- функции по подразбиране / изтриване
- Синтаксис за инициализация / списък за инициализация на конструктор
- Практикуване с класове
- Памет
- Класическа работа с паметта
- Практикуване с паметта
Модул 2
- Въведение в количествените финанси
- Модели в дискретно време
- Модели в непрекъснато време
- Модели за лихвени проценти
- Опции върху облигации
- Модели за краткосрочни лихви (Short rate Models)
- Модели за форвардни лихви
- Пазарни модели
Модул 3 (Фаза 2 на C++ и финална фаза за количествени финанси)
- Наследяване
- Конструиране
- Полиморфизъм
- Виртуални, чисто виртуални, абстрактни, интерфейси
- Модификатори за достъп
- Практикуване на наследяване (форми)
- Изключения (Exceptions)
- Какво представляват те
- Как работят
- Какво да се хвърля (throw) и какво да се улавя (catch)
- Практикуване с изключения
- Изчерпване на паметта
- Как се известява за това
- Как да се обработи
- Съвременна работа с паметта
- RAII
- Шаблони, приложени към съвременната работа с паметта (SmartPointer)
- Стандартизирани умни указатели на C++11
- Nullptr
- Практикуване на умни указатели
- Пространства от имена (Namespaces)
- Практикуване на пространства от имена
- Цени на облигации Васек в C++
- Моделиране по Блек-Шоулс в C++ за put и call опции
- Въведение в симулациите по Монте Карло
- Как да се оцени ценообразуването на опции чрез симулация
- Симулация по Монте Карло в C++
- Геометрично броуново движение
- Американски срещу Европейски опции
- Оценка на базата на сегменти: Решетъчен метод (Lattice Method)
- Оценка на базата на сегменти: Метод на ЧДЧ (PDE Method)
- Оценка на базата на сегменти: Метод на ЧДЧ (PDE Method)
- Оценка на америкаанска (с предварително определени дати) бермудска опция
Модул 4 - Финална фаза на C++
- auto
- Новата клавиша auto
- Новият синтаксис за връщане на стойност с auto
- enum
- Нови видове enum
- constexpr
- Нови константни изрази
- Относно константността (constness)
- Обяснение на const и mutable
- Lambdas и обекти функции
- Класове, които действат като функции
- Въведение във функционалните обекти lambda
- Chrono
- Въведение в новата библиотека Chrono
Модул 5
- Преобразуване на типове (Casting)
- Стандартна библиотека
- String
- Контейнери
- Vector (vs)
- List
- Map
- Array
- Tuple
- Инициализационни списъци
- Итератори
- Синтаксис на range-for
- Стандартни алгоритми (Std Algorithms)
- Потоци (Streams)
- Различни ключови думи
- static
- explicit
Модул 6
- Семантика на преместване (Move semantics)
- Въведение в L/R стойности
- Прилагане на референции към R-стойности към семантиката на преместване
- Черти на типа (Type Traits)
- Получаване на информация по време на компилация
- Конкурентност
- Въведение в поддръжката на нишки, async/future и атомни типове в C++11
- Вариадични шаблони - Въведение в вариадичните шаблони на C++11
Изисквания
Общи познания по програмиране
Отзиви от участници (3)
Първоначално темпото на треньора ми се стори малко твърде бързо, но след като му дадох обратна връзка по време на обучението, той я прие и забави темпото, без да губи нищо от лекциите. Има добро взаимодействие с аудиторията, много приятен и отворен за дискусии.
Alexandru Ostafi - Siemens
Курс - Advanced C++ : Practical workshop
Машинен превод
Детайлно обяснение, повторение на точките по тихичински начин, който изключително добре подкрепя придобиването на знания. Готовността на Род да провери необикновените и сложни въпроси, които зададохме, за да се увери, че отговорите му са 100% правилни. Освен това, неговата загриженост за обсъждането на предимствата и недостатъците на алтернативните стилове на кодиране, така че да научим не само как да използваме C++ по планиран начин, но и защо трябва да се прави по този начин.
Nick Dillon - cellxica Ltd
Курс - Using C++ in Embedded Systems - Applying C++11/C++14
Машинен превод
Споделянето на опит е ценно и важно знание на учителя.
Carey Fan - Logitech
Курс - C/C++ Secure Coding
Машинен превод