Рабочая программа наименование дисциплины Объектно-ориентированное программирование По направлению подготовки

Вид материалаРабочая программа

Содержание


По профилю подготовки
Информационных систем
Цели и задачи дисциплины
Частные цели
3. Требования к результатам освоения дисциплины
4. Объем дисциплины и виды учебной работы
Аудиторные занятия (всего)
Самостоятельная работа (всего)
Другие виды самостоятельной работы
5. Содержание дисциплины
5.2 Разделы дисциплины и междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами
5.3. Разделы дисциплин и виды занятий
6. Лабораторный практикум
7. Практические занятия (семинары) (не предусмотрены)
10. Материально-техническое обеспечение дисциплины
Подобный материал:


МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

Р

ОССИЙСКОЙ ФЕДЕРАЦИИ


ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ




Государственное образовательное учреждение высшего профессионального образования

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПЕЧАТИ»

УТВЕРЖДАЮ

Проректор по учебной работе

______________Т.В. Маркелова



«_____» ___________2011


РАБОЧАЯ ПРОГРАММА


Наименование дисциплины

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


По направлению подготовки 230400 - Информационные системы и технологии


По профилю подготовки

Информационные системы и технологии

(указывается наименование профиля в соответствии с ПрООП)


Факультет Информационных технологий и медиасистем


Кафедра Информационные системы


Квалификация (степень) выпускника бакалавр


Москва — 2011


Разработчики:

Профессор_______ д.ф.-м.н., проф. Белоусов И.Р.__________

(занимаемая должность) (учёная степень и учёное звание) (инициалы, фамилия)


Доцент___________ к.т.н., доц. Шурыгин В.Н. __________

(занимаемая должность) (учёная степень и учёное звание) (инициалы, фамилия)


Рецензенты:

Профессор FH Шмалькальден д.т.н., проф. Байер Д.

(занимаемая должность) (учёная степень и учёное звание) (инициалы, фамилия)


Профессор_______ д.т.н., проф. Попов Д.И.__________

(занимаемая должность) (учёная степень и учёное звание) (инициалы, фамилия)



    Рабочая программа обсуждена на заседании кафедры «___ Информационных систем__»

    (дата) ____________ 2010 г, протокол № .

    Зав. кафедрой __Марков А.А.____/ /

    Одобрена Советом факультета _Цифровых систем и технологий

    (дата) ____________ 2010 г, протокол №

    Председатель Иванова А.Е._______/ /






Индекс по учебному плану

Цикл

Компонент

Базовая часть

вариативная часть

по выбору студента

Б.2.Вар5

Гуманитарный и социальный

и экономический цикл










Математический и естественнонаучный цикл




Х




Профессиональный цикл














Форма

обучения

курс

семестр

Трудоемкость дисциплины в часах

Форма

итогового

контроля

Всего часов

Аудиторных часов

Лекции

Семинарские (практически) занятия

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

Курсовая

Работа (проект)

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

Очная


1

2

180

68

34




34




112

Экзамен

Очно-заочная































Заочная


































  1. Цели и задачи дисциплины:


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


Частные цели обучение практическим навыкам разработки программ в средах Xcode, Microsoft Visual C++, Dev-C++.

Основной задачей изучения дисциплины является:
  • Изучение концепций объектно-ориентированного программирования;
  • Изучение объектно-ориентированного языка программирования C++;
  • Обучение разработке программ в среде Xcode.
  • Обучение разработке программ в среде Dev-C++.
  • Обучение разработке программ в среде Microsoft Visual C++.


2. Место дисциплины в структуре ООП: ___ Данная учебная дисциплина входит в раздел «Б.3. Профессиональные дисциплины ФГОС по направлению подготовки ВПО «Информационные системы и технологии».

Данная учебная дисциплина взаимосвязана с другими дисциплинами, входящими в модуль Б.2. ФГОС по направлению подготовки ВПО «Информационные системы и технологии», а именно: «Математика », «Информатика», «Физика».

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

Для направления «Информационные системы и технологии» курс «Объектно-ориентированное программирование» является профессиональной дисциплиной. Курс базируется на самых различных отраслях знаний и научных выводах математики, информатики, инженерных дисциплин. Изучением дисциплины достигается формирование у специалистов представления о неразрывном единстве методов и средств разработки программ.


_______________________________________________________________________

(указывается цикл, к которому относится дисциплина; формулируя требования к входным знаниям, умениям и компетенциям студента, необходимым для ее изучения; определяются дисциплины, для которых данная дисциплина является предшествующей)


3. Требования к результатам освоения дисциплины:

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

Данная дисциплина способствует формированию следующих компетенций, предусмотренных ФГОС по направлению подготовки «Информационные системы и технологии»:

  • владение широкой общей подготовкой (базовыми знаниями) для решения практических задач в области информационных систем и технологий (ОК-6);
  • способность проводить техническое проектирование (реинжиниринг) (ПК–2);
  • способность проводить рабочее проектирование (ПК–3);
  • способность проводить выбор исходных данных для проектирования (ПК–4);
  • способность проводить моделирование процессов и систем (ПК–5);
  • способность разрабатывать средства реализации информационных технологий (методические, информационные, математические, алгоритмические, технические и программные) (ПК–12);
  • способность оформлять полученные рабочие результаты в виде презентаций, научно-технических отчетов, статей и докладов на научно-технических конференциях (ПК–27).


В результате изучения дисциплины студент должен

знать:
  • Концепцию ООП
  • правила составления программ на языке программирования C++
  • основные возможности сред программирования Xcode, DEV-C++, Microsoft Visual C++.

уметь:
  • составлять программы на языке программирования C++
  • использовать среду программирования Xcode, DEV-C++, Microsoft Visual C++ для разработки и отладки программ на языке C++

владеть:
  • методами ООП
  • инструментальными средствами ООП
  • методами отладки программных продуктов.

4. Объем дисциплины и виды учебной работы


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


Вид учебной работы

Всего часов

Семестры

2










Аудиторные занятия (всего)

180

180










В том числе:
















Лекции

34

34










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















Семинары (С)















Лабораторные работы (ЛР)

34

34










Самостоятельная работа (всего)

112

112










В том числе:
















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
















Расчетно-графические работы
















Реферат
















Другие виды самостоятельной работы

112

112




























Вид промежуточной аттестации (зачет, экзамен)

экзамен

Экз










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

зач. ед.

180

180










5

5











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

5.1. Содержание разделов дисциплины

№ п/п

Наименование раздела дисциплины

Содержание раздела

1

Концепция ООП

Основные характеристики информационных сетей. Топология сети. Рабочая станция. Сервер. Пропускная способность сети. Передающая среда. Классификация сетей.

2

Структура и классификация типов данных.

Интерфейс и представление типа данных. Конкретные встроенные типы данных. Производные типы данных. Перечисления. Указатели. Массивы и строки. Константы. Ссылки. Структуры. Объединения. Объявления. Объявления и описания. Структура объявления. Определение нового имени типа данных. Преобразования типов. Целочисленные расширения и преобразования. Вещественные типы одинарной и двойной точности. Вещественные и целочисленные типы. Арифметические преобразования. Преобразования указателей. Преобразования ссылок (С++). Явные преобразования типов. Сводка операций.

3

Организация ввода-вывода

Понятие потока ввода-вывода, классификация потоков. Классы потоков в С++. Вывод данных в С++. Вывод данных встроенных типов. Вывод значений пользовательских типов. Ввод данных в С++. Ввод значений встроенных типов. Состояния потока. Ввод данных пользовательских типов.

4

Области действия объектов и классы памяти

Области действия. Программа и сборка. Компоновка. Заголовочные файлы. Старт и завершение. Классы памяти. Динамическое распределение памяти: new, delete, new[], delete[].

5
Операторы языка С++




Помеченный оператор. Оператор-выражение. Составной оператор. Выбирающие операторы. Условный оператор (оператор if). Оператор выбора (оператор switch). Операторы цикла. Оператор ПОКА (while). Оператор ПОВТОРИТЬ (do). Оператор итерации (for). Операторы перехода. Оператор завершения (break). Оператор продолжения (continue). Оператор возврата (return). Оператор перехода (goto). Оператор-объявление.

6
Функции языка С++




Описание функций. Подстановка параметров. Возврат значения. Совмещение имен функций. Указатель на функцию.

7

Классы и объекты

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

8
Наследование

Одиночное наследование. Производные классы. Методы. Конструкторы и деструкторы. Управление доступом к базовым классам (С++). Преобразование указателей и ссылок. Копирование. Множественное наследование. Принцип множественного наследования. Неоднозначности. Виртуальные базовые классы.

9

Полиморфизм имен .

Виды полиморфизма. Совмещение имен функций. Совмещение знаков операций. Общие принципы. Бинарные и унарные операции. Предопределенный смысл знаков операций. Вызов функции. Индексация. Операции над свободной памятью.

10
Абстрактные классы и виртуальные функции




Механизмы динамического вызова функций. Полиморфизм указателей. Поля типа. Виртуальные функции. Динамическая идентификация типов (RTTI). Абстрактные классы.

11

Родовые компоненты программ


Понятие родовой компоненты, ограниченная и неограниченная параметризация. Шаблоны классов. Определение шаблона класса. Конкретизация шаблона класса. Эквивалентность типов. Шаблоны функций. Дополнительные сведения. Объявления и описания. Друзья. Статические компоненты и переменные. Шаблоны как компоненты классов. Шаблоны как параметры шаблона. Специализация. Квалификаторы typename и template. Параметризация и наследование. Сравнительный анализ параметризации и наследования. Ограниченная параметризация.

12

Библиотека стандартных шаблонов


Общие сведения. Контейнеры. Общие сведения. Последовательные контейнеры. Адаптеры контейнеров. Итераторы. Алгоритмы (примеры алгоритмов с использованием итераторов). Алгоритмы сортировки. Алгоритмы, не изменяющие содержимое контейнера. Алгоритмы, изменяющие содержимое контейнера.

13

Обработка исключений


Необходимость обработки исключений. Общие принципы обработки ситуаций в С++. Возбуждение ситуации. Спецификация исключений в объявлении функций и методов. Обработка исключений. Исключения в конструкторах и деструкторах.



(Содержание указывается в дидактических единицах. По усмотрению разработчиков материал может излагаться не в форме таблицы)


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

№ п/п

Наименование обеспе-чиваемых (последую-щих) дисциплин

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

1

2

3

4

5

6

7

8

9

1.

Информатика

Х

Х

Х

Х

Х

Х

Х

Х

Х

2.

Математика
















Х

Х

Х





5.3. Разделы дисциплин и виды занятий

№ п/п

Наименование раздела дисциплины

Лекц.

Практ.

Зан.

Лаб.

зан.

Семин

СРС

Все-го

Час.

1.

Концепция ООП

2




2




8

12

2.

Структура и классификация типов данных.

2




2




8

12

3.

Организация ввода-вывода

2




2




8

12

4.

Области действия объектов и классы памяти

2




2




8

12

5.
Операторы языка С++




2




2




8

12

6.
Функции языка С++




2




2




8

12

7.

Классы и объекты

2




2




8

12

8.
Наследование

2




2




8

12

9.
Полиморфизм имен

.

4




4




10

18

10.
Абстрактные классы и виртуальные функции




4




4




10

18

11

Родовые компоненты программ


4




4




10

18

12

Библиотека стандартных шаблонов


4




4




10

18

13

Обработка исключений


2




2




8

12




ИТОГО

34




34




112

180


6. Лабораторный практикум

№ п/п

№ раздела дисциплины

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

Трудо-емкость

(час.)

1

1

Концепция ООП

2

2

2

Структура и классификация типов данных.

2

3

3

Организация ввода-вывода

2

4

4

Области действия объектов и классы памяти

2

5

5

Операторы языка С++

2

6

6

Функции языка С++

2

7

7

Классы и объекты

2

8

8
Наследование

2

9

9

Полиморфизм имен .

4

10

10

Абстрактные классы и виртуальные функции

4

11

11

Родовые компоненты программ

4

12

12

Библиотека стандартных шаблонов

4

13

13

Обработка исключений

2







ИТОГО

34


7. Практические занятия (семинары) (не предусмотрены)

8. Примерная тематика курсовых работ (проектов) (не предусмотрена)

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

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


1. Стивен Прата. Язык программирования С++. Лекции и упражнения. Вильямс. 2007


б) дополнительная литература

2. Герберт Шилдт С++ базовый курс. Вильямс. 2008.

3. Герберт Шилдт Полный справочник поС++. Вильямс. 2007.


в) программное обеспечение и Интернет-ресурсы

г) базы данных, информационно-справочные и поисковые системы не предусмотрены


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

Возможности доступа в Internet.

Компьютерный класс, оснащенный современными компьютерами (IBM PC или МАС) с лицензионным программным обеспечением.

Комплекс технических средств, позволяющих проецировать изображение из программ подготовки презентаций (экран, медиапроектор, Notebook). Возможности доступа в Internet.


11. Методические рекомендации по организации изучения дисциплины:

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