Вы освоите основы программирования на языке C++ и заложите фундамент из навыков, необходимых для профессиональной разработки.
Получите базовые навыки программирования на языке C++, которые пригодятся при прохождении собеседований и работе на позиции Junior C++ Programmer.
Сможете самостоятельно разрабатывать программы на языке C++ для решения бизнес-задач.
Содержание курса
Модуль 1 — Введение в язык C++
- Тема 1. Вводное занятие
- Тема 2. Пишем свой “Hello, World”.
- Тема 3. Базовый синтаксис языка C++
- Тема 4. Такие разные функции
- Тема 5. Модульность. Линковка
- Тема 6. Подробнее о CMake
- Тема 7. Ответы на вопросы
Модуль 2 — Классы и структуры
- Тема 8. Структуры и классы
- Тема 9. Полиморфизм и все-все-все
- Тема 10. Шаблоны классов и функций
- Тема 11. Тонкости (перегрузка операторов, конструкторы и деструкторы, move-семантика)
Модуль 3 — Основы unit-тестирования
- Тема 12. Понятие unit-тестирования, цель, что тестируем
- Тема 13. Инструменты для unit-тестирования. Библиотека Googletest
Модуль 4 — Стандартная библиотека и полезные алгоритмы
- Тема 14. Общий обзор стандартной библиотеки
- Тема 15. Подробнее о контейнерах и вводе-выводе
- Тема 16. Алгоритмы, которые лучше знать лучше
Модуль 5 — Работа со сторонними библиотеками
- Тема 17. Работа с библиотеками вручную
- Тема 18. Современные средства автоматизации. Пакетные менеджеры, снова CMake
- Тема 19. Сборка библиотек из исходников
Модуль 6 — Всё глубже и глубже. Тонкости
- Тема 20. Семантика перемещения, noexcept, и как они нам помогают
- Тема 21. Работа с динамической памятью
- Тема 22. Исключения в C++. Использование и нюансы. Гарантии безопасности
Модуль 7 — Многопоточность в C++
- Тема 23. Понятие потока выполнения программы
- Тема 24. Две главные проблемы — гонка и взаимная блокировка
- Тема 25. Структуры данных в многопоточной среде
- Тема 26. Более высокие абстракции и асинхронное исполнение
- Тема 27. Дополнительные тонкости и детали
Модуль 8 — Разное
- Тема 28. Идиомы и полезные практики C++
- Тема 29. Вводное занятие по проекту
- Тема 30. Идиомы и полезные практики C++. Часть 2
- Тема 31. Полезные в работе инструменты
- Тема 32. Консультация
Модуль 9 — Проектный модуль
- Тема 33. Защита проектных работ
Преподавательский состав:
- Сергей Кольцов
- Владимир Папков
- Александр Ключев
- Марат Сейфулин
- Павел Филонов
- Георгий Иванов
- Иван Келарев
- Михаил Лицарев







