ИВТ. Практикум по объектно-ориентированному программированию. Продвинутый поток весна 2026

Материал из Public ATP Wiki
Перейти к: навигация, поиск

О курсе

Дисциплина направлена на освоение концепций объектно-ориентированного программирования на примере языка C++. В ходе изучения будут рассмотрены основные такие понятие объектно-ориентированного программирования, как инкапсуляция данных, наследование классов, и использование шаблонов. Кроме того, будут разобраны практические примеры проектирования программ и изучено устройство стандартной библиотеки C++.

Пререквизиты

Студенту рекомендуется:

  • знать основные конструкции языков программирования: переменные, типы данных, операторы, функции, циклы и условные конструкции;
  • понимать принципы построения алгоритмов и структур данных;
  • иметь опыт разработки программ на языке Си, C++ или другом языке высокого уровня;
  • владеть базовыми навыками работы с памятью и модульной организацией программ;
  • понимать основы компиляции, сборки и отладки программ;
  • иметь навыки работы со средами разработки и стандартными инструментами программирования.

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

Неделя Семинары Лабораторные Домашние задания
1-7 Раздел 1. Основы объектно-ориентированного программирования.
Парадигмы программирования: процедурное, модульное, объектно-ориентированное. Абстракции данных.
Классы и члены классов. Приватные, защищенные и открытые поля класса. Инкапсуляция данных.
Конструкторы и деструктор класса. Перегрузка операторов. Реализация конструкторов копирования и присваивания.
Темы уточняются Темы уточняются
8-15 Раздел 2. Проектирование и разработка классов на языке C++.
Константные аргументы, поля и методы класса. Ссылочные типы данных, их отличия от указателей.
Статические поля и методы класса. Синглетоны и фабричные методы создания объектов класса. Наследование классов.
Множественное наследование. Виртуальные методы. Чистые виртуальные методы и абстрактные классы. Интерфейсы.
Темы уточняются Темы уточняются

Коммуникация

Информация уточняется

Чат курса (Telegram)

Прогресс студентов

Таблица с оценками, доступная студентам

Критерии оценивания и формы контроля успеваемости

Успешное освоение курса требует напряжённой самостоятельной работы студента.

Самостоятельная работа включает в себя:

  • проработку учебного материала (по конспектам лекций, учебной и научной литературе),
  • подготовку ответов на вопросы, предназначенных для самостоятельного изучения.

Команда курса

Лектор курса: Дединский Илья Рудольфович

Материалы курса

Примерный перечень заданий для текущего контроля успеваемости:

Задание 1. Реализация класса с конструкторами.

Реализуйте класс Stack, реализующий структуру стека для целочисленных элементов. В классе необходимо реализовать основные методы добавления и извлечения элементов, конструктор и деструктор.

Задание 2. Перегрузка операторов, константные методы и передача аргументов по ссылке.

Реализуйте класс String, который является представлением строки символов. Для класса реализуйте все возможные конструкторы, деструктор, операции сравнения строк, и доступ к отдельным символам строки.


Основная литература

  1. Объектно-ориентированное описание и моделирование систем на языке UML [Текст] : Лабораторный практикум : учеб. пособие для вузов / Е. Б. Степанова, А. В. Тимофеев ;

М-во образования и науки Рос. Федерации, Фед. агентство по образованию, Моск. физ.-техн. ин-т (гос. ун-т), Фак. инноваций и высоких технологий .— М. : Изд-во МФТИ, 2007 .— 99 с.