Профессиональный курс программирования на C++

Длительность 3 мес., 30 зан. х 2 часа
Стоимость, грн 3700 грн в месяц
Даты начала 09.08.2017, 18.45-21.15

Профессиональный курс С++ дает знания языка на продвинутом уровне, учит эффективно применять возможности языка С++ на практике.

Что мы предлагаем? Профессиональный курс С++ — это подготовка программиста junior-уровня. То есть, Вы будете глубоко изучать не только все нюансы C++, но и устройство операционных систем, потоки и их синхронизацию, паттерны проектирования (ООП), создание библиотек и работу с ними, элементы управления. Рассмотрите принципы написания кроссплатформенных и сетевых приложений, создание баз данных и запросы SQL.

Кто ведет занятия? Учебная программа и задания профкурса С++ разработаны ведущим специалистом школы программирования «Перспективы» Андреем Падалкой.

Какой результат? Выпускник профессионального курса С++ обладает необходимыми знаниями для прохождения собеседования и устройства на работу на позицию Junior С++ developer, готов к самостоятельному изучению библиотек любой сложности (таких как OpenCV, DirectX, BOOST и т.д) или, при необходимости, может легко переключиться на любой другой язык программирования.

Только по специальности «программист С++»  более 100 выпускников учебного центра  работают в украинских и зарубежных IT-компаниях.

 

ЗАПИСАТЬСЯ СЕЙЧАС >>!


Основные темы профессионального курса C++:

  • Работа с памятью. Функции с неопределенным кол-вом параметров. Формат файла. Интерпретация памяти
  • Статические локальные переменные в функции. Указатели на функции
  • Шаблонные функции
  • Основные концепции Объектно-ориентированного программирования: инкапсуляция, полиморфизм, наследование
  • Классы. Конструкторы, деструкторы, правила инициализации. Перегруженные конструкторы. Конструктор копирования и перегрузка оператора присваивания. Указатель this. Указатели на члены класса и их применение
  • Перегрузка операторов. Правила. Понимание ситуаций, когда необходима перегрузка. Диагностика операторов, выполняемых при перегрузке. Перегрузка операторов +, =, [], ++, (), приведения типа, ->,  new, deletе, placement new
  • Дружественные функции, дружественные классы, предварительное объявление класса. Перегрузка операторов "друзей"
  • Статические члены класса (статические переменные-члены, методы-члены), паттерн Singleton
  • Использование модификаторов const, mutable. Снятие константности (модификатор mutable и const_cast).
  • Динамические структуры данных. Односвязный список. Двусвязный список. Очередь. Кольцевая очередь. Очередь с приоритетами. Бинарное дерево.
  • Шаблоны. Шаблоны функций. Шаблоны классов (специализация шаблонов, шаблонные параметры, нетиповые параметры шаблонов). Метапрограммирование шаблонов.
  • Наследование. Правила инициализации при наследовании. Одиночное наследование, множественное наследование, виртуальное наследование.
  • С++ 11. Лямбды, auto, rvalue, конструкторы перемещения, noexcept, std::thread (отличия от boost::thread), std::lock_guad, std::move(), decltype, универсальный список инициализации, nullptr.
  • Виртуальные функции. Раннее и позднее связывание. Замена vtbl. Необходимость виртуального деструктора. Абстрактные классы
  • Обработка исключительных ситуаций. try, catch, throw. Использование throw для упрощения логики и скорости. Написание классов-оболочек (умных указателей)
  • Работа с файлами в языке C++
  • Пространства имен
  • Работа со стандартной библиотекой "C++". Контейнеры. Итераторы (как взаимосвязаны свойства итераторов и контейнеров). Алгоритмы (правила использования, плюсы и минусы) big O notation. Модифицирующие алгоритмы. Создание своего контейнера
  • Классы библиотеки boost
  • Паттерны проектирования. Агрегирование и осведомленность. UML, диаграммы классов, взаимодействия объектов. Порождающие паттерны. Структурные паттерны. Паттерны поведения
  • Написание проектов с применением паттернов
  • Взаимодействие между окнами, приложением и Windows (OS). Понимание описателей, сообщений, параметров, создание приложения и его работа, вечный цикл, прорисовка в окне, WM_PAINT, CDC и прочие GDI объекты
  • Рассмотрение всех стандартных элементов управления
  • Замена оконной процедуры - subclassing, Get-SetWindowLong, создание окон (элементов управления) произвольной формы - регионы, ownerdraw
  • MFC, классы SDI, MDI приложений, PreCreateWindow, PreTranslateMessage
  • Потоки, процессы, синхронизация, мьютексы, семафоры, события, ожидаемые таймеры, потоки, процессы (как объекты ядра), Wait - функции, GetLastError()
  • Снимок процессов, виртуальная память, DLL - создание, экспорт, дебаг, понимание СОМ технологии, обмен данными между процессами. Именованные каналы, проецируемые в память файлы и т.д.
  • Работа с реестром, хуки
  • Сетевые приложения. Блокирующие и неблокирующие режимы, протоколы
  • Работа с базами данных, создание баз, таблиц. Запросы, агрегирующие функции, хранимые процедуры, триггера
  • Дипломная работа. Написание масштабируемого приложения (с возможностью подключения plug-in -ов), применяя паттерны проектирования.

Хотите записаться на курсы программирования?
 Есть вопросы? Звоните в «Перспективу» и записывайтесь прямо сейчас! 

 


 

Слушатели, успешно прошедшие курс обучения, получают диплом.

Посмотреть образец диплома.