1-ый блок (2 месяца)
Основные конструкции С++
Программа:
1) Переменные, типы данных
2) Порядок выполнения кода в программе. Ветвления, циклы
3) Массивы. Строки. Указатели и ссылки
4) Функции
5) ООП
6) Исключения
7) Управление памятью C/C++
8) Шаблоны
2-ой блок (2 месяца)
Алгоритмы и структуры данных
Программа:
1) Оценка времени работы алгоритмов
2) Алгоритмы сортировки
3) Элементарные структуры данных
4) Введение в алгоритмы поиска
5) Сбалансированные деревья поиска
6) Хеширование
7) STL
3-ий блок (1 месяц)
Основы Linux на примере Ubuntu
Программа:
1) Работа с файлами и директориями в терминале
2) Работа с пользователями и правами доступа
3) Устройство компьютера, базовые принципы работы. Компиляция программы
4-ый блок (1 месяц)
Параллельное программирование:
Программа:
1) Что такое параллелизм
2) Потоки и процессы
3) Управление потоками
4) Асинхронная работа с сетью
5) Пулы потоков, прерывание потоков
5-ый блок (1,5 месяца)
Работа с базами данных
Программа:
1) Введение в реляционные базы данных
2) Проектирование баз данных на примере PostgreSQL
3) Язык запросов SQL
4) Работа с базами данных в C++
5) Обзор NoSql
6-ой блок (2 недели)
Тестирование
Программа:
1) Unit-тестирование
2) TDD (Gtest, Gmock)
7-ой блок (2 недели)
Современные стандарты С++
Программа:
1) Что нового в C++ 11 (Умные указатели)
2) Что нового в C++ 14 (Лямбда-выражения)
3) Новшества C++ 17
4) Все что нужно знать про C++ 20
8-ой блок (2 недели)
Desktop-разработка на Qt
Программа:
1) Введение в Qt
2) Создание UI для проекта