Разработчик(и) программы:
Деркаченко П. Г., ст. преп. кафедры Математики и информационных технологий |
(Ф.И.О., должность, звание, подпись)
Заведующий кафедрой:
Математики и информационных технологий
(наименование кафедры, рекомендовавшую учебную программу по дисциплине специальности переподготовки к утверждению)
Протокол заседания от 11.10.2016 протокол № 2_
Джежора А. А., д.т.н., доцент |
(Ф.И.О., должность, звание, подпись)
Рекомендована к утверждению:
На заседании Совета ФПК и ПК |
Протокол заседания от __ 25э.10.2016 _____________№__2____
Председатель Совета ФПК и ПК _____________ Семенчукова И.Ю.
(подпись) (Ф.И.О.)
ВВЕДЕНИЕ
Основной целью преподавания дисциплины «Объектно-ориентированное программирование» является обучение слушателей современным методам и средствам объектно-ориентированного программирования.
Основными задачами изучения дисциплины являются:
- познакомить слушателей с теоретическими основами и принципами объектно-ориентированного программирования;
- изучить особенности реализации объектно-ориентированного подхода в языке программирования С++;
- сформировать практические умения и навыки использования объектно-ориентированного программирования.
В результате освоения материала курса слушатели должны: знать:
- основные теоретические понятия объектно-ориентированного программирования;
- механизмы реализации объектно-ориентированного подхода в языке программирования С++;
- основные этапы проектирования объектно-ориентированных приложений;
- достоинства и недостатки объектной технологии программирования;
- тенденции и перспективы развития объектно-ориентированного подхода в программировании;
уметь:
- выбирать методы и средства для реализации программных проектов с использованием объектно-ориентированного программирования;
- анализировать предметную область решаемых задач с целью использования объектно-ориентированного подхода для их реализации;
- решать практические задачи с использованием объектно-ориентированного программирования.
СОДЕРЖАНИЕ ПРОГРАММЫ
№ п/п | Наименование разделов и темы дисциплины | Распределение учебных часов по видам занятий | Форма контроля знаний | |||||||||
Всего | Аудиторные занятия | Самостоятельная работа | ||||||||||
Лекции | Практические занятия | Семинарские занятия | Круглые столы, тематические дискуссии | Лабораторные занятия | Деловые игры | Тренинги | Конференции | Форма контроля знаний | ||||
Введение в ООП | опрос | |||||||||||
Объявление классов | опрос, тест, отчет | |||||||||||
Конструкторы и деструкторы | опрос, тест, отчет | |||||||||||
Наследование | опрос, тест, отчет | |||||||||||
Полиморфизм | опрос, тест, отчет | |||||||||||
Потоки ввода-вывода | опрос, тест, отчет | |||||||||||
Файловые и строковые потоки | опрос, тест, отчет | |||||||||||
Шаблоны классов | опрос, тест, отчет | |||||||||||
Стандартная библиотека шаблонов | опрос, тест, отчет | |||||||||||
Итого: | ||||||||||||
Итоговая форма контроля знаний слушателя | зачет |
СОДЕРЖАНИЕ ТЕМ ДИСЦИПЛИНЫ
№ п/п | Наименование темы | Содержание темы |
Введение в ООП | Понятие класса, объекта, поля, метода. Принципы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. | |
Объявление классов | Объявление классов. Модификаторы доступа. Доступ к элементам класса. Статические элементы класса. Дружественные классы и функции. Пространства имен. | |
Конструкторы и деструкторы | Назначение конструкторов и деструкторов. Конструкторы по умолчанию. Параметризованные конструкторы. Конструкторы копирования. Создание и уничтожение объектов. | |
Наследование | Наследование. Производные и базовые классы. Множественное наследование. Наследование и модификаторы доступа. Конструкторы и деструкторы производных классов. Последовательность выполнения конструкторов и деструкторов. | |
Полиморфизм | Перегрузка методов в производном классе. Доступ к объектам иерархии. Раннее и позднее связывание. Виртуальные методы. Чисто виртуальные методы. Абстрактные классы. Операторы преобразования типов данных. | |
Потоки ввода-вывода | Объектно-ориентированная модель ввода-вывода. Иерархия классов ввода-вывода. Методы объектов-потоков. Стандартные объекты консольного ввода-вывода. Форматированный ввод-вывод. Манипуляторы. Обработка ошибок потоков. Перегрузка операторов ввода-вывода. | |
Файловые и строковые потоки | Файловые потоки. Механизмы файлового ввода-вывода. Строковые потоки. Механизмы ввода-вывода в строку. Ввод-вывод бинарных объектов. | |
Шаблоны классов | Описание шаблонов класса. Параметры шаблонов. Инстанцирование шаблонов. Специализация шаблонов. | |
Стандартная библиотека шаблонов | Состав стандартной библиотеки шаблонов. Контейнеры. Итераторы. Строки. Алгоритмы. |
СОДЕРЖАНИЕ ЛАБОРАТОРНЫХ ЗАНЯТИЙ
№ п/п | Наименование темы | Содержание темы |
К темам: 2. Объявление классов 3. Конструкторы и дест- рукторы | Объявление классов. Модификаторы доступа. Доступ к элементам класса. Конструкторы и деструкторы. Создание экземпляров класса. | |
К темам: 4. Наследование 5. Полиморфизм | Конструкторы и деструкторы производного класса. Перегрузка методов в производном классе. Доступ к объектам иерархии. Виртуальные методы. Чисто виртуальные методы. Абстрактные классы. | |
К теме: 6. Потоки ввода-вывода | Стандартные потоки. Обработка ошибок потоков. Перегрузка операторов ввода-вывода. | |
К теме: 7. Файловые и строковые потоки | Файловые потоки. Строковые потоки. Ввод-вывод бинарных объектов. | |
К теме: 8. Шаблоны классов | Описание шаблонов класса. Параметры шаблонов. Инстанцирование шаблонов. Специализация шаблонов. | |
К теме: 9. Стандартная библиотека шаблонов | Строки. Контейнеры. |
МАТЕРИАЛЫДЛЯ ИТОГОВОЙ
АТТЕСТАЦИИ
Вопросы к зачету
1. Основные понятия объектно-ориентированного программирования.
2. Принципы объектно-ориентированного программирования.
3. Объявление классов. Модификаторы доступа. Доступ к элементам класса. Статические элементы класса.
4. Дружественные классы и функции.
5. Пространства имен.
6. Конструкторы и деструкторы. Создание и уничтожение объектов.
7. Параметризованные конструкторы. Конструкторы копирования.
8. Наследование. Наследование и модификаторы доступа.
9. Конструкторы и деструкторы производных классов.
10.Перегрузка методов в производном классе. Доступ к объектам иерархии.
11.Раннее и позднее связывание. Виртуальные методы. 12.Чисто виртуальные методы. Абстрактные классы. 13.Операторы преобразования типов данных.
14.Объектно-ориентированная модель ввода-вывода. Иерархия классов ввода-вывода.
15.Базовые методы ввода-вывода. Ввод-вывод бинарных объектов.
16.Форматированный ввод-вывод. Манипуляторы.
17.Обработка ошибок потоков.
18.Перегрузка операторов ввода-вывода.
19.Файловые потоки. Механизмы файлового ввода-вывода.
20.Строковые потоки. Механизмы ввода-вывода в строку.
21. Описание шаблонов класса. Параметры шаблонов.
22.Специализация шаблонов.
23.Состав стандартной библиотеки шаблонов.
24.Контейнеры. Итераторы.
25.Строки.
САМОСТОЯТЕЛЬНАЯ РАБОТА
№ п/п | Перечень вопросов, выносимых на самостоятельную работу | Рекомендуемая литература | Кол. часов |
1. | К теме «2. Объявление классов» Статические элементы класса | [1], [3], [5] | |
2. | К теме «2. Объявление классов» Дружественные функции и классы | [1], [3], [4] | |
3. | К теме «2. Объявление классов» Пространства имен | [1], [4], [5] | |
4. | К теме «5. Полиморфизм» Операторы преобразования типов данных | [1], [3], [4] | |
5. | К теме «6. Потоки ввода-вывода» форматированный ввод-вывод, манипуляторы. | [2], [4] | |
6. | К теме «9. Стандартная библиотека шаблонов» итераторы | [2], [5] | |
Итого: |
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
№ п/п | Название учебников и учебных пособий, год издания | Авторы | Количество экземпляров в библиотеке |
Основная литература | |||
С/С++. Объектно-ориентированное программирование: учебное пособие.- Санкт-Петербург: Питер, 2008.- 458 с.: ил.+ Прил. | Лаптев В.В. | ||
С. Программирование на языке высокого уровня: учебник для вузов, обучающихся по направлению подготовки дипломированных специалистов «Информатика и вычислительная техника» - Санкт-Петербург: Питер, 2009, 2007.- 432с.: ил.-(Учебник для вузов) | Павловская Т.А. | ||
С++. Объектно-ориентированное программирование: Практикум. - СПб.: Питер, 2006. - 256 с. | Павловская Т.А., Щупак Ю.А. | Эл. вариант | |
Дополнительная литература | |||
С++. Объектно-ориентированное программирование в С++. – СПб.: Питер, 2004. – 923 с. | Лафоре Р. | Эл. Вариант | |
Язык программирования С++. Лекции и упражнения. Учебник. – СПб.: Диа-СофтЮП, 2005.- 1104 с. | Прата С. | Эл. Вариант | |
Язык программирования С++. – СПб.: Бином, 2008.- 1104 с. | Страуструп Б. | Эл. Вариант | |
Delphi. Программирование на языке высокого уровня:учебник для студентов вузов.- Санкт-Петербург: Питер, 2010, 2007.-640с.: ил.+Прил.-(Учебние для вузов). | Фароонов В.В. |