spinner-it

Курс C++ PRO в Киеве

Курс C++ Pro
ВРЕМЯ
108 часов / 5 месяцев
по 2-3 раза в неделю
с 19:00 до 22:00
СТАРТ
28.09.2022
СТОИМОСТЬ
20650 грн
16500 грн
Возможна оплата частями или беспроцентная рассрочка от Альфа-банка на 4 месяца
О курсе

C++ — один из самых сложных языков, который потребует от вас усидчивости и терпения, но ваша востребованность всегда будет на высоте. Вы сможете создавать топовые продукты любой сложности, ведь на C++ можно писать всё: драйверы устройств, программы для устройств IoT, десктопные прикладные программы: игры, бизнес-приложения, серверы для сетевых служб и многое другое.

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

Читать больше о курсе Скрыть
Для кого данный курс
Вы — новичок
и хотите начать кодить на С++ как можно скорее
Вы хотите поменять сферу деятельности,
освоив перспективную профессию
Вы уже программист,
но хотите освоить еще одно направление
Вы изучали направление самостоятельно,
но хотите придать знаниям системности
Чему вы научитесь?
1.
Использовать основные структуры данных для создания программ
2.
Применять принципы ООП для разработки программ
3.
Разрабатывать консольные приложения в ОС Linux
4.
Работать со стандартной библиотекой С++ и библиотекой Qt
5.
Писать GUI-приложения
6.
Работать как в команде, так и соло на фрилансе
7.
Владеть тайм-менеджментом для эффективного планирования и выполнения задач
Чего не будет
1.

Теории без практики

2.

Устаревших механик работы

3.

Пересказа чужих лекций и книг

4.

Вопросов без ответов

В рамках курса вы будете работать в группах над реальными проектами.
Это будет увлекательно и эффективно!
Записаться на курс
Что включает курс?
36 live-занятий — только необходимая теория и много практики
Обучение по программе, созданной специалистами топовых IT-компаний Украины
Обучение у преподавателей-практиков, которые поделятся с вами реальным опытом и актуальными знаниями
Доступ к материалам и записям занятий в течение года в личном кабинете на удобной платформе
Два занятия по английскому, на которых вы определите свой уровень владения языком, усвоите полезную лексику для IT, а также получите рекомендации по дальнейшему обучению
Занятие по поиску первой работы в IT, на котором обсудим зарплатные ожидания, самопрезентацию, этапы коммуникации с работодателем и подготовку к собеседованию
Мини-курс по soft skills, поиску заказов на фриланс-бирже Upwork, а также подготовке к поиску работы
Проверка знаний — упражнения и тесты
Навык командной работы и проекты, на которых осуществлялась работа во время обучения, для включения в портфолио
Возможность присоединиться к ITEA community
(более 16 000 выпускников)
Полную поддержку клиентского сервиса
Возможность оплаты частями или вариант удобной беспроцентной рассрочки от Альфа-банка
Индивидуальную онлайн-поддержку от преподавателя или ментора, общение с другими студентами в чате группы
Возможность заморозить обучение при необходимости и подключиться к следующему потоку
Сертификат после окончания обучения в соответствии с успеваемостью
Читать больше Скрыть
Программа обучения
Данный курс является частью программы: C++ Development
1. Немного истории
  • Что такое язык программирования
  • Машинные языки
  • Низкоуровневые языки (язык ассемблера)
  • Высокоуровневые языки
  • Трансляторы
  • Компиляция
  • Интерпретация
  • Парадигмы программирования
  • Модульная парадигма программирования
  • Функциональная парадигма программирования
  • Обобщенная парадигма программирования
  • Объектно ориентированная парадигма программирования
  • История С++
2. Основы системы контроля версии GIT
  • Что такое система контроля версии и что она решает
  • Основные элементы git
  • Что такое коммит
  • Что такое ветка
  • Способы создания репозитория. Виды сервисов, позволяющие создать удаленный репозиторий
  • Базовые команды git
  • Практика. Создания репозитория локально. Создания репозитория на удаленном сервере
3. Состав языка С++
  • Пример простой программы С++
  • Базовые способы собрать приложение
  • Алфавит языка
  • Что такое лексемы
  • Что такое идентификатор как важная составляющая программы
  • Что такое ключевые слова
  • Комментарии (однострочные, многострочные)
  • Что такое литера. Виды литералов. И зачем они нужны в коде
  • Чем отличаются строковый литерал от остальных типов литералов
  • Что такое инструкции
  • Что значит синтаксическая ошибка. Пример простой синтаксической ошибки
  • Что такое семантическая ошибка. Пример семантической ошибки и возможные ее последствия
4. Переменные и типы данных
  • Что такое переменная. Синтаксис объявления переменной
  • Тип данных. Что такое строгая типизация. Зачем переменной нужен тип данных
  • Целочисленный тип данных
  • Символьные типы
  • Начиная с С++11, целочисленные типы с фиксированными размером, какие проблемы они решают
  • Что такое алиас на тип данных. Пример с описанием typedef.
  • Понимания типов size_t, time_t — это просто алиас на встроенный тип
  • Тип void как маркер разного контекста. Пример контекста использования этого типа
  • Логический тип данных
  • Вещественные типы данных. Возможные подводные камни представления в памяти
  • Простой пример на ассемблере способа представления целочисленных типов и вещественных типов
  • Способы объявления переменных. Инициализация переменных.
  • Проблема неинициализированных переменных
  • Оператор sizeof для получения размера переменных и типов
  • Способы инициализации переменных до С++11 и универсальная инициализация начиная с С++11 как средство решения проблем старой инициализации
  • Автоматический вывод типа. Ключевое слово auto и decltype
  • Константы
  • Способы объявления констант
  • Что такое свертка констант. Пример С++-кода с объявлением констант и оптимизированного ассемблерного кода
5. Основные операции С++
  • Виды операторов (унарный, бинарный, тернарный). Их синтаксис
  • Неявное преобразование при операторе присвоения. Что такое срезка.
  • Что такое сужающее преобразование. Проблема знакового и беззнакового преобразования
  • Явное преобразования типов (С-подход и С++-подход)
  • Арифметические операции
  • Проблема арифметических операций. Целочисленное деление на ноль, переполнение и т.д.
  • Смешанные выражения. Приоритет операций
  • Автоматический вывод типа как решение проблемы переполнения в арифметических выражениях
  • Временная переменная как результат промежуточного вычисления выражения. Как выглядит временная переменная в сгенерированном ассемблерном коде (простое описание)
  • Базовые понятия Rvalue и Lvalue
  • Составной оператор
  • Пост- и пре-инкремент и декремент. В чем отличие между пре- и пост- операцией
  • Операторы отношения между операндами. Возможные подводные камни
  • Логические операции
  • Битовые операции. Что такое установка бита, что такое сброс бита. Что такое little-endian и big-endian. Что такое битовые маски, пример битовых масок до С++11 и начиная с С++11
  • Описание разницы между логическим сравнением с применением логических операторов {|| &&} и битовыми операциями {| &}
  • Арифметические операции, применимые к типу char и разница с выводом на поток символьного типа и целочисленного типа
  • Целочисленный оператор «остаток от деления». Рассмотрения примера ошибочной путаницы между знаковыми и беззнаковыми типами на сгенерированном ассемблерном коде
6. Операторы, управляющие ходом выполнения программы
  • Условный оператор if. Пример возможных проблем с висячими else.
  • Разные подходы с написаниям оператора if во избежание спагетти-кода
  • Что такое область видимости. Что такое блок
  • Оператор выбора switch. Проблема fall through. В чем отличие между оператором выбора switch и логическим оператором if
  • Что такое compile time и run time-выражение на примере case-веток оператора выбора switch
  • Оператор цикла for. Способы объявления цикла for. Зачем нужен вечный цикл. Возможные проблемы знакового и беззнакового сравнения и их последствия
  • Оператор цикла while
  • Оператор цикла do while. Использование do while, для решения проблем с ветвлением кода с использованием оператора if
  • Тернарный оператор
  • Простое понимание точки следования на примере оператора запятой
7. Массивы
  • Что такое массив и в чем его преимущества
  • Объявления массивов. Способы указания размера массива
  • Инициализация массива. Возможные ошибки при инициализации массива
  • Массив переменной длины, как расширение компилятора. Флаг компиляции — pedantic
  • Массив символов vs строки. Способы объявления. Что такое символ «терминальный ноль». Возможные проблемы при инициализации символьного массива
  • Доступ к элементам массива
  • Что такое выход за границы массива. Что такое buffer overflow
  • Циклы как способ обхода, обработки и вывода массива на экран
  • Частые ошибки при выборе типа для переменной цикла при работе с массивом
  • Размер массива. Как получить количество элементов массива
  • С++11 range for как способ удобной работы с массивом. В чем отличие range for и других циклов и какие проблемы решает range for в отличии от других циклов
  • Отличие символьного массива от других типов массивов. Как правильно обходить символьный массив в циклах. Как вывести символьный массив на экран. Как считывать символы введенные с клавиатуры в символьный массив и возможные проблемы
  • Многомерные массивы. Примеры представления многомерного массива одномерным массивом
8. Указатели
  • Базовые понятия памяти стек
  • Что такое локальные переменные и как переменные создаются на стеке.
  • Что такое автоматическое управление памятью
  • Базовое понятие указателя
  • Объявление указателей
  • Способы инициализации указателя. Что такое невалидный указатель.
  • Что такое разыменования указателя и возможные проблемы. nullptr как правильный литерал для инициализации указателя. Что значит понятие «указатель на тип». Размер указателя, модели памяти разных ОС и платформ. Почему для указателя правильный тип есть void*
  • Что такое константный указатель и указатель на const. Пример возможных ошибок
  • Арифметика с указателями. Чем отличаются арифметика с указателями от арифметики с переменными
  • Что общего между массивом и указателем. Как обходить массив с помощью указателя. Что означает указатель на элемент за последним элементом массива и зачем так делать
9. Функции
  • Что такое функция и какие она решает проблемы в коде
  • Синтаксис функции
  • Базовое понятие что такое объявление и определение функции. Пример отличия
  • Что такое списки параметров. Способ вызова функции. Задание значения по умолчанию для параметра
  • Возвращаемое значение из функции. auto как автоматический вывод возвращаемого значения. Проблемы при автоматическом выводе типа.
  • Тип void как маркер невозвращаемого значения функции
  • Передача параметров по значению
  • Что такое фактические и формальные параметры
  • Неправильное использования auto в качестве параметров функции и последующее расширения компиляторов
  • Что такое глобальные переменные. Проблема сокрытия имен глобальных и локальных переменных
  • Передача по указателю. Способ возврата нескольких значений с функции
  • Что такое ссылки. В чем отличие ссылки от указателя
  • Ссылка как часть интерфейса функции
  • Какие проблемы решает ссылка в сравнении с указателем как параметр функции. Какие преимущества константной ссылки. Почему можно передавать Rvalue как аргумент константной ссылки
  • Пример как сделать ссылку невалидной
  • Стек и вызов функций
  • Соглашение о вызове функций
  • Массивы как параметры функции. Способы объявления массива как параметра функции и частые ошибки. Проблема получения количества элементов массива в функции
  • Рекурсия. Inline-функции
  • Что такое перегрузка функций. Что такое mangling имен функции на примере генерации ассемблерного кода
  • Почему перегрузка недоступна в языке С. Простое описания ключевого слово extern «C» как пример описания перегрузки
  • Что такое указатель на функцию и какие решает проблемы передача функции как параметр функции на примере алгоритма сортировки
  • Базовые понятия что такое lambda как замена указателю на функцию.
  • Что такое std::function
  • Проблемы при возврате локальных переменных с функции по ссылке или указателю
  • Снятие константности с аргумента использования std::const_cast
10. Пространства имен
  • Что такое пространства имен
  • Что такое вложенные пространства имен
  • Новые возможности объявления вложенных пространств имен в С++17
11. Простые пользовательские типы данных
  • Что такое структуры. Какие они решают проблемы
  • Объявление структур
  • Способы доступа к полям структуры
  • Способы инициализации структур до С++11
  • Инициализация структур начиная с С++11
  • Размер структур. Что такое выравнивание структур. Что такое padding в структурах
  • Неименованные структуры
  • Struct binding С++17. Какие проблемы решает
  • Что такое перечисления и какие оно решает проблемы
  • Что такое unscoped-перечисления и какие у него проблемы
  • Что такое scoped-перечисления, начиная с С++11 и какие он решает проблемы
  • Что такое объединения. Какие он решает проблемы
  • Что такое каламбур типов и как объединение помогает в преобразовании несовместимых типов
12. Работа с динамической памятью
  • Базовые понятия о моделях памяти. Их особенности и отличия
  • Отличие работы со стековой памятью и динамической памятью (куча)
  • Что такое менеджер памяти или почему динамическое выделение памяти такое дорогое
  • Работа с динамической памятью, используя С-функции
  • Работа с динамической памятью, используя С++-подход
  • Возможные проблемы при работе с динамической памятью
13. Классы и объекты (ООП)
  • Базовые понятия ООП
  • Что есть недостатком функционального программирования и какие задачи решает ООП
  • Основные киты ООП
  • Синтаксис объявления класса
  • Что такое поля класса
  • Создание объекта класса
  • Уровни доступа в классе
  • Способы объявления константных полей в классе до С++11 и после
  • Что такое статические поля
  • Что такое метод класса. Чем отличается метод от обычной функции
  • Что такое this. Что такое соглашение о вызове thiscall
  • Способы объявления методов класса. Чем отличаются определение метода внутри класса от определения за пределами класса
  • Что такое константные методы и какие они решают проблемы.
  • Ключевое слово mutable
  • Что такое статические методы и чем они отличаються от обычных методов
14. Конструкторы и деструкторы
  • Что такое конструктор и какие он решает проблемы
  • Виды конструкторов до С++11
  • Список инициализации. Способ инициализации полей класса, начиная с С++11. Подводные камни при инициализации полей класса
  • Зачем нужен конструктор копирования и оператор присваивания
  • Что такое деструктор и какие он решает проблемы
  • Правильная сигнатура для конструкторов и оператора присваивания
  • Перегрузка конструкторов
  • Порядок инициализации полей при создании объекта
15. Наследование
  • Что такое наследование и какие оно решает проблемы
  • Виды наследования
  • Чем является наследование (public-наследования)
  • Расположение объектов в памяти при наследовании
  • Порядок инициализации при наследовании. Подводные камни
  • Порядок вызовов при разрушении объекта
  • Shadowing-методы при наследовании
  • Множественное наследование. В чем отличие от одиночного наследования. Подводные камни множественного наследования
  • Неоднозначность вызова метода при множественном наследовании
  • Проблема ромбового наследования
  • Что такое виртуальное наследование и зачем оно нужно в контексте наследования
  • Ключевое слово final
16. Виртуальные функции
  • Что такое полиморфизм
  • Что такое виртуальная функция
  • Что такое динамический и статический полиморфизм и как он реализуется в языке С++
  • Ключевое слово override и какие он решает проблемы в контексте виртуальных функций
  • Что такое виртуальный деструктор и зачем он нужен
  • Что такое чисто виртуальные функции. Что такое абстрактный класс
  • Что такое vtable и vtpr. На что они влияют
17. Шаблоны
  • Что такое шаблоны и обобщенное программирование
  • Что общего между макросом и шаблоном. Какие проблемы макроса
  • Шаблоны класса
  • Что такое инстанцирование шаблона
  • Проблема раздувания кода
  • Параметры шаблона. Передача значения в качестве шаблонного аргумента
  • Специализация. Частичная специализация. Явная специализация
  • Шаблонные функции
  • Шаблонный метод. Шаблонный конструктор. Какие задачи они позволяют решить
  • Разница в вызове шаблонного класса и шаблонной функции
  • Явная специализация шаблона функции
18. Перегрузка операторов
  • Что такое перегрузка операторов
  • Когда стоит применять перегрузку операторов
  • Какие операции разрешено перегружать
  • В чем разница между перегрузкой оператора как методом класса и обычной функцией
  • Базовые соглашения о перегрузке операторов
  • Тонкости при перегрузке пре- и пост-инкремента и декремента
  • Рекомендации по написанию интерфейса перегрузки операторов
  • Особенности перегрузки вывода на поток
19. Пространства имен
  • Что такое пространства имен. Их применения. Какие они решают проблемы
  • Что такое неименованные пространства имен, что общего между static и неименованными пространствами имен
20. Базовые понятия о компиляции и системах сборки
  • Что такое препроцессинг
  • Что такое компиляция
  • Что такое линковщик
  • Виды компиляторов и их особенности
  • Что такое раздельная компиляция
  • Что такое заголовочный файл
  • Что такое стражи
  • Что такое библиотеки
  • Система сборки Make
  • CMake как генератор системы сборки
21. Move семантика
  • Что такое move семантика и какую ключевую роль она играет в современном С++?
  • Что такое rvalue ссылка?
  • Что такое value category и какие категории существуют в языке С++ (lvalue, prvalue т. д.)?
  • Конструктор перемещения
  • Оператор перемещения
  • Сравнение производительности между классом, реализующим только копирующее поведение, и классом, реализующим перемещающее поведение
  • std::move
  • Советы о том, когда стоит корректно применять перемещающие операции (когда move семантика не помогает?)
22. Конструкторы и деструкторы
  • Правило вызовов конструкторов, операторов присвоения базового класса
  • Правило 3-х до С++11
  • Правило 0 или правило 5-ти после С++11
  • Правила генерации конструкторов и операторов при разных полях
  • Когда стоит писать класс, который поддерживает только копирующее поведение, а когда только перемещающее?
  • Ключевое слово default для конструкторов и операторов, важность его написания в отличие от явного определения тела конструктора
  • Ключевое слово delete при объявлении конструкторов, операторов и деструкторов
  • Проблемы влияния пользовательского конструктора на неявное преобразование типов. Ключевое слово explicit
  • Ключевое слово using при наследовании
  • Разница между объявлением конструкторов и операторов присваивания (как приватные методы) и объявлением их с помощью ключевого слова delete
  • Что такое delegating constructors?
  • Reference-qualified методы класса
  • Ошибочное применение move семантики при наследовании
  • Copy elision, RVO NRVO
23. Оптимизация
  • Этапы компиляции
  • Оптимизация компилятора (inline, const)
  • Шаблоны как часть оптимизации на этапе компиляции
  • constexpr и его важность в каждом стандарте С++
24. Вывод типа в C++ (Type Deduction)
  • Вывод типа с помощью ключевого слова auto: таков ли тип на самом деле?
  • Ключевое слово decltype
25. Шаблоны
  • Ключевое слово typename в шаблонах и его важность
  • Type traits свойства типа, выделение наиболее важных и рассмотрение их на примерах
  • SFIANE. Применение std::enable_if и зачем его можно использовать в коде?
  • std::enable_if как способ реализации частичной специализации для шаблонов функций
  • if constexprt как возможность элегантной замены сложных конструкций std::enable_if
  • Variadic template vs Fold expression
  • Универсальные ссылки
  • Perfect forwarding, важность функции std::forward
  • Шаблонные методы и их отличие от шаблонного класса
26. Динамический полиморфизм
  • Особенности работы с динамическим полиморфизмом (virtual functions)
  • Аргумент по умолчанию, какие он скрывает проблемы в контексте?
  • static_cast vs dynamic_cast
  • RTTI, структура type_info
  • Пример динамического полиморфизма на одном из паттернов проектирования
  • Virtual destructor для избегания memory leaks
27. Лямбды
  • Указатель на функцию
  • Функтор
  • Лямбда, список захвата
  • Применение auto в аргументах лямбды
  • Ключевое слово mutable и зачем его необходимо объявить в сигнатуре лямбды?
28. Умные указатели
  • new vs malloc
  • RAII
  • std::unique_ptr vs std::shared_ptr. Move vs Copy
  • Вспомогательные функции (make_unique и т. д.).
  • Пользовательские deleter объекты как аргументы std::unique_ptr и std::shared_ptr. decltype как вывод сигнатуры функции
  • Советы по корректному написанию custom deleter для unique_ptr
  • Control block в std::shared_ptr. Зачем он нужен, какие он решает задачи, и каковы возможные подводные камни при выделении ресурса с помощью std::make_shared?
  • std::weak_ptr, его применение и влияние на блок управления в std::shared_ptr
  • Выделение динамического массива с помощью std::unique_ptr и std::shared_ptr. Специализация
  • Производительность std::unique_ptr и std::shared_ptr
  • std::static_pointer_cast, std::dynamic_pointer_cast. В чем их отличие от static_cast и dynamic_cast?
29. Исключительные ситуации
  • Исключительные ситуации. Их важное применение
  • Исключительные ситуации vs код возврата ошибки. Когда полезно применять код возврата ошибки?
  • Блоки try catch
  • throw как генерация исключения
  • Класс std::exception. Виртуальный метод what
  • Порядок написания блоков catch
  • Что такое раскрутка стека при генерации исключения? Что будет, если при генерации исключения не будет найден подходящий блок catch?
  • Что такое инвариантность при генерации исключения в конструкторе? Пример при написании operator =
  • Smart pointers как способ избежать утечки ресурсов при генерации исключения
  • Исключение не должно покидать деструктор
  • Ключевое слово noexcept
  • Оптимизация при написании функций как noexcept. Важность написания перемещающего конструктора как noexcept (на примере std::vector). Почему std::vector выбирает при реалокации копирующее поведение как дефолтное вместо перемещающей семантики (правило инвариантности)?
  • Компиляция кода с флагом -fno-exceptions, возможные опасности
  • new(std::nothrow) как способ использования оператора new, который не кидает исключения
30. Пространства имен
  • Что такое пространства имен и какие проблемы они решают в большом коде?
  • Inline namespace (provide library version)
  • Вложенные пространства имен
  • Using-directive, Using-declaration
  • ADL (argument dependent lookup), правила поиска имен
31. Потоки в C++
  • Основы мультипоточности
  • concurrency vs parallelism
  • std::thread. Что такое join и detach, и зачем их стоит вызывать?
  • Передача параметров в потоки и возможные подводные камни
  • Возвращаемое значение с потока при работе с std::thread. std::future and std::promise
  • Исключительные ситуации в потоках
  • std::async vs std::thread. Особенность std::future в std::async
  • Понятия data race, race conditions. Возможные проблемы при работе в многопоточном коде
  • Что такое объекты синхронизации в многопоточном коде? Важность их применения
  • strong memory model vs weak memory model
  • std::mutex. Почему std::mutex – это иногда плохо?
  • Важность RAII подхода при работе с std::mutex
  • std::recursive_mutex. Read-write mutex (std::shared_mutex)
  • Thread-safe variable Initialisation. std::call_once. Способы написания потокобезопасного singleton. Подводные камни с применением static initialization
  • std::condition_variable. Что такое spears wakeup и lost wakeup?
  • strong memory model vs weak memory model
  • Std::atomic
  • Ошибочное понимание std::shared_ptr в многопоточном программировании
  • Volatile – это не механизм синхронизации потока
32. Библиотека STL
  • Что такое библиотека STL? Что она позволяет решать в повседневном программировании?
  • Контейнеры в STL. Их структура, особенности, и какие они решают задачи
  • Итераторы. Что это? Зачем они нужны? Их свойства. Пример написания своего итератора
  • Что такое компараторы? std::bind
  • Алгоритмы. Важность итераторов при работе с алгоритмами. Рассмотрение категорий алгоритмов
  • Псевдоконтейнеры
  • STL – это не только контейнеры-итераторы-алгоритмы
33. Опциональные темы
  • Т. е. выбор темы: или сетевое программирование с обзором библиотеки boost, или QT
34. Сетевое программирование и библиотека Boost.asio
  • Network model OSI layers
  • Понятие IPC (inter process communication)
  • Что такое клиент-сервер?
  • Что такое протоколы обмена данными?
  • Что такое socket, endpoint?
  • TCP протокол, реализация TCP клиента и сервера
  • UDP протокол, реализация UDP клиента и сервера
  • Написание pool thread в примере при работе с TCP сервером
  • Форматы обмена данными (json и т. д.)
  • GRPC. protobuf. Понятие сериализации и десериализации данными
35. Обзор библиотеки Boost в Qt
  • Meta object compiler
  • Сигналы и слоты
  • QObject
  • Базовая работа с виджетами
  • Event loop
  • Структура QML-компонентов
  • Базовые графические компоненты
  • Взаимодействие C++ & QML
  • Кастомизация компонентов
  • Компоненты ListView, GridView
  • Сигналы/слоты в QML
  • Регистрация своих классов в метасистеме
  • Понятие модели, их виды
  • Понятие делегата
  • Понятие роли
  • Реализация своей модели, её регистрация, базовые методы
  • QAbstractListModel
  • Многопоточность в Qt
36. Как составить резюме и пройти собеседование
  • Структура резюме
  • Часто задаваемые вопросы
  • Как вести себя на собеседовании
  • Основные ошибки на собеседовании
  • Урок английского языка №1
  • Урок английского языка №2
  • Урок поиска работы
Показать всю программу Скрыть программу
Преподаватели

Сделайте первые шаги в обучении под руководством практикующих специалистов!

Николай Солянко Николай Солянко

Senior Software Development Engineer

Роман Ткачик Роман Ткачик

Software Engineer

Что говорят наши выпускники

Максим Левин

Рекомендую академию! Высокий уровень подготовки выпускников, которые могут занять лидирующие позиции на рынке труда Украины. Нескольких ребят удалось трудоустроить в продуктовую компанию

Юрий Мелкумян

Проходил обучение в Академии. Начал с основ программирования, потом долго искал себя: тестирование, с++, java. В результате все же «поймал волну». Хочу выразить слова благодарности преподавателю Денису Ковбию из Java. Занятия были насыщенными, содержательными, полезными. А также благодарность всему коллективу Академии, который смог так качественно организовать обучение в условиях карантина.

Евгений Дидковский

Окончил несколько курсов ИТЕА за последние 2 года. Некоторые курсы были более поверхностны, несколько окончил последовательных из более конкретных профилей. Материалы оптимально структурированы и преподаватели помогают практически с любыми вопросами. Если вопрос более комплексный, подскажут, где копать дальше:) Также была очень полезна поддержка по завершению курсов. Направлений я закончил несколько и по каждому регулярно получал возможные вакансии. Некоторые ориентированы на более начальный уровень, были также те, которые можно рассмотреть уже с опытом для следующего шага в карьере. Спасибо команде ИТЕА за обучение и сопровождение ;)

Станислав Бенеш

Закончил курс базового С++, очень рад, при прохождении обучения администратор был отзывчивый и всю информацию рассказывал в деталях. В целом, весь курс был интересным и познавательным!
С портфолио наших студентов вы можете ознакомиться здесь
Трудоустройство

Задача нашей команды — стать твоим проводником в мир IT, подготовить тебя к IT-карьере максимально эффективно и, как результат, изменить твою жизнь к лучшему. Мы выпустили уже более 16000 IT-специалистов.

Более детально о трудоустройстве с ITEA вы можете прочитать здесь.
В рамках обучения на курсе C++ Pro мы предоставляем нашим студентам:

Возможность трудоустройства в компаниях-партнерах ITEA по их запросу
Занятие по поиску первой работы в IT, оценке зарплатных ожиданий, этапах коммуникации с работодателем и умениях презентовать себя
Учетную запись, доступ и сопровождение от биржи по трудоустройству начинающих IT-специалистов Jungo.dev
Мини-курс по soft skills, важным для работы в IT, поиску и получения заказов на самой большой фриланс-бирже в мире Upwork, а также по тому, как правильно подготовиться к поиску работы в компании
Доступ к рекомендательной системе повышения квалификации, которая поможет адаптировать ваши навыки под современный IT-рынок
Благодаря этому вы получаете все необходимые знания и умения для поиска первой работы в IT, как в штате, так и на фрилансе
Опыт типичного собеседования с реальными тестовыми заданиями в конце курса
Узнать больше про ITEA
Онлайн
Успей забронировать свое место в группе
Ваш номер телефона
Подписанием и отправкой этой заявки я подтверждаю, что я ознакомлен с Политикой конфиденциальности и принимаю её условия, включая регламентирующие обработку моих персональных данных, и согласен с ней. Я даю своё согласие на обработку персональных данных в соответствии с данной Политикой конфиденциальности
Стоимость:
20650 грн
16500 грн
Что включает онлайн формат?

Обучение в формате просмотра стрима или записи занятий

Личный кабинет с доступом к материалам курса

Помощь преподавателя или ментора курса

Актуальную программу обучения

Рекомендуемые курсы
Показано курсов: 3 из 3
Показано курсов: 1 из 3

У зв'язку з карантином всі наші курси читаються у online-форматі.