МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

УТВЕРЖДАЮ

Декан ФВТ

_______________ Л. Р. Фионова

«_____» ___________________ 2015 г.

РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ

Б1.2.6.1 ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ

Направление 020303 «Математическое обеспечение и администрирование
информационных систем»

Профиль подготовки «Администрирование информационных систем»

Квалификация выпускника бакалавр

Форма обучения очная

Пенза, 2015

1. Цели освоения дисциплины

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

2. Место дисциплины в структуре ОПОП бакалавриата

2.1. Дисциплина входит в вариативную часть образовательной программы. Изучение данной дисциплины базируется на следующих курсах: «Информатика», «Программирование», «Технология разработки ПО».

2.2. Минимальные требования к «входным» знаниям, необходимым для успешного усвоении данной дисциплины ‑ удовлетворительное усвоение программ по следующим разделам указанных выше дисциплин:

-  «Информатика» в полном объеме;

-  «Программирование» ‑ практика программирование на языке высокого уровня;

-  «Технология разработки ПО» в полном объеме.

3. Компетенции обучающегося, формируемые в результате освоения дисциплины

Процесс изучения дисциплины направлен на формирование элементов следующих компетенций в соответствии с ФГОС ВПО по данному направлению:

НЕ нашли? Не то? Что вы ищете?

Коды

компетенции

Наименование компетенции

Структурные элементы компетенции

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

1

2

3

ПК-5

готовностью к использованию современных системных программных средств: операционных систем, операционных и сетевых оболочек, сервисных программ

знать основы объектно-ориентированного программирования, особенности создания классов и их использование, в разрабатываемых приложениях;

уметь разрабатывать программное обеспечение средствами объектно-ориентированного языка C++ и использовать его на практике;

владеть навыками программирования на языке C++.

ПК-6

способностью формировать суждения о проблемах современной информатики, ее категорий и связей с другими научными дисциплинами

знать основы проектирования объектно-ориентированного программного обеспечения;

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


4. Структура и содержание дисциплины

4.1. Структура дисциплины

Общая трудоемкость дисциплины составляет 10 зачётных единиц, 360 часов.

п/п

Наименование

разделов и тем

дисциплины

Семестр

Недели семестра

Виды учебной работы, включая самостоятельную работу студентов и трудоемкость

(в часах)

Формы текущего контроля успеваемости (по неделям семестра)

Аудиторная работа

Самостоятельная

работа

Всего

Лекция

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

Лабораторные занятия

Всего

Подготовка к аудиторным занятиям

Реферат, эссе и др.

Курсовая работа (проект)

Подготовка к экзамену

Собеседование

Коллоквиум

Проверка тестов

Проверка контрольн. работ

Проверка реферата

Проверка эссе и иных творческих работ

курсовая работа (проект)

1.

Раздел 1. Введение

1.1.

Тема 1.1. Основы программирования

4

10

8

2.

Раздел 2. Объектно-ориентированное программирование

2.1.

Тема 2.1. Объекты и классы

2

10

8

2.2.

Тема 2.2. Массивы объектов, указатели и ссылки на объекты

4

10

2.3.

Тема 2.3. Перегрузка операций

4

10

2.4.

Тема 2.4. Наследование

4

10

2.5.

Тема 2.5. Конструкторы и деструкторы

4

2.6.

Тема 2.6. Виртуальные функции и полиморфизм

4

20

2.7.

Тема 2.7. Потоки и файлы

4

3.

Раздел 3. Разработка объектно-ориентированного ПО

3.1.

Тема 3.1. Многофайловые программы

4

3.2.

Тема 3.2. Шаблоны и исключения

6

20

3.3.

Тема 3.3. Стандартная библиотека (STL)

6

3.4.

Тема 3.4. Разработка объектно-ориентированного ПО

8

200

Подготовка к экзамену

Общая трудоемкость, в часах

54

90

216

Промежуточная аттестация

Форма

Семестр

Экзамен

5,6


4.2. Содержание дисциплины

4.2.1. Содержание лекционного курса

Раздел 1. Введение

Тема 1.1. Основы программирования

Новые концепции программирования. Основные свойства ООП.

Раздел 2. Объектно-ориентированное программирование

Тема 2.1. Объекты и классы

Основные понятия. Описание классов, данные и компонентные функции. Создание объектов и доступ к данным объекта. Определение методов класса вне класса. Статические данные класса, формат описания и область применения.

Тема 2.2. Массивы объектов, указатели и ссылки на объекты

Массивы объектов. Назначение и определение, Создание динамических массивов, Указатели на объекты область применения указателей, Указатели на функции, Указатели на указатели, Ссылки на объект и область применения ссылок, отличие их от указателей, Динамическое выделение и освобождение памяти под массив объектов с помощью операторов new и delete, а также с помощью стандартных функций С++.

Тема 2.3. Перегрузка операций

Область применения перегрузки операций в С++, Перегрузка унарных операций, Перегрузка бинарных операций, Множественная перегрузка, Операции арифметического присваивания, Операции индексации массива, Преобразование типов, Преобразование объектов в основные типы и наоборот, Преобразование объектов классов в объекты других классов, Особенности перегрузки операций и их сложности.

Тема 2.4. Наследование

Определение наследования, Базовые и производные классы, Конструкторы производных классов, Базовые функции класса, Иерархия классов, Наследование и графика, Общее и частное наследование, Уровни наследования, Множественное наследование, Неопределенность в множественном наследование, Включение: классы в классах, Роль наследования при разработке программ.

Тема 2.5. Конструкторы и деструкторы

Назначение конструкторов и деструкторов, Формат конструктора и деструктора, Конструкторы с параметрами и без параметров.

Тема 2.6. Виртуальные функции и полиморфизм

Определение и формат виртуальных функций, Дружественные функции, Статические функции, Инициализация копирования и присвоения, Указатель this, Динамическая информация о типах, Полиморфизм.

Тема 2.7. Потоки и файлы

Потоковые классы, Потоковый ввод/вывод, Указатели файлов, Файловый ввод/вывод с помощью методов, Перегрузка операций извлечения и вставки.

Раздел 3. Разработка объектно-ориентированного ПО

Тема 3.1. Многофайловые программы

Библиотеки классов, Создание многофайловой программы, Класс сверхбольших чисел, Проекты.

Тема 3.2. Шаблоны и исключения

Шаблоны функций, Шаблоны классов, Исключения.

Тема 3.3. Стандартная библиотека (STL)

Контейнеры, Алгоритмы, Итераторы, Специальные итераторы, Последовательные и ассоциативные контейнеры, Хранение пользовательских объектов, Функциональные объекты.

Тема 3.4. Разработка объектно-ориентированного ПО

Основные концепции программирования, Основные этапы разработки ООП (начало, развитие, построение и передача), Принципы разработки ООП по этапам средствами UML.

4.2.2. Перечень и содержание лабораторных занятий.

№ п/п

№ темы

Наименование лабораторных работ

Кол. ч

1

1.1

Основы программирования (функции, передача параметров)

10

2

2.1

Создание простейших классов и объектов

10

3

2.2

Массивы объектов, указатели и ссылки на объекты (работа с динамическими массивами объектов)

10

4

2.3

Перегрузка операций. Определение операторов для классов

10

5

2.4

Наследование. Разработка классов, используя свойство наследования.

10

6

2.6

Виртуальные функции

20

7

3.2

Шаблоны и исключения. Разработка пользовательских шаблонов и использование их в программе.

20

5. Образовательные технологии

При реализации различных видов учебной работы используются интерактивные методы и технологии формирования необходимых компетенций: лекции с применением мультимедийных технологий; проведение лабораторных занятий в компьютерном классе. Данные методы сочетаются с внеаудиторной работой с целью формирования и развития профессиональных навыков студентов.

6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины.

6.1. План самостоятельной работы студентов

№ нед.

Тема

Вид самостоятельной работы

Задание

Рекомендуемая литература

Количество

Тема 1.1. Основы программирования

Подготовка к аудиторным занятиям

Изучение основ программирования

Поисковые системы Internet, рекомендуемая литература

8

Тема 2.1. Объекты и классы

Подготовка к аудиторным занятиям

Изучение понятий объектов и классов

Поисковые системы Internet, рекомендуемая литература

8

Тема 3.4. Разработка объектно-ориентированного ПО

Подготовка к аудиторным занятиям, с

Разработка объектно-ориентированного ПО

Поисковые системы Internet, рекомендуемая литература

200

6.2. Методические указания по организации самостоятельной работы студентов

Планируются следующие виды самостоятельной работы (внеаудиторной):

-  подготовка к лабораторным работам,

-  оформление отчётов по лабораторным работам,

-  работа с конспектом лекций и изучение рекомендованной литературы при подготовке к экзамену,

-  выполнение курсового проекта.

6.3. Материалы для проведения текущего и промежуточного контроля знаний студентов

Контроль освоения компетенций

№ п\п

Вид контроля

Контролируемые
разделы

Компетенции, компоненты которых контролируются

1

Текущий: собеседование при защите лаб. заданий.

Промежуточный: экзамен.

Раздел 1. Введение

ПК-5,6

2

Текущий: собеседование при защите лаб. заданий.

Промежуточный: экзамен.

Раздел 2. Объектно-ориентированное программирование

ПК-5,6

3

Текущий: собеседование при защите лаб. заданий.

Промежуточный: экзамен.

Раздел 3. Разработка объектно-ориентированного ПО

ПК-5,6

Контроль освоения компетенции выполняется:

-  для компетенции (ПК-5) – путем оценки готовности студента к использованию современных системных программных средств: операционных систем, операционных и сетевых оболочек, сервисных программ;

-  для компетенции (ПК-6) – путем оценки готовности студента к формированию суждений о проблемах современной информатики, ее категорий и связей с другими научными дисциплинами.

Примерный перечень вопросов и заданий к экзамену

  1.  Массивы, указатели и ссылки.

  2.  Разработка объектно-ориентированного ПО. Этапы разработки средствами UML.

  3.  Указатели на объект.

  4.  Определение класса и объекта. Основные понятия и составные элементы класса.

  5.  Перегрузка операций. Перегрузка унарных операций.

  6.  Конструкторы и деструкторы. Определение и назначение. Конструкторы без параметров.

  7.  Перегрузка бинарных операций.

  8.  Перегрузка операции индексации массива.

  9.  Определение методов класса вне класса.

  10.  Преобразование типов.

  11.  Преобразование объектов одного класса в объекты другого класса.

  12.  Операторы new и delete.

  13.  Наследование. Определение, основные понятия и спецификаторы доступа.

  14.  Статические элементы класса. Определение, основные понятия.

  15.  Конструкторы производного класса.

  16.  Конструкторы с параметрами.

  17.  Множественное наследование.

  18.  Виртуальные функции.

  19.  Определение методов класса.

  20.  Чисто виртуальные функции и абстрактные типы.

  21.  Шаблоны классов.

  22.  Полиморфизм и использование виртуальных функций.

  23.  Дружественные функции.

  24.  Исключительные ситуации. Определение и назначение.

  25.  Статические функции.

  26.  Шаблоны функций.

  27.  Исключительные ситуации и особенности работы с ними.

  28.  Указатель this.

  29.  Исключения с аргументами.

  30.  Потоки и файлы. Определение и особенности работы с потоками.

  31.  Флаги форматирования в потоках ввода-вывода.

  32.  Манипуляторы. Манипуляторы без аргументов и манипуляторы с аргументами.

  33.  Функции работы с потоками.

  34.  Иерархия потоковых классов и их назначение.

  35.  Пространство имен. Определение, назначение и особенности работы.

  36.  Паттерны проектирования.

7. Учебно-методическое и информационное обеспечение дисциплины

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

1.  Р. Лафоре «Объектно-ориентированное программирование в С++» , М.: Питер, 2003.

2.  «Язык С++ и объектно-ориентированное программирование», Минск: Высшая шк., 1997.

3.  «Язык СИ++», М. Финансы и статистика», 2001.

4.  Г. Шилдт «Самоучитель С++. 3-е издание», С-Петербург: БХВ-Петербург, 2002.

5.  Г. Шилдт «Полный справочник по С++. 4-е издание», М.: Издательский дом «Вильямс», 2003г.

6.  Г. Штайндер «Microsoft Visual C++.Net. справочник», М.: Лаборатория базовых знаний, 2002.

7.  Обобщённое программирование в языке C++: Метод. указания к лаб. Работе №4 по дисциплине «Системное программирование» для студентов специальности «Радиотехника» дневной формы обучения. / НГТУ; Сост.: . Н. Новгород, 2006.– 24 с.

8.  Давыдов программирования. С++. – СПб.:БХВ-Петербург, 2005. – 672 с.: ил.

9.  ффективное использование STL. Библиотека программиста. – СПб.: Питер, 2003. – 224 с.: ил.

10.  Б. Страуструп, Язык программирования C++, 3-е изд./ Пер. с англ. – СПб.; М.: «Невский Диалект» – «Издательство БИНОМ», 1999

11.  Ли М., STL – стандартная библиотека шаблонов С++: Пер. с англ. – СПб.: БХВ-Петербург, 2004. – 656 с.: ил.

12.  Фридман программирования Си++ – М.: ИНТУИТ. ру, 2004. – 288 с.

13.  илософия С++: (т. 1,2) – Пер. с англ. – 2-е изд. – СПб.: Питер, 2004. – 608 с.

7.2. Программное обеспечение:

1.  Операционная система Windows

2.  Microsoft Visual C++

8. Материально-техническое обеспечение дисциплины

При проведении лекционных занятий для ряда тем необходимо проекционное оборудование, сопряженное с компьютером.

Лабораторные занятия проводятся в компьютерном классе с применением интегрированной среды разработки приложений Microsoft Visual Studio.

Рабочая программа дисциплины «Объектно-ориентированное программирование» составлена в соответствии с требованиями ФГОС ВО с учетом рекомендаций ПрООП по направлению подготовки 020303 «Математическое обеспечение и администрирование информационных систем».

Программу составил:

Доцент кафедры САПР

Настоящая программа не может быть воспроизведена ни в какой форме без предварительного письменного разрешения кафедры-разработчика программы.

Программа одобрена на заседании кафедры САПР

Протокол № ______от «____» ______________ 2015 года

Зав. кафедрой САПР

Программа одобрена методической комиссией ФВТ

Протокол № ______от «____» ______________ 2015 года

Председатель методической комиссии ФВТ

Сведения о переутверждении программы на очередной учебный год и регистрации изменений

Учебный

год

Решение кафедры

(№ протокола, дата, подпись зав. кафедрой)

Внесенные изменения

Номера листов (страниц)

заменен-

ных

новых

аннулиро-ванных