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

Другие курсы

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

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

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

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


График обучения: 40 ак.часов (10 занятий)

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

    06.12.2017, 1800

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

    06.12.2017, 1800

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

    06.12.2017, 1800

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

Аннотация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Расписание

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

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

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

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

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

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

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

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

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

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

Аудитория №323 Полубенцева Марина Игоревна
18.12.2017
Понедельник
1800-2120

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

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

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

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

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

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

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

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

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

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

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

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

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

Аудитория №232 Костина Наталия Николаевна
11.12.2017
Понедельник
1800-2120

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

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

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

Аудитория №237 Костина Наталия Николаевна
15.12.2017
Пятница
1800-2120

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

Аудитория №323 Полубенцева Марина Игоревна
18.12.2017
Понедельник
1800-2120

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

Аудитория №237 Костина Наталия Николаевна
20.12.2017
Среда
1800-2120

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

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

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

Аудитория №237 Костина Наталия Николаевна
25.12.2017
Понедельник
1800-2120

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

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

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

Аудитория №237 Костина Наталия Николаевна
06.12.2017 26.12.2017 06.12.2017
Среда
1800-2120
Аудитория №323 Полубенцева Марина Игоревна Записаться на курс
08.12.2017
Пятница
1800-2120
Аудитория №248 Глазунов Вадим Валерьевич
11.12.2017
Понедельник
1800-2120
Аудитория №323 Полубенцева Марина Игоревна
12.12.2017
Вторник
1800-2120
Аудитория №248 Глазунов Вадим Валерьевич
15.12.2017
Пятница
1800-2120
Аудитория №323 Полубенцева Марина Игоревна
19.12.2017
Вторник
1800-2120
Аудитория №248 Глазунов Вадим Валерьевич
20.12.2017
Среда
1800-2120
Аудитория №323 Полубенцева Марина Игоревна
22.12.2017
Пятница
1800-2120
Аудитория №248 Глазунов Вадим Валерьевич
25.12.2017
Понедельник
1800-2120
Аудитория №323 Полубенцева Марина Игоревна
26.12.2017
Вторник
1800-2120
Аудитория №248 Глазунов Вадим Валерьевич

Стоимость

Дата Физ. лица, руб. Юр. лица, руб.
Без скидки Cкидка 10%* Cкидка 15%** Без скидки Cкидка 10% Cкидка 15%
Цена c 18.01.2016 15900 14300 13500 19900 17900 16900

*Скидка 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.
Итераторы.

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

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

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