Министерство образования и науки Российской Федерации ГОУ ВПО «Мордовский государственный университет им. Н.П.Огарёва» Математический факультет Кафедра систем автоматизированного проектирования «УТВЕРЖДАЮ» _____________________ _____________________ «______»__________201_ г. РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ (МОДУЛЯ) Объектно-ориентированное программирование Наименование магистерской программы Математическое и программное обеспечение вычислительных машин Направление подготовки 010400.68 – Прикладная математика и информатика Квалификация (степень) выпускника Магистр Форма обучения очная г. Саранск 2011г. 1. Цели освоения дисциплины Целью освоения дисциплины «Объектно-ориентированное программирование» является приобретение базовых знаний и навыков программирования, проектирования и разработки приложений с применением объектно-ориентированного подхода. В процессе изучения дисциплины решаются следующие задачи: - формирование представлений об общей методологии и средствах технологии объектно-ориентированного программирования; - углубленная подготовка студентов в области применения технологии объектноориентированного программирования. 2. Место дисциплины в структуре магистерской программы Дисциплина относится к вариативной части профессионального цикла. Необходимым условием усвоения данного курса является наличие твердых знаний по предшествующим дисциплинам, связанным с разработкой и применением программного обеспечения. Базовые предшествующие курсы: «Основы информатики», «Математическая логика и теория алгоритмов», «Языки и методы программирования», «Операционные системы», «Алгоритмы. Построение и анализ». Полученные в результате изучения данной дисциплины знания и умения и навыки используются в следующих дисциплинах: «Инструментальные среды программирования», «Язык программирования Java», «CASE-средства проектирования программного обеспечения», «Технологии параллельного программирования», «Веб-приложения на Java», «Сетевые технологии и сетевое программирование», «Программная реализация экспертных систем и генетических алгоритмов». 3. Компетенции обучающегося, формируемые в результате освоения дисциплины (модуля) «Объектно-ориентированное программирование» Процесс изучения дисциплины направлен на формирование следующих компетенций: – способность использовать углубленные теоретические и практические знания в области прикладной математики и информатики (ОК-3), – способность разрабатывать концептуальные и теоретические модели решаемых научных проблем и задач (ПК-2), – способность углубленного анализа проблем, постановки и обоснования задач научной и проектно-технологической деятельности (ПК-3). В результате изучения дисциплины студент должен: Знать: - основные виды прикладного программного обеспечения; - средства повышения эффективности применения прикладного программного обеспечения; - уровни применения прикладного программного обеспечения, определенные международными стандартами; Уметь: – определять средства прикладных систем, обеспечивающие повышение эффективности применения данных систем; – применять прикладное обеспечение на различных уровнях; Владеть: - средствами повышения эффективности применения прикладного программного обеспечения. 4. Структура и содержание дисциплины (модуля) «Объектно-ориентированное программирование» Общая трудоемкость дисциплины составляет 7 зачетных единиц 252 часа. № п/п Раздел дисциплины Сем Неделя семестра Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Лекц. Лаб. Объектно1 ориентированный подход Основные принципы объектно2 ориентированного программирования Паттерны 3 проектирования Порождающие 4 паттерны Структурные 5 паттерны Паттерны 6 поведения Итого СРС Всего 1 1, 2 (лекц.) 4 4 8 1 3 - 6 (лекц.) 8 8 16 1 1 2 2 7 - 12 (лекц.), 2, 4, 6, 8 (лаб.) 13 - 18 (лекц.), 10, 12, 14, 16, 18 (лаб.) 1, 3, 5, 7, 9 (лекц.) 1 - 9 (лаб.) 9, 11, 13, 15, 17 (лекц.) 10 - 18 (лаб.) 12 8 30 50 12 10 34 56 10 18 36 64 8 18 32 58 54 54 144 252 Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) зачет Отчет по ЛР №1 (8 неделя) Отчет по ЛР №2 (18 неделя) Отчет по ЛР №3 (8 неделя) Отчет по ЛР №4 (18 неделя) зачет, экзамен 5. Образовательные технологии Изучение дисциплины предполагает использование традиционных способов коллективного обучения – лекций, лабораторных занятий, индивидуальных заданий с последующей отчетностью. Применяемые информационные технологии: лекции в форме презентаций, обучающие и тестирующие программы, электронные учебники. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов Формой текущего контроля знаний студентов является контроль правильности выполнения и оформления лабораторных и самостоятельных работ. Формой промежуточного контроля знаний и умений студентов по курсу «Математические методы и комплексы программ автоматизации проектирования систем» является зачет. Формой итогового контроля знаний и умений студентов по курсу «Математические методы и комплексы программ автоматизации проектирования систем» является экзамен. Темы лабораторных работ: 1. Паттерны проектирования 2. Порождающие паттерны 3. Структурные паттерны 4. Паттерны поведения Перечень вопросов для организации итогового контроля: 1. Цель объектно-ориентированного подхода. 2. Класс, объект, экземпляр класса. 3. Методы и поля класса. 4. Область видимости. 5. Статичные методы и поля. 6. Основные принципы объектно-ориентированного подхода. Абстракция. 7. Основные принципы объектно-ориентированного подхода. Инкапсуляция. 8. Основные принципы объектно-ориентированного подхода. Наследование. 9. Основные принципы объектно-ориентированного подхода. Полиморфизм. 10. Паттерны проектирования. Общие принципы. 11. Паттерны проектирования. Поиск подходящих объектов. 12. Паттерны проектирования. Определение степени детализации объекта. \ 13. Паттерны проектирования. Механизмы повторного использования. 14. Паттерны проектирования. Проектирование с учетом будущих изменений. 15. Порождающие паттерны. Абстрактная фабрика (Abstract Factory). 16. Порождающие паттерны. Строитель (Builder). 17. Порождающие паттерны. Фабричный метод (Factory Method). 18. Порождающие паттерны. Прототип (Prototype). 19. Порождающие паттерны. Одиночка (Singleton). 20. Структурные паттерны. Адаптер (Adapter). 21. Структурные паттерны. Мост (Bridge). 22. Структурные паттерны. Компоновщик (Composite). 23. Структурные паттерны. Декоратор (Decorator). 24. Структурные паттерны. Фасад (Facade). 25. Структурные паттерны. Приспособленец (Flyweight). 26. Структурные паттерны. Заместитель (Proxy). 27. Паттерны поведения. Цепочка обязанностей (Chain of Responsibility). 28. Паттерны поведения. Команда (Command). 29. Паттерны поведения. Интерпретатор (Interpreter). 30. Паттерны поведения. Итератор (Iterator). 31. Паттерны поведения. Посредник (Mediator). 32. Паттерны поведения. Хранитель (Memento). 33. Паттерны поведения. Наблюдатель (Observer). 34. Паттерны поведения. Состояние (State). 35. Паттерны поведения. Стратегия (Strategy). 36. Паттерны поведения. Шаблонный метод (Template Method). 37. Паттерны поведения. Посетитель (Visitor). 7. Учебно-методическое и информационное обеспечение дисциплины (модуля): а) основная литература 38. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектноориентированного проектирования. Паттерны проектирования. — СПб.: Питер, 2008. — 366 с. 39. Мартин Р., Ньюкирк Дж., Косс Р. Быстрая разработка программ. Принципы, примеры, практика. — М.: Издательский дом «Вильямс», 2004. — 752 с. 40. Иан Грэхем Объектно-ориентированные методы. Принципы и практика. — 3-е изд. — М.: Издательский дом «Вильямс», 2004. — 880 с 41. С++.Объектно ориентированное программирование: Практикум/ Ю.А. Щупак.СПб: Питер, 2005 г. 42. Основные концепции и механизмы объектно-ориентированного программирования/ Е.В. Пышкин. - СПб. : БХВ-Петербург, 2005 г. б) дополнительная литература 1. Бадд Т. Объектно-ориентированное программирование в действии / Перев. с англ. — СПб.: Питер, 1997. в) программное обеспечение и Интернет- ресурсы Пакеты прикладных программ 1. Visual Studio (2005), MSDN – (комплекс систем программирования, обеспечивающий разностороннюю работу с базами данных и сетью). Интернет-ресурсы 1. Викиучебник. Объектно-ориентированное программирование [Электронный ресурс] — Режим доступа: http://ru.wikibooks.org/wiki/ Объектноориентированное программирование 2. http://www.citforum.ru/ (сайт аналитической информации). 3. http://dcprograms.narod.ru/ (языки и среды программирования). 8. Материально-техническое обеспечение дисциплины (модуля): 1. Аудитория для проведения лекционных занятий, имеющая необходимое количество посадочных мест (для занятий с группой из 10 студентов) и оснащенная оборудованием для проведения презентаций (ноутбук, проектор); 2. Аудитория с персональными компьютерами для проведения лабораторных занятий, имеющая необходимое количество рабочих мест (для занятий с подгруппой из 10 студентов), оборудованная персональными компьютерами на базе процессора Intel Pentium II или выше, оснащенных необходимым системным и прикладным программным обеспечением. Программа составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций и ПрООП ВПО по направлению 010400.68 – «Прикладная математика и информатика» и магистерской программе «Математическое и программное обеспечение вычислительных машин». Автор: к.т.н., доцент кафедры систем автоматизированного проектирования Шамаев А.В. Рецензент (ы) Программа одобрена на заседании от « » ____________ 2011 года, протокол № .