Среды интегрированной разработки.
Паттерны проектирования. Языковые, парадигмо-специфические и архитектурные паттерны. Делегирование и композиция. Паттерны создания. Структурные паттерны. Поведенческие паттерны.
Системы сборки. Динамические библиотеки. Сборка и использование внешних библиотек. Системы подключаемых модулей.
Разработка приложений с графическим интерфейсом пользователя. Интерфейсы, основанные на событиях. Библиотека Qt. Слоты, сигналы и свойства. Метаобъекты и их компилятор. Иерархия объектов и управление временем их жизни. Контейнеры и вспомогательные классы библиотеки Qt.
Цикл обработки сообщений. События.
Виджеты. Окна. Элементы управления и их иерархия. Динамическое изменение размеров элементов интерфейса. Паттерн модель-вид-контроллер. Разработка новых элементов управления. Обработка событий ввода. Средства графического вывода. Альтернативные подходы к описанию графического интерфейса пользователя.
Параллельное программирование. Потоки. Модель памяти. Атомарные типы в стандартах C11 и С++11. Примитивы синхронизации. Потоковый класс памяти. Обмен сообщениями. Использование потоков в приложениях с графическим интерфейсом.
Сетевое программирование. Сокеты. Протоколы с установкой соединения и датаграммы. Прикладные протоколы.