Продвинутый курс C++

php2hCKii

Продолжительность курса — 5 дней

Описание курса:

Продвинутый курс C++ поможет усовершенствовать навыки ООП. Вы научитесь работать со стандартной библиотекой C++, освоите основные возможности библиотеки Qt, получите практический опыт разработки GUI-приложений. Мы обучим вас приемам разработки ПО, решениям типичных задач программирования и разработки GUI-приложений на языке С++ с помощью библиотеки Qt. Вы узнаете о контейнерах, алгоритмах и адаптерах, разберетесь в архитектуре приложений и базах данных, поработаете с многопоточностью и модульным тестированием ПО.

После изучения курса Вы сможете:

  • Усовершенствуете навыки объектно-ориентированного программирования, анализа и проектирования
  • Работать со стандартной библиотекой С++ и библиотекой Qt
  • Разрабатывать GUI-приложения
  • Претендовать на получение высокооплачиваемой работы

Программа курса:

  • Введение в стандартную библиотеку шаблонов
    • Структура библиотеки
    • Основные компоненты. Операторы. Пара
    • Итераторы. Итераторы ввода. Итераторы вывода. Однонаправленные итераторы. Двунаправленные итераторы. Итераторы произвольного доступа. Теги итераторов. Операции с итераторами
    • Итераторы потоков. Итератор входного потока. Итератор выходного потока
  • Контейнеры, алгоритмы, адаптеры
    • Контейнеры. Последовательности. Ассоциативные контейнеры
    • Функциональные объекты. Базовые классы. Арифметические операции. Сравнения. Логические операции
    • Распределители. Требования распределителей. Распределитель по умолчанию
    • Адаптеры. Адаптеры контейнеров. Адаптеры итераторов. Адаптеры функций
    • Алгоритмы. Не меняющие последовательность операции. Меняющие последовательность операции. Операции сортировки и отношения. Обобщённые численные операции
  • Введение в Qt. Программирование GUI с помощью Qt
    • Основные принципы работы с библиотекой Qt
    • Объектная модель. Метаобъекты, свойства, сигналы и слоты. Типы, варианты, ссылки
    • Обзор классов библиотеки
    • Программирование GUI с помощью Qt. Виджеты. Окна, диалоговые окна, главные окна. Меню. Пользовательские виджеты. Обработка событий
    • Создание GUI-приложений
    • Основы работы с 2D и 3D графикой
  • Архитектуры приложений
    • Отдельное приложение. Клиент-сервер. Трехуровневая архитектура. Многослойная архитектура
    • Архитектурные паттерны MVP, MVC, MVVM
    • Паттерны проектирования
  • Базы данных
    • Соединение с базой. Выполнение запросов. Обработка данных.
    • Представление данных в табличной форме
    • Создание форм по технологии «master-detail»
  • XML
    • Формат документа XML. Стандарты. Схемы
    • Использование XML
    • Чтение XML при помощи интерфейсов SAX и DOM
    • Запись документов XML
    • Сериализация
    • Паттерн проектирования «Memento»
  • Работа с сетью
    • Создание FTP и HTTP клиентов
    • Создание клиент-серверных приложений на базе TCP
    • Работа с протоколом UDP
  • Многопоточность
    • Создание потоков
    • Синхронизация потоков
    • Взаимодействие с главным потоком
    • Применение классов Qt во вторичных потоках
  • Интернационализация
    • Работа с Unicode
    • Создание переводимого приложения. Перевод приложений и динамическое переключение языков
  • Модульное тестирование ПО (unittesting)
    • Введение в модульное тестирование
    • Создание модульных тестов с помощью Qt
  • Основы создания приложений Qt Quick
    • QML для построения пользовательского интерфейса
    • Обзор основных возможностей
    • Создание приложения на Qt Quick
  • Основы разработки Qt-приложений под Android
    • Установка SDK. Настройка Qt Creator для работы с AndroidSDK
    • Создание виртуального устройства
    • Сборка и запуск приложения

Минимальные требования:

  • Собственный ПК
  • Знание основ программирования
  • Основы С++
Продвинутый курс C++
Курсы по программированию,