Курсы C/C++
Общая информация Расписание и стоимость
Условия обучения
Проведение занятий Преподаватели Учебные материалы Документы об окончании Отзывы слушателей
Информация о сертификации
Сертификации C++ CPA CPP CLA CLP

Другие курсы

Курсы C++ Курсы Java Курсы C# (.NET) Курсы Microsoft C# (.NET) Программирование Android Курсы Web-технологий Программирование Linux Тестирование ПО Программирование микроконтроллеров

Обратная связь

+7 (812) 703-02-02 Форум
Печать

DEV-C21. Объектно-ориентированное программирование. Углубленное изучение. Язык С++


График обучения: 40 ак.часов, 10 дней по 4 ак.часа (дневная форма обучения) или 10 дней по 4 ак.часа (вечерняя форма обучения)

Начало занятий:

    16.05.2018, 1800

Записаться на курс

Аннотация

Данный курс является третьим в линейке курсов по разработке программного обеспечения, предлагаемых нашим учебным центром и представляет собой продолжение курса «DEV-C20. Объектно-ориентированное программирование. Базовые понятия. Язык С++».

Последний в линейке, посвященной С++, курс посвящен понятиям следующего уровня абстракции (шаблонам), а также относительно новым для языка С++ средствам обеспечения надежности и безопасности кода.

В настоящее время наиболее перспективным становится следующий (более высокий по сравнению с классами) уровень абстрактного программирования – создание своих и использование стандартных шаблонов и обобщенных алгоритмов стандартной библиотеки. Так как определяющим фактором конкурентоспособности становится время разработки программного продукта (time to market), современный программист должен уметь не только разрабатывать собственные эффективные процедуры и классы, но и эффективно применять те средства, которые уже разработаны и отлажены профессионалами. Соответствующий раздел курса посвящен знакомству со стандартной библиотекой шаблонов (STL).

Данная программа интегрирована с инициативой C++ Institute , и готовит к сдаче сертификационного экзамена CPP.

Иногда возникает необходимость определения точного типа объекта во время выполнения программы. Этот механизм известен под названием RTTI (Run Time Type Identification) и в С++ появился относительно недавно. В данном разделе курса изучаются средства языка, поддерживающие RTTI.

Каждый программный продукт должен быть «защищен» разработчиком от возможных «аварийных» ситуаций. При этом далеко не лучшей идеей является завершение приложения при возникновении любой аварийной ситуации. С++ поддерживает механизм защиты от возможных ошибок – обработка исключительных ситуаций, а в предлагаемом курсе рассматриваются различные аспекты этого механизма.

Длительность курса - 10 занятий: 5 лекций и 5 практик.

Занятия проводятся 3 раза в неделю с 14:00 до 17:20 или 18:00 до 21:20.

Вступительное тестирование – бесплатно.

Документы об окончании обучения

  • Сертификат учебного центра
    Сертификат учебного центра
  • Удостоверение повышении квалификации (выдается лицам имеющим высшее или среднее профессиональное образование)
    Удостоверение повышении квалификации (выдается лицам имеющим высшее или среднее профессиональное образование)
  • Сертификат С++ Institute: CPP
    Сертификат С++ Institute: CPP

Преподаватели

Знания и умения, полученные в результате обучения

  • программирование в объектах (ООП),
  • использование механизма исключений для создания устойчивых приложений,
  • создание своих и использование предоставляемых стандартной библиотекой шаблонов сложных структур данных,
  • умение использовать обобщенные алгоритмы стандартной библиотеки.

Курсы, в освоении которых помогут приобретенные знания:

Расписание

Начало курса Окончание курса Даты занятий Время занятий Номер аудитории Преподаватель
16.05.2018 08.06.2018 16.05.2018
Среда
1800-2120

В рамках комплексной программы DEV-С-CP+. Расширенная комплексная программа «Разработчик прикладного программного обеспечения (Языки С и C++)», при наличии свободных мест

Аудитория №232 Полубенцева Марина Игоревна Записаться на курс
17.05.2018
Четверг
1800-2120

В рамках комплексной программы DEV-С-CP+. Расширенная комплексная программа «Разработчик прикладного программного обеспечения (Языки С и C++)», при наличии свободных мест

Аудитория №232 Полубенцева Марина Игоревна
18.05.2018
Пятница
1800-2120

В рамках комплексной программы DEV-С-CP+. Расширенная комплексная программа «Разработчик прикладного программного обеспечения (Языки С и C++)», при наличии свободных мест

Аудитория №232 Полубенцева Марина Игоревна
23.05.2018
Среда
1800-2120

В рамках комплексной программы DEV-С-CP+. Расширенная комплексная программа «Разработчик прикладного программного обеспечения (Языки С и C++)», при наличии свободных мест

Аудитория №232 Полубенцева Марина Игоревна
24.05.2018
Четверг
1800-2120

В рамках комплексной программы DEV-С-CP+. Расширенная комплексная программа «Разработчик прикладного программного обеспечения (Языки С и C++)», при наличии свободных мест

Аудитория №232 Полубенцева Марина Игоревна
25.05.2018
Пятница
1800-2120

В рамках комплексной программы DEV-С-CP+. Расширенная комплексная программа «Разработчик прикладного программного обеспечения (Языки С и C++)», при наличии свободных мест

Аудитория №232 Полубенцева Марина Игоревна
30.05.2018
Среда
1800-2120

В рамках комплексной программы DEV-С-CP+. Расширенная комплексная программа «Разработчик прикладного программного обеспечения (Языки С и C++)», при наличии свободных мест

Аудитория №232 Полубенцева Марина Игоревна
31.05.2018
Четверг
1800-2120

В рамках комплексной программы DEV-С-CP+. Расширенная комплексная программа «Разработчик прикладного программного обеспечения (Языки С и C++)», при наличии свободных мест

Аудитория №232 Полубенцева Марина Игоревна
01.06.2018
Пятница
1800-2120

В рамках комплексной программы DEV-С-CP+. Расширенная комплексная программа «Разработчик прикладного программного обеспечения (Языки С и C++)», при наличии свободных мест

Аудитория №232 Полубенцева Марина Игоревна
06.06.2018
Среда
1800-2120

В рамках комплексной программы DEV-С-CP+. Расширенная комплексная программа «Разработчик прикладного программного обеспечения (Языки С и C++)», при наличии свободных мест

Аудитория №232 Полубенцева Марина Игоревна

Стоимость

Дата Физ. лица, руб. Юр. лица, руб.
Без скидки Cкидка 10%* Cкидка 15%** Без скидки Cкидка 10% Cкидка 15%
Цена c 17.10.2017 17900 16100 15200 21850 19650 18550

*Скидка 10%:
- для ранее обучавшихся;
- при одновременном оформлении и оплате 2-х краткосрочных курсов на одного слушателя.
**Скидка 15% при одновременном оформлении и оплате 3-х краткосрочных курсов на одного слушателя.
Студентам ВУЗов Санкт-Петербурга любой формы обучения скидка до 25%.
Примечание.
Скидки не предоставляется на курсы с дистанционной формой обучения.
Скидки не предоставляется на комплексные и модульные программы обучения.
Внимательно ознакомьтесь со всеми условиями акций в разделе «Акции и скидки».

Требования к начальному уровню знаний

Для успешного прохождения данного курса рекомендуется прослушать курс «DEV-C20. Объектно-ориентированное программирование. Базовые понятия. Язык С++.»
Либо обладать аналогичными знаниями.

Кроме того, слушатель должен обладать следующими знаниями:

  • Концепции ООП.
  • Создание эффективных иерархий классов.
  • Использование механизма виртуальных функций.
  • Основные способы организации данных.

Слушатели, закончившие курс «DEV-C20. Объектно-ориентированное программирование. Базовые понятия. Язык С++» принимаются без предварительного тестирования. Для остальных слушателей предусмотрено бесплатное собеседование с преподавателем для проверки знаний в области основ объектно-ориентированного программированияи навыков разработки программ с использованием языка С++.

Курсы, обеспечивающие достаточный начальный уровень знаний:

Предварительное тестирование

Тест №ВКТ-108 Алгоритмизация и основы программирования

  1. Необходимо знать следующие понятия:
       
    • алгоритм;
    •  
    • программа;
    •  
    • исполнитель;
    •  
    • линейный алгоритм;
    •  
    • ветвящийся алгоритм;
    •  
    • циклический алгоритм;
    •  
    • основной алгоритм;
    •  
    • вспомогательный алгоритм (подпрограмма);
    •  
    • процедура;
    •  
    • функция;
    •  
    • вызов;
    •  
    • переменная;
    •  
    • имя переменной;
    •  
    • тип переменной;
    •  
    • значение переменной;
    •  
    • формальные параметры;
    •  
    • фактические параметры;
    •  
    • область видимости
    •  
    • время жизни переменных;
    •  
    • массивы;
    •  
    • арифметические выражения;
    •  
    • логические выражения.
  2. Необходимо знать и уметь использовать следующие операторы:
       
    • оператор присваивания;
    •  
    • оператор условия;
    •  
    • оператор цикла;
    •  
    • оператор блока.
  3. Необходимо уметь создавать на любом алгоритмическом языке:
       
    • простейшие программы, использующие 2-3 подпрограммы;
    •  
    • подпрограммы (процедуры и функции);
    •  
    • осуществлять вызовы подпрограмм.

Тест №ВПТ-216 Объектно-ориентированное программирование. Язык C++.

  1. Язык С++. Базовые понятия.
  2. Основы объектно-ориентированного программирования. Язык С++.
  3. Создание эффективных иерархий классов.
  4. Использование механизма виртуальных функций.
  5. Основные способы организации данных.

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

Лекционные занятия

Механизм RTTI (Run-Time Type Identification)

Оператор static_cast и указатели. Динамическая идентификация типа.
Подключение RTTI. Оператор typeid и класс type_info. Оператор dynamic_cast.

Исключения

Что такое исключительные ситуации. Способы отслеживания «аварийных» ситуаций. Обработка исключений: встроенные средства С++ для обработки исключений - операторы try,catch, throw. Непредусмотренные исключения. Стандартные типа исключения. Спецификация исключений при объявлении функций.

Обобщенное программирование

Шаблоны. Объявление шаблона. Инстанцирование шаблона.
Обобщенное программирование. Обобщенные алгоритмы.
Шаблоны функций. Способы обобщения функций, выполняющих одинаковые действия, но оперирующих данными разных типов. Создание функции по заданному шаблону и ее вызов.
Шаблоны классов. Ключевое слово typename.
Стандартная библиотека шаблонов.
Контейнеры, алгоритмы и итераторы. Виды контейнеров STL. Структура стандартного контейнера. Обзор членов стандартного шаблона. Что же такое итераторы? Распределители памяти - шаблон allocator.
Краткий обзор стандартных контейнеров. Вектор (vector). Список (list).
Очереди с двумя концами - deque.
Почти контейнеры: встроенные массивы, string, valarray, bitset.

Обобщенные алгоритмы стандартной библиотеки

Рассмотрение наиболее часто используемых обобщенных алгоритмов.
Алгоритмы, модифицирующие и немодифицирующие последовательности. Предикаты. Использование объектов – функций в качестве предикатов.
Базовые классы STL для объектов-функций. Когда следует использовать шаблоны.

Потоки ввода/вывода

Система ввода-вывода С++. Поток С++ с точки зрения системы. Поток С++ с точки зрения прикладной программы. Классы ввода/вывода. Стандартные объекты cin и cout. Буферизованный ввод/вывод. Состояние потока.
Форматированный ввод/вывод. Флаги ввода/вывода и методы для работы с ними. Манипуляторы ввода/вывода. Файловый ввод/вывод.
Неформатированный ввод/вывод.

Практические занятия

RTTI

Реализация двухсвязного разнородного объектно-ориентированного списка.
Оператор typeid и класс type_info. Оператор dynamic_cast.

Исключения. Разработка собственных шаблонов

Операторы try, catch, throw.
Шаблоны функций.
Шаблоны классов.

Шаблоны стандартной библиотеки. Итераторы

Шаблон vector.
Шаблон list.
Итераторы.

Обобщенные алгоритмы

Алгоритмы стандартной библиотеки.
Предикаты.

Экзамен по курсу

er