Курс: Разработчик С++
Продолжительность курса: 184 ак. ч.
Описание курса:
Изучите базовое и продвинутое программирование на С++, научитесь созданию и управлению базами данных. Освоите техники многопоточного и асинхронного программирования и работу с шаблонами проектирования, позволяющими оптимизировать решение задач разработки.
Аудитория:
• разработчики
• программисты
• ИТ-специалисты
Необходимая подготовка:
Не требуется.
Программа курса:
Модуль 1. Основы программирования на C++
• Знакомство с C++. Структура программы, переменные и их типы
• Операторы ветвления. Логические операции
• Циклические конструкции
• Массивы
• Функции и их параметры. Рекурсия
• Модель памяти и хранение данных
• Область видимости переменных и типы памяти. Пространства имён
• Указатели. Массивы и параметры функций
• Указатели. Динамическая память
• Строки
• Работа с файлами
Модуль 2. Система контроля версий Git
• Предназначение системы контроля версий
• Основные операции: фиксация и откат изменений, поиск, история
• Работа с сервисом GitHub
• Ветки, слияние веток и разрешение конфликтов
• Командная работа
Модуль 3. Базовое программирование на C++
• Структуры и перечисления
• Классы и объекты
• ООП: абстракция и инкапсуляция
• ООП: наследование и полиморфизм
• Многофайловые проекты и библиотеки
• Препроцессор и макросы
• Перегрузка операторов
• Исключения и обработка ошибок
• CMake
• Сборка и подключение библиотек
• Тестирование кода и Unit-тесты
Модуль 4. Алгоритмы и структуры данных
• Введение в алгоритмическую сложность. Бинпоиск
• Динамическое программирование и «жадность»
• Сортировки
• Динамический массив. Списки. Деки
• Пирамиды и деревья поиска
• Хеширование
• Графы
• Орграфы
Модуль 5. Продвинутое программирование на C++
• Стандарты С++ (11, 14, 17, 20, 23 версии)
• Компиляция и линковка
• Жизненный цикл объекта. RAII
• Тестирование
• Шаблоны
• Функторы
• STL. Часть 1
• STL. Часть 2
• STL. Часть 3
• Умные указатели
• Move-семантика
Модуль 6. Работа с базами данных
• Введение в базы данных (БД)
• Работа с PostgreSQL. Создание БД
• Проектирование БД. Связи
• Манипуляции с данными
Модуль 7. Многопоточное и асинхронное программирование
• Многопоточность
• Асинхронное программирование
• Конкуренция, состояние гонки (race condition)
• Рефакторинг
• Упаковка приложения в контейнер
Модуль 8. Шаблоны проектирования в C++
• Порождающие шаблоны: Builder, Singleton, Factory Method, Abstract Factory, Prototype
• Структурные шаблоны: Proxy, Decorator, Adapter
• Поведенческие шаблоны: Command, Iterator, Observer, Chain of Responsibility
• Свойства хорошего кода. Принципы DRY и SOLID
Окончательная цена указывается в договоре на обучение.
Записаться на курс