Что даст вам этот курс:
- Умение писать на С++ правильно.
- Понимание современных проблем языка и специфики его применения.
- Освоение паттернов проектирования, принципов написания многопоточного кода.
- Знание, как взаимодействовать с сетью, хранить и обрабатывать большие объемы данных.
- Владение нюансами программирования на С++, которые отличают разработчика уровня Middle от Junior.
После обучения вы:
- Заберете с собой материалы по всем занятиям (презентации, записи вебинаров, примеры практических задач);
- Научитесь прикладному применению стандартов C++11 / C++14 / C++17;
- Освоите асинхронное и многопоточное программирование;
- Получите глубокое представление о шаблонной магии и паттернах проектирования;
Содержание курса
Модуль 1 — Современный C++
- Тема 1. Система сборки: build, test and deploy.
- Тема 2. Особенности C++11. auto, lambda, tuple
- Тема 3. Особенности C++11. Move, variadic templates
- Тема 4. Сравнение C++11/C++14 с С++ 03
- Тема 5. Реализация умных указателей
- Тема 6. Идея аллокаторов
- Тема 7. Шаблонная магия
- Тема 8. Обзор C++17. Constexpr lambda. Fold expression. Attributes. Type deduction
- Тема 9. Обзор C++17. If constexpr. Structured bindings. Statements with initializer. std::filesystem
- Тема 10. C++20 — что это и зачем?
Модуль 2 — Архитектура
- Тема 11. Принципы проектирования ПО
- Тема 12. GRASP
- Тема 13. Шаблоны GoF. Порождающие
- Тема 14. Шаблоны GoF. Структурные
- Тема 15. Шаблоны GoF. Поведенческие. Command, Interpreter, Iterator, Mediator, Memento, Chain of responsibilily
- Тема 16. Шаблоны GoF. Поведенческие. Observer, State, Strategy, Template method, Visitor
- Тема 17. STL. Контейнеры
- Тема 18. STL. Алгоритмы
- Тема 19. Бонус. Красно-чёрные деревья
- Тема 20. Boost. Разное
- Тема 21. Boost. Паттерны проектирования
- Тема 22. Бонус. Хэш-функции и хэш-таблицы
Модуль 3 — Параллельные вычисления
- Тема 23. Многопоточность
- Тема 24. Шаблоны 5
- Тема 25. Асинхронное программирование
- Тема 26. Lockfree DS
- Тема 27. Атомарные типы данных
Модуль 4 — Сеть
- Тема 28. Сетевое взаимодействие
- Тема 29. Асинхронный ввод/вывод
Модуль 5 — Хранилища
- Тема 30. РСУБД
- Тема 31. Key Value
- Тема 32. Много данных
- Тема 33. ORM
Модуль 6 — ML
- Тема 34. Dlib. Кластеризация и классификация
- Тема 35. Dlib. Регрессия
Модуль 7 — Проектная работа
- Тема 36. Выбор темы и организация проектной работы
- Тема 37. Консультация по проектам и домашним заданиям
- Тема 38. Защита проектных работ
- Тема 39. Подведение итогов курса
Преподавательский состав:
- Сергей Кольцов
- Александр Ключев
- Марат Сейфулин
- Павел Филонов
- Георгий Иванов
- Иван Келарев
- Михаил Лицарев
- Анатолий Махаев
- Максим Охотский
- Андрей Михайлов
- Андрей Иванов









