Министерство образования Республики Беларусь
Учреждение образования
«Белорусский государственный университет информатики
и радиоэлектроники»
«Утверждаю»
Декан факультета информационных
технологий и управления
_________________В.Л. Бусько
« » 2006 г.
РАБОЧАЯ ПРОГРАММА
по дисциплине «Информационные технологии и проектирование
систем управления»
для специальности I-53 01 07 «Информационные технологии и управление
в технических системах»
факультет информационных технологий и управления
кафедра систем управления
курс 2
семестр – 4
лекции – 34 часа экзамен – 4 семестр
лабораторные работы – 34 часа
всего часов – 68
Минск 2007
Рабочая программа составлена на основе типовой учебной программы«Информационные технологии и проектирование систем управления», утвержденной Министерством образования Республики Беларусь июня 200 г., регистрационный № ТД -53-003/тип. Составитель:
Рассмотрена и рекомендована к утверждению на заседании кафедры систем управления (протокол № от июня 200г.). Зам. заведующего кафедрой СУ А.В. Павлова
Одобрена и рекомендована к утверждению методической комиссией факультета информационных технологий и управления (протокол № от г.) Председатель С.С. Смородинский |
- ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ, ЕЕ МЕСТО В УЧЕБНОМ ПРОЦЕССЕ
1.1. Цель преподавания дисциплины
Преподавание дисциплины ставит целью дать студентам знания в области алгоритмов, технических и программных средств, применяемых для создания программного обеспечения систем управления на базе наиболее популярного языка объектно-ориентированного программирования С++. Этот язык обладает всеми возможностями низкоуровневого программирования и в то же время включает мощные средства структурирования программ, которые необходимы для написания больших программных комплексов.
1.2. Задачи изучения дисциплины
В курсе "Информационные технологии и проектирование систем управления" ставится задача на основе системы программирования Visual C++ – дать студентам знания в области использования данных инструментальных средств для разработки различных модулей и частей управляющих программных комплексов.
В результате изучения дисциплины студенты должны:
знать:
– существующие в настоящее время методы и подходы к проектированию систем управления;
– алгоритмические языки, применяемые для разработки управляющих программ;
– возможности и средства данных алгоритмических языков для управления внешним оборудованием;
– средства и возможности данных алгоритмических языков по построению удобных пользовательских интерфейсов;
уметь:
– применять инструментальные средства для создания программных комплексов обработки информации систем управления;
иметь:
– представление об основных тенденциях и направлениях в теории и технике информационных технологий.
1.3. Перечень дисциплин, усвоение которых необходимо для изучения данной дисциплины.
Для успешного освоения материалов курса студенты должны владеть материалами кура «Основы программирования», в котором рассматриваются приемы процедурного стиля программирования на языке С.
2. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
2.1. Название тем лекционных занятий, их содержание, объем в часах
Тема 1. введение – 0.5 часа. Предмет дисциплины и ее задачи. Структура, содержание дисциплины, ее связь с другими дисциплинами учебного плана. Роль объектно-ориентированного программирования, проектирования и анализа при создании систем управления.
Тема 2. Интегрированная среда VISUAL C++ 6.0 – 0.5 часа. Работа с консольными приложениями. Создание нового проекта. Добавление к проекту файлов с исходным кодом. Компиляция, компоновка и выполнение проекта. Конфигурация проекта.
Тема 3. Особенности языка С++ – 2 часа. Комментарии. Сокрытие имен и унарная операция привязки. Операции new и delete для работы с динамической памятью. Особенности создания многомерных динамических массивов. Тип данных «ссылки»: псевдонимы имен и передача ссылок в функции в качестве аргументов. Ввод/вывод потоками. Передача аргументов функции по умолчанию. Механизм перезагрузки функций (раннее связывание).
Тема 3. Введение в ООП Понятие класса и объекта – 4 часа Класс. Объект. Инкапсуляция. Внешние и внутренние проявления класса .Абстрагирование. Ограничение доступа. Модульность. Иерархия классов и наследование. Полиморфизм, достоинства и недостатки объектно-ориентированного программирования.
Тема 4. Классы в С++ – 4 часа. Характеристика элементов-данных класса. Характеристика элементов-функций класса. Операция привязки. Встроенные функции и атрибут inline. Полное имя компонентов класса. Указатель “this”. Методы-конструкторы объектов. Методы-деструкторы объектов. Конструктор копирования.
Тема 5. Некоторые дополнительные возможности методов классов – 4 часа. Дружественные (friend) функции класса. Способы передачи аргументов в функции-друзья класса. Методы const, не изменяющие объекты класса. Статические методы и данные. Особенности работы со статическими элементами класса.
Тема 6. Наследование – 6 часов. Производные и базовые классы. Правила наследования. Управление уровнем доступа к элементам класса. Множественное наследование. Последовательность создания и уничтожения подобъектов. Инициализация объектов при наследовании. Указатели на базовый и производные классы. Виртуальный базовый класс. Конструктор во множественном наследовании.
Тема 7. Виртуальные функции – 2 часа. Механизм переопределения метода класса (позднее связывание). Виртуальные методы. Виртуальные деструкторы.
Тема 8. Переопределение операций – 2 часа. Общие положения и определения. Перезагрузка методами и функциями-друзьями. Перезагрузка операции =. Перезагрузка модификатора [ ]. Перезагрузка модификатора ( ). Множественная перезагрузка операций
Тема 9. Другие возможности С++ – 4 часа. Указатели на компоненты класса. Понятие абстрактного класса. “Чистые” виртуальные функции. Шаблоны функций и классов. Особенности перезагрузки шаблонов. Обработка исключений.
Тема 10. Шаблоны (параметризованные типы) – 1 час. Шаблоны функций. Требования к фактическим параметрам шаблона. Отождествление типов аргументов. Шаблоны классов. Шаблоны классов: не только для типов. Наследование в шаблонах классов.
Тема 11. Библиотека iostream. – 2 часа. Простое внесение. Выражение извлечения. Создание собственных функций внесения и извлечения. Функции библиотеки iostream. Манипуляторы ввода–вывода. Файловые и строковые потоки.
Тема 12. Обработка исключительных ситуаций. – 2 часа. Операции try, catch, throw. Синтаксис операций, примеры использования.
2.2. Лабораторные занятия, их наименование и объем в часах
-
Программирование алгоритмов с использованием динамических массивов – 4 часа
-
Классы. Программирование линейных алгоритмов с использованием функций инициализации set() и вывода результатов print() – 4 часа
-
Классы. Программирование линейных алгоритмов с использованием конструктора, деструктора, friend – функции инициализации set() и функции вывода результатов print()– 4 часа
-
Класс «Динамическая строка» и перегрузка операций – 4 часа
-
Наследование классов, механизм виртуальных функций – 4 часа
-
Программирование шаблона классов – 4 часа
-
Множественное наследование с использованием абстрактных базовых классов, файлового ввода-вывода с применением потоков С++, функций обработки исключительных ситуаций – 8 часов
-
Зачетное занятие – 2 часа.
Перечень компьютерных программ. Программное обеспечение:
-
Операционная система Windows 200x, XP.
-
Система программирования Visual Developer Studio 6.0 и выше (С++).
Аппаратное обеспечение (минимальные требования): IBM, совместимый ПК с процессором Pentium 200 и выше, объем ОЗУ не менее 64 Мб, монитор 15" и более, манипулятор "мышь", НЖМД – не менее 2 Гб.
3. УЧЕБНО-МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ ПО ДИСЦИПЛИНЕ
3.1. Основная и дополнительная литература
-
Павловская Т.А., Щупак Ю.А. С++ Объектно-ориентированное программирование. ПИТЕР, 2004.
-
Карпов Б. Баранова Т. С++ - специальный справочник. ПИТЕР, 2001
-
Б.Страуструп, Язык программирования С++. СПб., 2004.
-
Г.Шилдт, Самоучитель С++. 3-е изд. СПб., 2002.
-
Б.Эккель, Философия С++. Введение в стандартный С++. 2-е изд. СПб.:, 2004.
-
Б.Эккель, Ч.Эллисон, Философия С++. Практическое программирование. СПб., 2004.
-
С.В.Глушаков, А.В.Коваль, С.В.Смирнов, Язык программирования С++. Харьков, 2002.
-
Ганьшин Д.А., Снисаренко С.В., лабораторный практикум по курсу «Информационные технологии и проектирование систем управления», Мн.:Ротапринт БГУИР.2007.
- Бусько В.Л., Корбит А.Г., Кривоносова Т.М. Основы ООП. С++. Лабораторный практикум для студентов всех специальностей и форм обучения БГУИР . -Мн.: БГУИР , 2005.