Министерство образования и науки Российской Федерации

Муромский институт (филиал)

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

 «Владимирский государственный университет

имени Александра Григорьевича и Николая Григорьевича Столетовых»

(МИ ВлГУ)

 

Кафедра  ПИн 

 

 

 

«   06   »       06       2017 г.

 

 

 

 

Рабочая программа ДИСЦИПЛИНЫ

 

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

 




Направление подготовки

09.03.04 Программная инженерия

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

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

бакалавр









          

Семестр

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

час. / зач. ед.

Лек-ции,

час.

 

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

час.

Лабора-торные работы,

час.

Консуль-тация,

час.

Конт-роль,

час.

Всего (контак-тная работа),

час.

СРС,

час.

Форма

промежу-точного контр.

(экз., зач., зач. с оц.)

2

252 / 7  

32  

8  

28  

5,2  

2,35  

75,55  

149,8  

Экз.(26,65)  

Итого

252 / 7  

32  

8  

28  

5,2  

2,35  

75,55  

149,8  

26,65  

 

Муром, 2017 г.


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

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

Задачи дисциплины: освоение основ теории объектно-ориентированного программирования; освоение основных методов и технологий объектно-ориентированного программирования; получение студентами практических навыков в разработке на языке С# и Java.

2. Место дисциплины в структуре ОПОП ВО (Цикл (Б1.В.02))

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

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

ПК-1 готовность применять основные методы и инструменты разработки программного обеспечения.

 

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

1) Знать:

Библиотеки программных модулей, шаблоны, классы объектов, используемые при разработке программного обеспечения (ПК-1).

2) Уметь:

использовать основные принципы объектно-ориентированного программирования (ПК-1).

3) Владеть:

Концециями объектно-ориентированного программирования (ПК-1).

 


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

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

 

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

Уровень базового образования: среднее общее.

Срок обучения 4г.

 

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


 

Раздел (тема)

дисциплины

 

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

(в часах)

 

Форма  текущего контроля успеваемости (по неделям семестра), форма промежуточной аттестации

  (по семестрам)

 

п\п

Семестр

Лекции

Семинары

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

Лабораторные работы

Контрольные работы

СРС

КП / КР

Консультация

Контроль

1

Введение в ООП

2

18

8

12

76

Устный опрос

2

Основы программирования на языке C#

2

14

69

Устный опрос

3

2

16

4,8

Всего за  семестр

252

32

8

28

149,8

+

5,2

2,35

Экз.(26,65)

Итого   

252

32

8

28

149,8

5,2

2,35

26,65

 

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

4.1.2.1. Перечень лекций

Семестр 2

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

Лекция 1.

Объектно-ориентированный подход к проектированию и разработке программ. Сущность объектно-ориентированного подхода (2 часа).

Лекция 2.

Инкапсуляция. Понятие класса. Управление доступом к элементам класса. Конструкторы и деструкторы. Переменные объектного типа (2 часа).

Лекция 3.

Наследование. Базовый класс. Управление доступом при наследовании (2 часа).

Лекция 4.

Простое наследование. Виртуальные функции (2 часа).

Лекция 5.

Чистые виртуальные функции. Абстрактные классы. Непрямые базовые классы. Виртуальные деструкторы. Виртуальные базовые классы (2 часа).

Лекция 6.

Методы общего полиморфизма: перегрузка операций. Реализация перегруженной операции. Перегрузка операции присваивания, инкремента, декремента, бинарных арифметических операций (2 часа).

Лекция 7.

Методы общего полиморфизма: перегрузка операций (2 часа).

Лекция 8.

Параметрический полиморфизм. Шаблоны функций (2 часа).

Лекция 9.

Параметрический полиморфизм. Шаблоны классов (2 часа).

Раздел 2. Основы программирования на языке C#

Лекция 10.

Классы в C#. Управление доступом. Конструкторы. Деструкторы. Наследование (2 часа).

Лекция 11.

Свойства классов в C#. Скалярные и индексированные свойства (2 часа).

Лекция 12.

Перегрузка операций в C#. Преобразование типов в C# (2 часа).

Лекция 13.

Делегаты. события. Интерфейсы (2 часа).

Лекция 14.

Концепция объектно-ориентированного проектирования. Проектирование структурной схемы программы. Реорганизация иерархии и структуры классов. Организационная структура программы. Проектирование файлов интерфейсов классов.Файл интерфейса базового класса. Файл интерфейса производных классов. Файл управления (2 часа).

Лекция 15.

Концепции программирования для Windows. Структура Windows программ. Использование Windows Forms для создания приложений с графическим интерфейсом пользователя (2 часа).

Лекция 16.

Создание элемента управления Windows Forms (2 часа).

 

4.1.2.2. Перечень практических занятий

Семестр 2

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

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

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

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

Реализация перегруженной операции (2 часа).

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

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

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

Составление начальной иерархии и структуры классов (2 часа).

 

методические указания к лабораторным работам приведены в

https://www.mivlgu.ru/iop/course/view.php?id=442

 

4.1.2.3. Перечень лабораторных работ

Семестр 2

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

Лабораторная 1.

Классы и объекты в Java (4 часа).

Лабораторная 2.

Наследование. Виртуальные функции. Абстрактные классы в Java (4 часа).

Лабораторная 3.

Перегрузка операций в Java (4 часа).

Раздел 2.

Лабораторная 4.

Классы и объекты в С# (4 часа).

Лабораторная 5.

Наследование. Виртуальные функции в C# (4 часа).

Лабораторная 6.

Перегрузка операций в C# (4 часа).

Лабораторная 7.

Преобразование типов C# (4 часа).

 

методические указания к лабораторным работам приведены в

https://www.mivlgu.ru/iop/course/view.php?id=442

 

4.1.2.4. Перечень учебно-методического обеспечения для самостоятельной работы

Методические указания для самостоятельной работы размещены на информационно-образовательном портале института по ссылке https://www.mivlgu.ru/iop/course/view.php?id=5058.

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

Перечень тем, вынесенных на самостоятельное изучение:

1. Понятие объекта и класса.

2. Основные принципы ООП.

3. Абстрагирование.

4. Инкапсуляция.

5. Агрегирование.

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

7. Объектная модель программы. У.

8. ниверсальный язык моделирования UML.

9. Метаданные.

10. Промежуточный код (Intermediate Language).

11. Единая среда выполнения (Common Language Runtime).

12. Пространства имен (namespaces).

13. Единая библиотека типов (классов, интерфейсов, структур) платформы - Microsoft Framework Library, основные пространства имен.

14. Встроенный язык поисковых запросов LINQ.

15. Конструкторы класса.

16. Свойства класса.

17. втоматически реализуемые свойства. Инициализация объектов класса.

18. Индексаторы. Статические поля и методы класса.

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

20. Отношение вложенности. Отношение наследования.

21. Описание производных классов. Конструкторы производного класса.

 

4.1.2.5. Перечень тем контрольных работ, рефератов, ТР, РГР, РПР

Не планируется.

 

4.1.2.6. Примерный перечень тем курсовых работ (проектов)

1. 1. Разработка программы, реализующей построение и движение простых фигур в С++/C#.

2. 2. Разработка графического редактора в С++/C#.

3. 3. Разработка тестирующей программы по дисциплине «Объектно-ориентированное программирование» в С++/C#.

4. 4. Разработка текстового редактора в С++/C#.

5. 5. Разработка иерархии классов по заданной тематике.

6. 6. Разработка объектно-ориентированной программы разбора математических выражений .

7. 7. Разработка программы, определяющей аппаратные характеристики ПК.

8. 8. Разработка игры «Сапер».

9. 9. Разработка игры «Крестики-нолики».

10. 10. Разработка игры «Пазлы».

11. 11. Разработка программы "Файловый менеджер".

12. 12. Разработка программы воспроизведения аудио и видео файлов.

13. 13. Разработка программы обработки изображений.

 

методические указания к лабораторным работам приведены в

https://www.mivlgu.ru/iop/course/view.php?id=442

 

 

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

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

 

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

Фонды оценочных средств приведены в приложении.

 

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

7.1. Основная учебно-методическая литература по дисциплине

1. Приемы объектно-ориентированного проектирования Авторы: Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Санкт-Петербург: Питер, 2013 г. , 368 с. - http://ibooks.ru/reading.php?productid=338602

2. C#. Объектно-ориентированное программирование. Учебный курс Авторы: Васильев А. Н. Санкт-Петербург: Питер, 2012 г. , 320 с. - http://ibooks.ru/reading.php?productid=28382

3. Объектно-ориентированное программирование на С#: Учебное пособие / А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова. - Казань: Казанский (Приволжский) федеральный университет, 2012. - 134 с. - http://window.edu.ru/resource/742/71742/files/ulstu2010-6.pdf

 

7.2. Дополнительная учебно-методическая литература по дисциплине

1. Шишкина В.В. Лабораторный практикум по основам объектно-ориентированного программирования: методические указания и задания для выполнения лабораторных работ по дисциплине "Основы объектно-ориентированного программирования" для студентов специальности 08080165 "Прикладная информатика (в экономике)". - Ульяновск: УлГТУ, 2009. - 20 с. - http://www.iprbookshop.ru/12008.html

2. Чернышов М.К. Основы языка программирования C++ с применением объектно-ориентированного программирования: Учебно-методическое пособие. - Воронеж: ИПЦ ВГУ, 2007. - 68 с. - http://window.edu.ru/resource/948/79948/files/OOP_csharp_1.pdf

 

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

В образовательном процессе используются информационные технологии, реализованные на основе информационно-образовательного портала института (www.mivlgu.ru/iop), и инфокоммуникационной сети института:

- предоставление учебно-методических материалов в электроном виде;

- взаимодействие участников образовательного процесса через локальную сеть института и Интернет;

- предоставление сведений о результатах учебной деятельности в электронном личном кабинете обучающегося.

Информационные справочные системы:

- электронная библиотечная система "BOOK.ru" (http://book.ru/);

- электронная библиотечная системы "IPRBooks" (http://www.iprbookshop.ru/);

- электронная библиотечная система "iBooks.ru" (http://www.ibooks.ru/);

- библиотека MSDN: http://msdn.microsoft.com

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

Лаборатория системного и прикладного программирования

Microsoft Visual Studio 2013 (подписка DreamSpark Premium Electronic Software Delivery (3 year) Renewal, договор №453 от 16.12.2014 года).12.2014 года)

 

7.4. Перечень ресурсов информационно-телекоммуникационной сети «Интернет», необходимых для освоения дисциплины

ibooks.ru

window.edu.ru

iprbookshop.ru

 

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

Лаборатория системного и прикладного программирования

6 компьютеров Intel Core i5, 3500 MHz/ ОЗУ 4гб/ LG 21’; 1 компьютер Intel Core i5-2400 3,10 GHz, 4гб, DVD-R/ Philips 19’; проектор ACER P1100 DLP Projector EMEA; экран настенный;

 

9. Методические указания по освоению дисциплины

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

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

До выполнения лабораторных работ обучающийся изучает соответствующий раздел теории. Перед занятием студент знакомится с описанием заданий для выполнения работы, внимательно изучает содержание и порядок проведения лабораторной работы. Лабораторная работа проводятся в компьютерном классе. Обучающиеся выполняют индивидуальную задачу компьютерного моделирования в соответствии с заданием на лабораторную работу. Полученные результаты исследований сводятся в отчет и защищаются по традиционной методике в классе на следующем лабораторном занятии. Необходимый теоретический материал, индивидуальное задание, шаги выполнения лабораторной работы и требование к отчету приведены в методических указаниях, размещенных на информационно-образовательном портале института.

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

Курсовая работа выполняется в соответствии с методическими указаниями на курсовую работу. Обучающийся выбирает одну из указанных в перечне тем курсовых работ, исходя из своих интересов, наличия соответствующих литературных и иных источников. В ходе выполнения курсовой работы преподаватель проводит консультации обучающегося. На заключительном этапе обучающийся оформляет пояснительную записку к курсовой работе и выполняет ее защиту в присутствии комиссии из преподавателей кафедры.

Форма заключительного контроля при промежуточной аттестации – экзамен. Для проведения промежуточной аттестации по дисциплине разработаны фонд оценочных средств и балльно-рейтинговая система оценки учебной деятельности студентов. Оценка по дисциплине выставляется в информационной системе и носит интегрированный характер, учитывающий результаты оценивания участия студентов в аудиторных занятиях, качества и своевременности выполнения заданий в ходе изучения дисциплины и промежуточной аттестации.

 


лист_утверждения


РЕЦЕНЗИЯ

на  рабочую программу дисциплины

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

по направлению подготовки 09.03.04 Программная инженерия

 

Рабочая программа дисциплины «Объектно-ориентированное программирование» составлена в соответствии с требованиями федерального государственного образовательного стандарта по направлению подготовки 09.03.04 Программная инженерия.

На изучение данного курса по учебному плану отводится 252 час. (7 ЗЕТ). Формой итогового контроля изучения дисциплины является экзамен .

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

Задачи дисциплины: освоение основ теории объектно-ориентированного программирования; освоение основных методов и технологий объектно-ориентированного программирования; получение студентами практических навыков в разработке на языке С# и Java.

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

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

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

Перечень учебно-методической литературы достаточен для изучения дисциплины. Имеются ссылки на электронно-библиотечные системы.

Рабочая программа дисциплины «Объектно-ориентированное программирование» рекомендуется для использования в учебном процессе по направлению подготовки 09.03.04 Программная инженерия.

 

06.06.2017 г.