Правительство Российской Федерации федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "Высшая школа экономики" Факультет бизнес-информатики Программа дисциплины Объектно-ориентированный анализ и программирование для направления 080500.62 Бизнес-информатика подготовки бакалавра Авторы программы: О.Л. Викентьева, к.т.н., [email protected] Одобрена на заседании кафедры информационных технологий в бизнесе «30» августа 2011 г. И.о. зав. кафедрой _________________________ Л.В. Шестакова Утверждена Учебно-методическим Советом НИУ ВШЭ – Пермь «15» сентября 2011 г. Председатель ________________________ Г.Е. Володина Пермь, 2011 Настоящая программа не может быть использована другими подразделениями университета и другими вузами без разрешения кафедры-разработчика программы. "Национальный исследовательский университет "Высшая школа экономики" Программа учебной дисциплины Объектно-ориентированный анализ и программирование для направления подготовки 080500.62 Бизнес-информатики подготовки бакалавра 1. Область применения и нормативные ссылки Настоящая программа учебной дисциплины устанавливает минимальные требования к знаниям и умениям студента и определяет содержание и виды учебных занятий и отчетности. Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления подготовки по специальности 080500.62 Бизнес – информатика подготовки бакалавра изучающих дисциплину «Объектноориентированный анализ и программирование». Программа разработана в соответствии с: Образовательным стандартом государственного образовательного бюджетного учреждения высшего профессионального образования «Государственный университет – Высшая школа экономики», в отношении которого установлена категория «Национальный исследовательский университет» по направлению подготовки 080500.62 Бизнес-информатика (уровень подготовки: Бакалавр). Утверждён 02.07.2010 г. (протокол № 15); Учебным планом по направлению подготовки 080500.62 Бизнес-информатика, утвержденным в 2010 г. 2. Цели освоения дисциплины Целями освоения дисциплины Объектно-ориентированный анализ и программирование являются: В области обучения - подготовка в области основ гуманитарных, социальных, экономических, математических и естественнонаучных знаний, получение высшего профессионально профилированного (на уровне бакалавра) образования, позволяющего выпускнику успешно работать в сфере проектирования архитектуры предприятия, стратегического планирования развития ИС и ИКТ управления предприятием, организации процессов жизненного цикла ИС и ИКТ управления предприятием, аналитической поддержки процессов принятия решений для управления предприятием, обладать универсальными и предметно-специализированными компетенциями, способствующими его социальной мобильности и устойчивости на рынке труда. В области воспитания - формирование социально-личностных качеств студентов: целеустремленности, организованности, трудолюбия, ответственности, гражданственности, коммуникативности, толерантности, готовности к ответственному и целеустремленному решению поставленных задач во взаимодействии с обществом, коллективом, партнерами, способность проявлять гражданственность, толерантность и высокую общую культуру в общении с подчиненными и сотрудниками всех уровней, способность к саморазвитию, повышению своей квалификации и мастерства, понимание социальной значимости своей будущей профессии, высокую мотивацию к выполнению профессиональной деятельности. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины Знать: основные технологии программирования; Уметь: разрабатывать программные продукты; Иметь навыки (приобрести опыт): использования методов и инструментальных средств разработки программ. В результате освоения дисциплины студент осваивает следующие компетенции: "Национальный исследовательский университет "Высшая школа экономики" Программа учебной дисциплины Объектно-ориентированный анализ и программирование для направления подготовки 080500.62 Бизнес-информатики подготовки бакалавра Компетенция Код по ФГОС/ НИУ Дескрипторы – основные признаки освоения (показатели достижения результата) Формы и методы обучения, способствующие формированию и развитию компетенции Выполнение заданий, связанных с объектноориентрованным анализом и разработкой программ готовность использовать основные законы естественнонаучных дисциплин в профессиональной деятельности, применять методы математического анализа и моделирования, теоретические. и экспериментальные. исследования готовность выявить естественнонаучную сущность проблем, возникающих в ходе профессиональной деятельности, привлечь их для решения соответствующий физико-математический аппарат владение культурой мышления, способность к обобщению, анализу, восприятию информации, постановке цели и выбору путей её достижения способность к письменной и устной коммуникации на государственном языке ОК-1 применяет основные законы естественнонаучных дисциплин при построении алгоритмов и программ ОК-2 распознает проблемы, возникающие при анализе и составлении алгоритмов и программ, использует для их решения соответствующий физико-математический аппарат Выполнение заданий, связанных с объектноориентрованным анализом и разработкой программ ОК-3 демонстрирует способность к обобщению, анализу, восприятию информации, постановке цели и выбору путей её достижения Выполнение заданий, связанных с объектноориентрованным анализом и разработкой программ ИК-1 владеет письменной и устной коммуникацией на государственном языке готовность работать с информацией из различных источников ИК-4 владение основными методами, способами и средствами получения, хранения, переработки ИК-5 Оформление и защита отчетов по выполненным работам, ответы на контрольные вопросы использует информацию из Выполнение различных источников индивидуальных заданий, для решения которых требуется использовать дополнительную информацию использует различные методы Выполнение заданий, для анализа и разработки связанных с объектноалгоритмов и программ ориентрованным анализом и разработкой "Национальный исследовательский университет "Высшая школа экономики" Программа учебной дисциплины Объектно-ориентированный анализ и программирование для направления подготовки 080500.62 Бизнес-информатики подготовки бакалавра Компетенция Код по ФГОС/ НИУ Дескрипторы – основные признаки освоения (показатели достижения результата) информации владение навыками ИК-6 использует информацию из работы с компьютером глобальных компьютерных как средством сетей управления информацией, способность работать с информацией в глобальных компьютерных сетях способность логически СЛК-1, обосновывает используемые верно, аргументировано методы для анализа и и ясно строить устную и разработки алгоритмов и письменную речь программ разрабатывать контент и ПК-21, применяет различные методы ИТ-сервисы для анализа и разработки предприятия и алгоритмов и программ Интернет-ресурсов использовать соответствующий математический аппарат и инструментальные средства для обработки, анализа и систематизации информации по теме исследования ПК-22 применяет различные методы и инструментальные средства для анализа и разработки алгоритмов и программ Формы и методы обучения, способствующие формированию и развитию компетенции программ Выполнение индивидуальных заданий, для решения которых требуется использовать дополнительную информацию Оформление и защита отчетов по выполненным работам, ответы на контрольные вопросы Выполнение заданий, связанных с объектноориентрованным анализом и разработкой программ Выполнение заданий, связанных с объектноориентрованным анализом и разработкой программ 4. Место дисциплины в структуре образовательной программы Настоящая дисциплина относится к факультативам. Изучение данной дисциплины базируется на изучении курсов: Программирование на языке Паскаль. Программирование. Теоретические основы информатики. Основные положения дисциплины должны быть использованы в дальнейшем при изучении следующих дисциплин: Основы программирования на C# в VS.NET. Функциональное программирование и интеллектуальные системы. Основы эволюционных вычислений и теория алгоритмов. Информационные процессы, системы и сети. "Национальный исследовательский университет "Высшая школа экономики" Программа учебной дисциплины Объектно-ориентированный анализ и программирование для направления подготовки 080500.62 Бизнес-информатики подготовки бакалавра Вычислительные системы, сети, телекоммуникации. Управление данными. Моделирование информационных систем. Имитационное моделирование. 5. Тематический план учебной дисциплины № 1 2 3 4 Название раздела Раздел 1. Объектноориентированный анализ и проектирование. Язык UML. Тема 1. Введение. Тема 2. Объектно-ориентированный анализ и проектирование. Основные свойства ООП. Тема 3. Инкапсуляция. Тема 4. Наследование и полиморфизм. Раздел 3. Абстрактные типы данных. Обобщенное программирование. Тема 5. Реализация абстракций данных методами объектноориентированного программирования. Тема 6. Обобщенное программирование. Применение библиотек и иерархий объектов при программировании. Тема 7. Потоковые классы. Тема 8. Библиотека STL. ИТОГО Всего часов Аудиторные часы Самостоя Практиче тельная Семи Лекции ские работа нары занятия 22 4 4 14 6 2 - 4 16 2 4 10 26 10 4 2 6 2 16 6 16 2 4 10 26 4 6 16 10 2 2 6 16 2 4 10 34 6 10 18 108 2 4 18 4 6 26 8 10 64 6. Контроль знаний студентов 6.1. Формы контроля знаний студентов 1 год Тип Форма контроля контроля 1 2 3 Текущий Контрольная работа 8 (неделя) Итоговый Зачет * 4 Параметры Решение заданий на компьютере 90 мин. Письменная работа 60 мин. 6.2. Критерии оценки знаний, навыков В рамках текущего контроля студент должен продемонстрировать: применение основных законов естественнонаучных дисциплин при построении объектно-ориентированных (ОО) программ, "Национальный исследовательский университет "Высшая школа экономики" Программа учебной дисциплины Объектно-ориентированный анализ и программирование для направления подготовки 080500.62 Бизнес-информатики подготовки бакалавра распознавание проблем, возникающих при объектно-ориентированном анализе предметной области и составлении ОО программ, использование для их решения соответствующего физико-математического аппарата способность к обобщению, анализу, восприятию информации, постановке цели и выбору путей её достижения, владение письменной и устной коммуникацией на государственном языке, использование различных методов и инструментальных средств для анализа и разработки ОО программ, способность обосновывать используемые методы для анализа и разработки ОО программ. На контрольную работу выносятся задачи по разделам 1, 2, 3, 4. В рамках итогового контроля студент должен продемонстрировать: применение основных законов естественнонаучных дисциплин при построении ОО программ, распознавание проблем, возникающих при ОО анализе и составлении программ, использование для их решения соответствующего физико-математического аппарата способность к обобщению, анализу, восприятию информации, постановке цели и выбору путей её достижения, владение письменной и устной коммуникацией на государственном языке, использование различных методов и инструментальных средств для ОО анализа и разработки программ, способность обосновать используемые методы для ОО анализа и разработки программ. На зачет выносятся вопросы по разделам 1,2,3,4. Оценки по всем формам текущего контроля выставляются по 10-ти балльной шкале. 7. Содержание дисциплины Раздел 1. Объектно-ориентированный анализ и проектирование.Язык UML. Тема 1. Введение. Программирование – как фундаментальный метод реализации моделей на компьютере. История возникновения и развития языков процедурного программирования. Понятие алгоритма и исполнителя. Язык процедурного программирования. Основные типы и структуры данных и операторы. Дисциплина программирования, структурный подход к программированию. Возникновение объектно–ориентированного программирования. Количество часов аудиторной работы: 6 часов. Тема 2. Объектно-ориентированный анализ и проектирование. Понятие об объектном моделировании (ОМ). Абстрагирование объектов в ООА. Объектно-ориентированный анализ (ООА). Цели ООА. Цикл разработки программного обеспечения (ПО), назначение и содержание этапов. Роль анализа в процессе разработки программного обеспечения. Основные понятия объектно-ориентированного анализа. Атрибуты, их типы и представление при ОМ. Отношения, основные типы отношений. Язык UML. Основные средства анализа и моделирования предметной области в языке UML. Инструментальные средства объектно-ориентированного проектирования и программирования. Количество часов аудиторной работы: 6 часов. Литература по разделу: "Национальный исследовательский университет "Высшая школа экономики" Программа учебной дисциплины Объектно-ориентированный анализ и программирование для направления подготовки 080500.62 Бизнес-информатики подготовки бакалавра 1. Программирование на языке высокого уровня. Программир. на языке С++: Уч. пос. / Т.И.Немцова и др.; Под ред. Л.Г.Гагариной - М.: ИД ФОРУМ: ИНФРА-М, 2012. - 512 с.: ил.; Глава 1, 2. 2. Павловская Т.А. С/С++ Программирование на языке высокого уровня. – СПБ.: Питер, 2009. – 461 с.: ил. Глава 3. Формы и методы проведения занятий по разделу, применяемые учебные технологии: Практические занятия проводятся в компьютерном классе, студетнты составляют программы на языке программирования высокого уровня с использованием среды программирования MS Visual Studio 2008/2010. Раздел 2. Основные свойства ООП Тема 3. Инкапсуляция. Объект. Классы и методы. Инкапсуляция. Процедуры и функции как способ реализация методов. Объявление объекта. Реализация объекта. Конструктор и деструктор. Создание объекта. Объекты и динамическая память. Количество часов аудиторной работы: 4 часа. 1. Программирование на языке высокого уровня. Программир. на языке С++: Уч. пос. / Т.И.Немцова и др.; Под ред. Л.Г.Гагариной - М.: ИД ФОРУМ: ИНФРА-М, 2012. - 512 с.: ил.; Глава 16. 2. Павловская Т.А. С/С++ Программирование на языке высокого уровня. – СПБ.: Питер, 2009. – 461 с.: ил. Глава 3. Тема 4. Наследование и полиморфизм. Наследование и иерархия объектов. Формы наследования. Следствия наследования. Использование рабочих продуктов объектно-ориентированного анализа на этапе проектирования. Сообщения, экземпляры и инициализация. Механизмы передачи и обработки сообщений в объектно-ориентированных средах. Параметры и данные, переносимые сообщениями. Связывание методов и сообщения. Проблема обращения полиморфизма. Разновидности полиморфизма. Статическое и динамическое связывание. Видимость и зависимость на уровне классов и объектов. Конструирование программ на основе иерархии объектов. Количество часов аудиторной работы: 6 часов. Литература по разделу: 1. Программирование на языке высокого уровня. Программир. на языке С++: Уч. пос. / Т.И.Немцова и др.; Под ред. Л.Г.Гагариной - М.: ИД ФОРУМ: ИНФРА-М, 2012. - 512 с.: ил.; Глава 17. 2. Павловская Т.А. С/С++ Программирование на языке высокого уровня. – СПБ.: Питер, 2009. – 461 с.: ил. Глава 4,5 Формы и методы проведения занятий по разделу, применяемые учебные технологии: Практические занятия проводятся в компьютерном классе, студетнты составляют программы на языке программирования высокого уровня с использованием среды программирования MS Visual Studio 2008/2010. Раздел 3. Абстрактные типы данных. Обобщенное программирование. Тема 5. Реализация абстракций данных методами объектно–ориентированного программирования. Абстрактные типы и структуры данных. Чисто виртуальные функции. Абстрактные классы и интерфейсы. Контейнеры. Связные списки. Стеки. Очереди. Деревья. Графы. Итераторы. Количество часов аудиторной работы:4 часа. "Национальный исследовательский университет "Высшая школа экономики" Программа учебной дисциплины Объектно-ориентированный анализ и программирование для направления подготовки 080500.62 Бизнес-информатики подготовки бакалавра Тема 6. Обобщенное программирование. Шаблоны функций, шаблоны классов. Инстанцирование шаблона. Специализация шаблона. Использование классов функциональных объектов для настройки шаблонных классов и функций. Количество часов аудиторной работы: 6 часов. Литература по разделу: 1. Программирование на языке высокого уровня. Программир. на языке С++: Уч. пос. / Т.И.Немцова и др.; Под ред. Л.Г.Гагариной - М.: ИД ФОРУМ: ИНФРА-М, 2012. - 512 с.: ил.; Глава 17. 2. Павловская Т.А. С/С++ Программирование на языке высокого уровня. – СПБ.: Питер, 2009. – 461 с.: ил. Глава 6 Формы и методы проведения занятий по разделу, применяемые учебные технологии: Практические занятия проводятся в компьютерном классе, студетнты составляют программы на языке программирования высокого уровня с использованием среды программирования MS Visual Studio 2008/2010. Раздел 4. Применение библиотек и иерархий объектов при программировании. Тема 7. Потоковые классы. Потоки. Установка потока. Чтение и запись потока. Вывод в поток. Ввод из потока. Удаление потока. Использование объектов с потоком. Механизм потоков. Процедуры обмена информации в потоках. Количество часов аудиторной работы: 6 часов. Тема 8. Библиотека STL. Основные концепции STL. Последовательные и ассоциативные контейнеры. Итераторы STL. Общие свойства контейнеров. Использование последовательных контейнеров. Адаптеры контейнеров. Алгоритмы. Количество часов аудиторной работы: 10 часов. Литература по разделу: 1. Программирование на языке высокого уровня. Программир. на языке С++: Уч. пос. / Т.И.Немцова и др.; Под ред. Л.Г.Гагариной - М.: ИД ФОРУМ: ИНФРА-М, 2012. - 512 с.: ил.; Глава 18,19. 2. Павловская Т.А. С/С++ Программирование на языке высокого уровня. – СПБ.: Питер, 2009. – 461 с.: ил. Глава 10, 12, 13,14. Формы и методы проведения занятий по разделу, применяемые учебные технологии: Практические занятия проводятся в компьютерном классе, студетнты составляют программы на языке программирования высокого уровня с использованием среды программирования MS Visual Studio 2008/2010. 8. Образовательные технологии Методические рекомендации преподавателю На лекциях используется «проблемный» подход к изложению материала: материал каждой лекции иллюстрируется примерами, рассматриваются нестандартные ситуации, требующие решения с использованием рассматриваемого материала. При этом студенты должны активно участвовать в обсуждении вопросов, выработке решений. Для самостоятельного изучения предлагается использовать электронные ресурсы. На практических занятиях используются следующие методы обучения и контроля усвоения материала: "Национальный исследовательский университет "Высшая школа экономики" Программа учебной дисциплины Объектно-ориентированный анализ и программирование для направления подготовки 080500.62 Бизнес-информатики подготовки бакалавра выполнение практических работ по теме занятия сопровождается контрольным опросом; обсуждение различных вариантов решения, предложенных студентами, сравнение решений, анализ возможных ситуаций. Методические указания студентам Студенту рекомендуется следующая схема подготовки к практическому занятию: 1) проработать конспект лекций; 2) проанализировать основную и дополнительную литературу, рекомендованную по изучаемому разделу; 3) проанализировать варианты решений, предложенные преподавателем; 4) при затруднениях сформулировать вопросы к преподавателю. Для подготовки к занятиям рекомендуется использовать источники, представленные в электронных форматах: рассмотреть примеры решений, использовать пошаговое выполнение программ в среде разработки. 9. Оценочные средства для текущего контроля и аттестации студента 9.1. Тематика заданий текущего контроля Примерные вопросы/ задания для контрольной работы: 1. Создание классов, методов классов, конструкторов и деструкторов, объектов класса. 2. Создание иерархии классов путем наследования. 3. Использование виртуальных функций, абстрактных классов, полиморфных объектов. 4. Использование классов контейнеров для хранения объектов. 5. Использование стандартной библиотеки С++. 6. Использование потоковых классов стандартной библиотеки С++ для сохранения объектов в файле и загрузки из файла. 7. Использование стандартной библиотеки шаблонов STL. 8. Использование исключительных ситуаций. 9.2. Вопросы для оценки качества освоения дисциплины 1. История развития языков процедурного программирования 2. Сложность задачи. Примеры сложных систем. 3. Алгоритмическая декомпозиция сложных систем. 4. Объектно-ориентированная декомпозиция сложной системы 5. Основные этапы создания программного продукта. 6. Атрибуты, их типы и представление при ОМ. 7. Связи, их виды и способы формализации. 8. Использование языка UML для ОО анализа 9. Рабочие продукты ОО анализа. 10. Понятие класса. Атрибуты. Методы. Объекты. 11. Инкапсуляция. Спецификаторы доступа. 12. Конструкторы и деструкторы. 13. Перегрузка операций. 14. Простое наследование. 15. Ключи доступа при наследовании. 16. Виртуальные методы. Механизм позднего связывания. 17. Абстрактные классы. Чисто виртуальные функции. 18. Множественное наследование. 19. Интерфейсы. "Национальный исследовательский университет "Высшая школа экономики" Программа учебной дисциплины Объектно-ориентированный анализ и программирование для направления подготовки 080500.62 Бизнес-информатики подготовки бакалавра 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. Абстрактные типы данных. Контейнеры. Примеры реализации (вектор, матрица, стек, очередь) Создание шаблонов классов Использование шаблонов классов Специализация шаблонов. Общий механизм обработки исключительных ситуаций. Синтаксис исключений. Перехват исключений. Иерархии исключений. Классификация потоков. Подключение потоков Операции ввода-вывода Файловые потоки Контейнеры. Итераторы Последовательные контейнеры Адаптеры контейнеров Ассоциативные контейнеры Обобщенные алгоритмы. 10. Порядок формирования оценок по дисциплине: В НИУ ВШЭ – Пермь принята следующая система весов: 20% результирующей оценки – оценка за работу на семинарских занятиях; 40% результирующей оценки – взвешенная сумма оценок за контрольные мероприятия; 40% результирующей оценки – оценка за итоговый (или промежуточный контроль). Таким образом, 60% результирующей оценки – это накопительная оценка и 40% – это оценка за итоговый (или промежуточный контроль). Результирующая оценка рассчитывается с помощью взвешенной суммы накопительной оценки и оценки за экзамен (или зачет). Накопительная оценка рассчитывается с помощью взвешенной суммы оценок за отдельные формы текущего контроля. К формам текущего контроля относятся контрольные мероприятия (контрольные работы, эссе, коллоквиумы и пр.), которые определены учебным планом. Формулы расчета оценок: О текущая = n1∙Ок/р где Оi – оценки за контрольные мероприятия (эссе, контрольная работа, реферат и пр.) ni – вес контрольных мероприятий (определяются преподавателем и ∑ni=1 или 100%), при этом Веса по контрольным мероприятиям: n1 = 100% - контрольная работа. О накопительная = k1∙Отекущая + k2∙Оаудиторная где ki – вес текущей и аудиторной оценки, при этом k1=2/3, k2=1/3 О результирующая = q1∙Онакопительная + q2∙Оитог.контроль где qi – вес накопительной оценки и оценки за итоговый контроль, при этом q1=0,6, q2=0,4 "Национальный исследовательский университет "Высшая школа экономики" Программа учебной дисциплины Объектно-ориентированный анализ и программирование для направления подготовки 080500.62 Бизнес-информатики подготовки бакалавра 11.Учебно-методическое и информационное обеспечение дисциплины 11.1. Базовый учебник 1. Программирование на языке высокого уровня. Программир. на языке С++: Уч. пос. / Т.И.Немцова и др.; Под ред. Л.Г.Гагариной - М.: ИД ФОРУМ: ИНФРА-М, 2012. - 512 с.: ил.;[ http://znanium.com/bookread.php?book=244875] 11.2. Основная литература 2. Павловская Т.А. С/С++ Программирование на языке высокого уровня. – СПБ.: Питер, 2009. – 461 с.: ил. 3. Лаптев В.В., Морозов А.В., Бокова А.В. С++. Объектно-ориентированное программирование. Задачи и упражнения. – СПб.: Питер, 2007. – 288с.: ил. 11.3. Дополнительная 4. Г. Буч Объектно-ориентированный анализ и проектирование с примерами приложений на С++. – М.: «Издательство Бином», СПб, 2001 г, 560с. 5. Павловская Т.А., Щупак Ю.А. С++. Объектно-ориентированное программирование: Практикум, - СПб.: Питер, 2008. – 265 с.: ил. 6. Хорев П.Б. Технологии ООП. – М.: Академия, 2008. – 448 с. 11.4. Справочники, словари, энциклопедии 7. Библиотека официальной технической документации MSDN (Microsoft Developer Network) (рус./англ). 11.5. Программные средства Для успешного освоения дисциплины, студент использует следующие программные средства: Microsoft Visual Studio 2008 (2010), MS Word, MS Visio, MS Excel. 12.Материально-техническое обеспечение дисциплины Для проведения лекций необходим проектор. Для проведения практических занятий необходим компьютерный класс с установленным программным обеспечением (п. 11.5).