
C-009 Программирование на языке C++ middle
Начало: По мере набора группы
Длительность: 1 неделя
СертификатОнлайн
Описание курса
Курс C_009 - это курс для перехода от уровня "умею писать код" к уровню "понимаю, как писать хороший промышленный код на C++". Он фокусируется на ключевых инструментах (STL) и методологиях (Паттерны, SOLID) профессиональной разработки. Обучение охватывает как базовые, так и продвинутые темы, включая стандартную библиотеку шаблонов (STL), паттерны проектирования, и современные возможности языка C++17 и C++20.
Участники курса получат практический опыт решения задач и написания эффективного кода.
Программа курса:
- Лямбда-функции
- Функциональные объекты
- Примеры использования
- Практическое задание: Создание и использование функциональных объектов
- Векторы
- Списки
- Деки
- Стеки
- Очереди
- Приоритетные очереди
- Упорядоченные ассоциативные контейнеры
- Практическое задание: Использование контейнеров последовательности
- Практическое задание: Использование адаптеров контейнеров
- Практическое задание: Использование упорядоченных ассоциативных контейнеров
- Виды итераторов
- Операции с итераторами
- Примеры использования
- Практическое задание: Использование итераторов
- Обзор алгоритмов
- Классификация алгоритмов
- Примеры использования
- Немодифицирующие алгоритмы
- Модифицирующие алгоритмы
- Сортировка и поиск
- Численные алгоритмы
- Практическое задание: Использование разных алгоритмов
- Введение в паттерны проектирования
- Принципы хорошего дизайна программной системы (SOLID)
- Понятие паттерна проектирования
- Метамодель паттерна проектирования
- Элементы паттерна проектирования
- Практическое задание: Анализ и применение принципов SOLID
- Composite
- Decorator
- Proxy
- Adapter
- Flyweight
- Bridge
- Facade
- Практическое задание: Реализация структурных паттернов
- Factory Method
- Abstract Factory
- Builder
- Prototype
- Singleton
- Практическое задание: Реализация порождающих паттернов
- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template Method
- Visitor
- Практическое задание: Реализация поведенческих паттернов
- Новые возможности C++17 (type traits)
- Новые возможности C++20 (concept)
- Примеры использования новых возможностей
- Практическое задание: Использование новых возможностей C++17 и C++20