Объектно-ориентированное программирование на C++

Концепция курса

 

В отличие от многих курсов по языку С++ данный курс делает акцент на самой технологии объектно-ориентированного подхода и средствах поддержки принципов ООП в С++. Изложение теории ООП ведется по схеме: Эволюция и принципы – Объект – Класс – Модуль – Система.

Изложение средств языка С++ также подчиняются данной схеме, а именно: отличия от С – Объекты (классы, типизация) - Средства управления жизненным циклом объектов – Реализация отношений между объектами средствами классов – Средства построения иерархий классов – Средства построения программных модулей – Обобщенное программирование – Библиотека

Курс имеет своей целью изучение:

  • Эволюции технологий программирования от алгоритмического к ООП
  • Основных принципов объектно-ориентированного построения программных систем (Абстракция, Инкапсуляция, Иерархия, Модульность, Типизация, Параллелизм, Сохраняемость)
  • Понятий классов, объектов, взаимоотношений между ними, а также многоуровневой модели OMG
  • Cредств объектно-ориентированного и обобщенного программирования языка С++
  • Cтандартной библиотеки классов STL
  • Основных принципов объектно-ориентированного дизайна

 

Организационная информация

 

Длительность — 30 часов лекций (10 лекций по 3 часа), 30 часов семинаров (10 семинаров по 3 часа)

Ориентировочный объем времени для самостоятельной подготовки дома — 60 часов.

В процессе практического обучения слушатели решают задачи под руководством семинариста.

 

Программа курса (темы лекций)

 

1 Основные принципы объектно-ориентированного программирования:
1.1 Эволюция методологий программирования
1.2 Составные части объектного подхода (Абстрагирование; Инкапсуляция; Модульность; Иерархия; Типизация; Параллелизм; Сохраняемость)
2 Объектно-ориентированная модель
2.1 Понятие объекта
2.2 Свойства, присущие объектам (Состояние; Поведение; Идентичность)
2.3 Отношения между объектами (Типы отношений; зависимость; ассоциация; агрегация)
2.4 Классы; Природа классов; Метамодель; UML – унифицированный язык моделирования. MOF. Инстанцирование
2.5 Отношения между классами (Типы отношений; Ассоциация; Агрегация; Использование; Наследование)
2.6 Отношения между классами и объектами
3 Средства объектного программирования языка C++
3.1 Базовые средства С++, Основные алгоритмические отличия от C
3.2 Представление объектов и классов
3.3 Реализация отношений между объектами и классами
4 Средства объектно-ориентированного программирования С++
4.1 Наследование как средство организации иерархий классов. Принцип замещения Лисковой.
4.2 Одиночное наследование (Понятие производного класса; Управление доступом в производных классах; Конструкторы и деструкторы; совмещение имен методов при наследовании, иерархии).
4.3 Абстрактные классы и виртуальные функции. Виртуальный полиморфизм.
4.4 Информация о типе на этапе выполнения. RTTI.
4.5 Множественное наследование в C++
4.6 Принципы дизайна иерархий классов. OCP, DIP, ISP
4.7 Пространства имен, модульность, принципы дизайна пакетов
4.8 Обработка исключений
5 Обобщенное программирование.
5.1 Шаблоны классов.
5.2 Определение шаблона.
5.3 Инстанцирование.
5.4 Параметры шаблонов и проверка типов.
5.5 Шаблоны функций.
5.6 Специализация.
5.7 Наследование и шаблоны
6 Стандартная библиотека С++
6.1 Библиотека стандартных шаблонов, Общие сведения (понятия контейнеров, итераторов и объектов-функций)
6.2 Контейнеры (виды контейнеров, последовательные и ассоциативные контейнеры, адаптеры)
6.3 Итераторы (итератор как обобщение указателя, классы итераторов)
6.4 Алгоритмы (примеры алгоритмов с использованием итераторов: алгоритмы сортировки, алгоритмы, не изменяющие содержание контейнера, алгоритмы, изменяющие содержание контейнера)
6.5 Библиотека ввода-вывода
6.6 Потоки вывода. Вывод типов определяемых пользователем.
6.7 Потоки ввода. Ввод типов определяемых пользователем.
6.8 Форматирование в потоках ввода-вывода.
7 Итоговое тестирование.
 
Стоимость курса 22000 руб.

Напишите, и мы обязательно Вам ответим!

(383) 363-42-46

it-school@ccfit.nsu.ru

630090, Новосибирская область, г. Новосибирск,
ул. Пирогова, 1, блок 1, к.1112/1


Top