Федеральное агентство по образованию Ухтинский государственный технический университет "УТВЕРЖДАЮ" И.о. первого проректора ___________Н.С.Федотов "____"_____________ 2010г. РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ "ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ" Направление подготовки: 230100 Информатика и вычислительная техника Профиль: Автоматизированные системы обработки информации и управления Квалификация выпускника: бакалавр Форма обучения: очная Факультет: Информационных технологий Кафедра: Автоматизированные информационные системы Всего Вид учебной работы З.Е. часы Аудиторные занятия (АЗ) (всего), в том числе: Лекции (ЛК) Лабораторные работы (ЛР) Практические занятия: (ПЗ) Семинарские занятия (СЗ) Текущий контроль (тестирование – т/ коллоквиум к) (ТК) Консультации (К) % интерактивных форм обучения от АЗ по дисциплине Самостоятельная работа (СР) (всего), в том числе: Курсовая работа: (КР) Курсовой проект: (КП) Расчетно-графические работы (РГР) Контрольная работа (контр.р) Научно-исследовательская работа (НИР) Другие виды самостоятельной работы Вид промежуточной аттестации (зачет, экзамен): Общая трудоемкость дисциплины и трудоемкость по семестрам: 1,5 54 0,5 1,0 - 18 36 - 0,08 3 1,42 51 1 2 17 18 Семестры 4 5 недели 17 18 17 3 18 36 1 зач 3 2010 г 108 6 7 8 18 17 12 1. Цели освоения дисциплины ознакомление студентов с основными положениями объектно-ориентированного подхода к программированию, изучение инструментальных средств и технологии объектноориентированного программирования (ООП) и ее реализацией в языке С++. 2. Место дисциплины в структуре ООП ВПО Дисциплина "Объектно-ориентированное программирование" относится к Профессиональному циклу, базовая часть. Перечень дисциплин, усвоение которых студентами необходимо для изучения данной дисциплины: - Алгоритмические языки и программирование (Указывается цикл (раздел) ООП, к которому относится данная дисциплина (модуль). Дается описание логической и содержательно-методической взаимосвязи с другими частями ООП (дисциплинами, модулями, практиками). Формулируются (указываются) требования к «входным» знаниям, умениям и компетенциям обучающегося, необходимым при освоении данной дисциплины и приобретенным в результате освоения предшествующих дисциплин (модулей). Указываются те теоретические дисциплины и практики, для которых освоение данной дисциплины (модуля) необходимо как предшествующее). 3. Требования к результатам освоения дисциплины: Изучение дисциплины направлено на формирование следующих компетенций: _____________________________________________________________________________ (Указываются компетенции обучающегося, формируемые в результате освоения дисциплины (модуля)в соответствии с ФГОС ВПО и дополнительные, сформулированные разработчиком программы) ______________________________ В результате освоения дисциплины обучающийся должен: ЗНАТЬ основные концепции объектно-ориентированного программирования (инкапсуляция, наследование и полиморфизм). УМЕТЬ написать программы на языке С++ в инструментальной среде Microsoft Visual C++ с использованием объектно-ориентированного подхода. ИМЕТЬ представление об объектно-ориентированных библиотеке классов MFC. 4. Структура и содержание дисциплины 4.1. Содержание разделов дисциплины: № п/п 1. 2. Наименование раздела дисциплины (модуля) 1 Введение Классы Содержание раздела Современные технологии программирования (процедурное, функциональное, логическое, объектно-ориентированное). Преимущества ООП. Эволюция языка С++. Концепции ООП в языке С++: инкапсуляция, наследование, полиморфизм. Инкапсулированные объекты в языке С++. Понятие класса. Объявление и определение элементов класса. Управление доступом к элементам класса. Создание объекта (экземпляра) класса. Указатель на объект класса. Трудоемко сть, часы з.е. 1 2 3. Конструкторы и деструкторы объектов классов 4. Дружественные функции и дружественные классы Перегрузка операторов 5. 6. Наследование и полиморфизм. 7. Шаблоны функций и классов 8. Библиотека классов MFC 9. Управление событиями в приложении, созданном на базе MFC Разработка компонентов ООП в Microsoft Visual C++. 10. Структура как разновидность класса. Назначение конструкторов и деструкторов. Перегрузка конструкторов. Виды конструкторов (конструктор копирования, конструктор по умолчанию). Правила объявления и определения конструкторов и деструкторов при создании классов. Назначение дружественных функций и дружественных классов. Правила объявления и определения, примеры. 1 1 Возможность переопределения операторов в языке С++. Синтаксис объявления и определения операторов в классах. Создание функций операторов сложения, присваивания, выделения элемента массива, new, delete и других. Указатель this и его использование при создании функций операторов. Ограничения на перегрузку операторов. Понятие наследования, его назначение. Базовые и производные классы, синтаксис определения производных классов. Единичное и множественное наследование. Особенности конструкторов производных классов, список инициализации в конструкторе. Понятие полиморфизма. Виртуальные методы: назначение, правила использования. Чисто виртуальные методы и абстрактные классы. Назначение шаблонов, понятие параметрического полиморфизма. Шаблоны функций: объявление шаблона, создание экземпляра шаблона. Декларация и реализация шаблонов классов, примеры. Использование шаблонов классов для построения родовых структур данных (массивов, списков, деревьев и т.п.). стандартная библиотека шаблонов в С++. Иерархия классов библиотеки MFC, основные классы MFC, классы оконного интерфейса, меню, классы для работы с файловой системой, графические классы, классы для хранения информации в массивах, списках, словарях. Механизм обработки сообщений, оконные сообщения, командные сообщения и др., таблица откликов на сообщения, обработка исключительных ситуаций. 2 Возможности создания программных компонентов различного рода (интерфейсных, графических, для хранения данных и других) с использованием средств автоматизации. 1 2 2 4 2 Процесс создания: проектирование ресурса, создание класса и объекта класса, переопределение виртуальных методов базового класса и разработка новых, отражающих свойства и поведение компонента. итого: 18 0 4.2. Разделы дисциплины и виды занятий № п/п Наименование раздела дисциплины (модуля) ЛК1 ЛР ПЗ СP ТК СР В соответствии с Типовым положением о вузе к видам учебной работы отнесены: лекции, консультации, семинары, практические занятия, лабораторные работы, контрольные работы, коллоквиумы, самостоятельные работы, научноисследовательская работа, практики, курсовое проектирование (курсовая работа). Высшее учебное заведение может устанавливать другие виды учебных занятий. 5. Лабораторный практикум № п/п Наименование раздела дисциплины (модуля) Наименование лабораторных работ Трудоемко сть часы з.е. 1 1. Введение 2. Классы 3. Конструкторы и деструкторы объектов классов Интегрированная среда разработки Microsoft Visual C++. (компилятор, компоновщик, отладчик, система управления проектом). Создание классов в программе на языке С++: объявление элементов, определение методов. Создание объектов классов и указателей на объекты. Конструкторы и деструкторы классов. Создание различного вида конструкторов (по умолчанию и копирования). 4. Дружественные функции и дружественные классы Друзья класса. Создание дружественных функций и классов. 1 5. Перегрузка операторов Перегрузка функций и операторов. 1 6. Наследование и полиморфизм. 2 7. Наследование и полиморфизм. Наследование. Создание производного класса, особенности конструкторов производного класса, методы доступа к элементам базового класса. Множественное наследование. Списки инициализации при определении 1 Используемый вид занятий при прохождении данного раздела помечается знаком “+” 2 1 1 8. Наследование и полиморфизм. конструкторов производных классов. Полиморфизм. Правила создания и использования виртуальных функций. 1 9. Шаблоны функций и классов Создание и применение шаблонов функций и классов. 2 10. Библиотека классов MFC Использование средств автоматизации разработки приложений MFC AppWizard и ClassWizard на примере создания приложения с одним диалоговым окном. Структура приложения, созданного на базе MFC. Основные классы MFC, используемые в приложениях. Создание класса, производного от класса MFC, включение в класс новых методов и элементов данных с помощью ClassWizard. 4 11. Библиотека классов MFC. Управление событиями в приложении, созданном на базе MFC Процедура создания однодокументного приложения. Разработка многооконного интерфейса в приложении. 2 итого: 18 6. Примерная тематика курсовых проектов (работ) 7. Образовательные технологии (Указываются образовательные технологии, используемые при реализации различных видов учебной работы. В соответствии с требованиями ФГОС ВПО по направлению подготовки реализация компетентностного подхода должна предусматривать широкое использование в учебном процессе активных и интерактивных форм проведения занятий (компьютерных симуляций, деловых и ролевых игр, разбор конкретных ситуаций, психологические и иные тренинги) в сочетании с внеаудиторной работой с целью формирования и развития профессиональных навыков обучающихся. В рамках учебных курсов должны быть предусмотрены встречи с представителями российских и зарубежных компаний, государственных и общественных организаций, мастер-классы экспертов и специалистов. Удельный вес занятий, проводимых в интерактивных формах, определяется главной целью (миссией) программы, особенностью контингента обучающихся и содержанием конкретных дисциплин, и в целом в учебном процессе они должны составлять для программ бакалавров не менее 20 (30) % аудиторных занятий (определяется требованиями ФГОС с учетом специфики ООП). Занятия лекционного типа для соответствующих групп студентов не могут составлять более 40% аудиторных занятий для программ бакалавров (определяется соответствующим ФГОС). 8. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов ______________________________________________________________________ (Указываются темы эссе, рефератов, курсовых работ и др. Приводятся примеры контрольных вопросов и заданий для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины, а также для контроля самостоятельной работы обучающегося по отдельным разделам дисциплины). 9. Учебно-методическое и информационное обеспечение дисциплины (модуля) 9.1. Основная и дополнительная литература: № п/п Автор и наименование, выходные данные Вид пособия Год издания Кол-во экз. 1 2 3 4 5 Учебное пособие для студентов специальности 220200 АСОИУ 2000 г. 10 Основная литература 1. В.В.Подбельский. Язык Си ++. Москва, Финансы и статистика. 2.Н Намир К.Шаммас. Основы С++ и объектноориентированного программирования. Киев, Диалектика. 3. Б.Карпов, Т.Баранова. С++. Специальный справочник. Санкт-Петерб., Питер. 4.Б.Страуструп. Справочное руководство по языку С++. Москва, Мир. Дополнительная литература 1. Пол. Объектно-ориентированное программирование с использованием С++. Киев, :ДиаСофт. 1996 г. 2000 г. 2000 г. 1995 г. 9.2. Программное обеспечение и Интернет-ресурсы _________________________ 10. Материально-техническое обеспечение дисциплины (модуля):__________ Лекции проводятся в лекционной аудитории 218к, рассчитанной на 50 посадочных мест, площадью 66,9 м2. Аудитория оборудована проектором, экраном, учебной доской, ноутбуком. Лабораторные занятия проводятся в 204к - "Лаборатория новых информационных технологий", площадь 48,5 м2, рассчитана на 10 посадочных мест. Аудитория оборудована: 10 компьютеров на базе процессора Intel-P4, CPU 2.8 GHz, 256 МБ ОЗУ, НDD 80 Gb; 10 мониторов LG FLETRON F700P 17'; учебная доска. 11. Методические рекомендации по организации изучения дисциплины: (Указываются рекомендуемые модули внутри дисциплины или междисциплинарные модули, в составе которых она может входить, особенности организации изучения дисциплины, в т.ч. самостоятельной работы) Рабочая учебная программа по дисциплине "Объектно-ориентированное программирование" составлена в соответствии с требованиями Федерального Государственного образовательного стандарта ВПО с учетом рекомендаций ПрООП ВПО по направлению 230100 -Информатика и вычислительная техника и учебного плана по профилю подготовки Автоматизированные системы обработки информации и управления. Автор(ы) (доц., к.т.н.). ___________________ ( ) Рецензент(ы) ______________________________ ( ) Рабочая учебная программа рассмотрена на заседании учебно-методического совета университета протокол № от “ “ ________ 20___ г. и признана соответствующей требования Федерального Государственного образовательного стандарта и учебного плана по направлению 000000.00 "…………………………." Председатель УМС ______________ Бабаевский П.Г. Рабочая учебная программа рассмотрена методическим Советом факультета №___ и признана соответствующей требования Федерального Государственного образовательного стандарта и учебного плана по направлению 000000.00 "…………………………." Декан факультета № ____ _______________ . ( Председатель методического Совета факультета № ____ ____________ ( Программа согласована с УМУ университета ______________ Козлов Н.А. ) )