НОУ ВПО ИНСТИТУТ ГОСУДАРСТВЕННОГО УПРАВЛЕНИЯ, ПРАВА И ИННОВАЦИОННЫХ ТЕХНОЛОГИЙ
Факультет «Информационных систем и инновационных технологий в управлении»
УТВЕРЖДАЮ Проректор по учебной работе ________________ «___»________________ 2013 г. |
УЧЕБНО - МЕТОДИЧЕСКИЙ КОМПЛЕКС
учебной дисциплины «ВЫСОКОУРОВНЕВЫЕ МЕТОДЫ ИНФОРМАТИКИ И ПРОГРАММИРОВАНИЯ»
Специальность 090103 - «Организация и технология защиты информации»
Специализация «Организация защиты информации»
Составитель
Утверждено на заседании Учебно-методической комиссии факультета Протокол № ___ «___» ___________ 20 года Председатель УМК _______ | Утверждено на заседании кафедры «Прикладная информатика и математика» Протокол № ______ «_____» ________________ 20 года Зав. кафедрой _____ |
Москва 2013
НОУ ВПО ИНСТИТУТ ГОСУДАРСТВЕННОГО УПРАВЛЕНИЯ, ПРАВА И ИННОВАЦИОННЫХ ТЕХНОЛОГИЙ
Факультет «Информационных систем и инновационных технологий в управлении»
СОГЛАСОВАНО Выпускающая кафедра «Информационная безопасность» Зав. кафедрой _____ «___»________________ 2013 г. | УТВЕРЖДАЮ Проректор по учебной работе ________________ «___»________________ 2013 г. |
Кафедра «Информационная безопасность»
Автор:
Рабочая учебная программа по дисциплине
«ВЫСОКОУРОВНЕВЫЕ МЕТОДЫ ИНФОРМАТИКИ И ПРОГРАММИРОВАНИЯ»
Специальность 090103 - «Организация и технология защиты информации»
Специализация «Организация защиты информации»
Утверждено на заседании Учебно-методической комиссии факультета Протокол № ___ «___» ___________ 20 года Председатель УМК _______ | Утверждено на заседании кафедры «Математика и прикладная информатика» Протокол № ______ «_____» ________________ 20 года Зав. кафедрой _____ |
Москва 2013
Рабочая программа составлена в соответствии с требованиями Государственного образовательного стандарта высшего профессионального образования, утвержденного Министерством образования РФ.
Рабочая программа рассмотрена и утверждена на заседании кафедры «Информационная безопасность».
От «____» _________________ 20___г.
Протокол № _________
Зав. кафедрой _____________________
Рабочая программа одобрена Ученым Советом Института государственного управления, права и инновационных технологий
От «___» ______________ 20___г.
Протокол № __________
Программу разработал доцент
Согласовано
Начальник информационно-
аналитического отдела
ЦЕЛИ И ЗАДАЧИ ОСВОЕНИЯ ДИСЦИПЛИНЫ
Цель учебной дисциплины: ознакомить студентов с современными интегрированными средами (ИС) разработки программного обеспечения, включающими в себя современные языки высокого уровня и технологию визуального проектирования.
Задачи учебной дисциплины
Главной задачей изучения данного курса является получение студентами знаний в области программирования на языках высокого уровня, а именно:
- в области объектно-ориентированного программирования;
- в области визуального программирования.
Требования к уровню освоения содержания дисциплины.
В результате изучения курса «Высокоуровневые методы информатики и программирования», студенты должны:
Знать:
- новейшие направления в области программирования;
- теорию модульного программирования;
- объектно-ориентированное программирование;
- особенности программирования в оконных операционных средах;
- интегрированные среды программирования;
- основы визуального программирования;
- стандартные компоненты визуального программирования и их использование.
Уметь:
- работать в интегрированной среде Microsoft Visual Studio.
Владеть:
- высокоуровневыми методами информатики и программирования
МЕСТО УЧЕБНОЙ ДИСЦИПЛИНЫ В СТРУКТУРЕ ООП ВПО
Изучение дисциплины «Высокоуровневые методы информатики и программирования» основывается на ранее изученных студентами предметах: «Математика», «Логика», «Вычислительная техника и программирование» и «Информатика». Освоение дисциплины «Высокоуровневые методы информатики и программирования» дает знания для разработки и реализация пользовательского интерфейса приложений в прикладной информатике. К началу изучению данной дисциплины студенты должны иметь знания по структурному программированию. В свою очередь изучение курса «Высокоуровневые методы информатики и программирования» является базой для изучения таких профессиональных дисциплин, как «Операционные системы, среды и оболочки», «Проектирование информационных систем», «Базы данных».
.
Виды учебных занятий по дисциплине и их объёмы (в часах)
Дисциплина включает лекционную часть, практические занятия под руководством преподавателя и самостоятельные занятия. Итоговой формой контроля для очной формы обучения является зачет и экзамен. В качестве других форм контроля знаний студентов используется:
-текущий контроль – оценивается работа студента на занятиях (выполнение индивидуальных заданий и самостоятельных работ);
-промежуточный контроль – опрос;
-рубежный контроль – аттестация, по результатам которой студенты допускаются к экзамену, критерии для ее прохождения задаются преподавателем.
Общий объем времени изучения дисциплины по учебному плану составляет 86 часов.
Вид учебной работы | Кол-во часов по формам обучения | |
Очная | Заочная | |
№№ семестров | 4 | 6 сем. 3 курс/летняя сессия |
Аудиторные занятия | 51 | 10 |
Лекции | 34 | 2 |
Практические и семинарские занятия | 17 | 8 |
Самостоятельная работа | 35 | 76 |
ВСЕГО ЧАСОВ НА ДИСЦИПЛИНУ | 86 | 86 |
Текущий контроль (вид текущего контроля и кол-во, №№ семестров) | Опрос в кол-ве 2 раз | - |
экзамен | 4 | 3 |
ЗЕТ | 86 | 2,5 |
Курсовая работа (№ семестра) | - | - |
Виды промежуточного контроля (экзамен, зачет, №№ семестров) | Экзамен | Экзамен |
Содержание дисциплины
Высокоуровневый язык программирования - это язык программирования, разработанный для быстроты и удобства использования программистом. Существуют также уже и сверх высокоуровневые языки программирования – это языки программирования с очень высоким уровнем абстракции. В отличие от языков программирования высокого уровня, где описывается принцип «как нужно сделать», в сверх высокоуровневых языках программирования описывается лишь принцип «что нужно сделать».
Раздел 1.Основы объектно-ориентированного программирования в C++.
(IV семестр - консольная среда.)
Тема 1. Введение I - типы, операторы и выражения.
Имена переменных. Типы и размеры данных. Константы. Целые константы, константы с плавающей точкой, литерные константы, стринговые константы и константы перечисления. Декларации. Арифметические операторы. Операторы отношения и логические операторы. Преобразование типов. Инкрементные и декрементные операторы. Побитовые операторы.
Тема 2. Программирование в Visual C++ .
Среда. NET Framework. Общеязыковая исполняющая среда (CLR). Написание приложений C++. Изучение программирования для Windows. Стандарты C++. Атрибуты. Консольные приложения. Концепции программирования для Windows.
Тема 3. Управление.
Управление. Инструкции и блоки. Конструкция if – else. Конструкция else – if. Переключатель. Циклы while и for. Цикл do – while. Инструкции break и continue. Инструкция goto и метки.
Тема 4. Функции и структура программы.
Функции и структура программы. Внешние переменные. Область действия автоматических переменных. Область действия внешней переменной. Статические переменные. Спецификация регистровые. Определения переменных внутри функций. Внешние и статические переменные при инициализации.
Тема 5. Указатели и массивы.
Указатели и массивы. Указатели и адреса. Указатели и аргументы функций. Указатели и массивы. Адресная арифметика. Многомерные массивы.
Тема 6. Структуры.
Структуры. Структуры и функции. Массив структур. Указатели на структуры. Структуры со ссылками на себя.
Тема 7. Классы.
Классы. Иерархия классов. Производные классы. Базовые классы Дружественные классы.
Тема 8. Ввод-вывод.
Ввод-вывод. Стандартный ввод-вывод. Форматный вывод. Форматный ввод. Доступ к файлам. Управление ошибками.
Раздел 2. Программирование в Visual C++
(V семестр - windows-программирование.)
Тема 9. Введение II –повторение пройденного. Данные, переменные и вычисления. Ввод-вывод.
Структура программы на C++. Функция main(). Операторы программы. Отступы. Блоки операторов. ![]()
Консольные программы. Определение переменных. Именование переменных. Объявление переменных. Начальные значения переменных. Базовые типы данных. Целочисленные переменные. Символьные типы данных. Модификаторы целочисленных типов. Логический тип. Типы с плавающей запятой. Литералы. Определение синонимов для типов данных. Переменные с определенным набором значений. Базовые операции ввода-вывода. Ввод с клавиатуры. Вывод в командную строку. Форматирование вывода. Управляющие последовательности. Вычисления в C++. Оператор присвоения. Арифметические операции. Вычисление остатка. Изменение значения переменной. Операторы инкремента и декремента. Последовательность вычислений. Преобразование и приведение типов. Приведения типов в операторах присвоения. Явные приведения типов. Приведения в старом стиле. Ключевое слово auto. Выяснение типов. Битовые операторы. Битовое ИЛИ. Битовое исключающее ИЛИ. Битовое НЕ. Битовые операторы сдвига. Продолжительность хранения и область видимости. Автоматические переменные. Размещение объявлений переменных. Глобальные переменные. Статические переменные. Пространства имен. Объявление пространства имен. Множественные пространства имен. Программирование на C++/CLI. Специфика C++/CLI: базовые типы данных. Вывод C++/CLI в командную строку. Специфика C++/CLI — форматирование вывода. Клавиатурный ввод в C++/CLI. Применение оператора safe cast. Перечисления C++/CLI. Выяснение типов в C++/CLI.
Тема 10. Настройка параметров интегрированная среда разработки Visual C++.
Редактор. Компилятор. Компоновщик. Библиотеки. Использование IDE. Возможности панели инструментов. Закрепляемые панели инструментов. Документация. Проекты и решения. Создание и выполнение приложений Windows. Создание приложения Windows Forms.
Тема 11. Windows-программирование.
Программная среда Windows. Основы программирования для Windows. Использование библиотеки MFC. Рассмотрим наиболее важные моменты работы Windows и принципы взаимодействия программ с ней. Интерфейс вызовов функций в Windows. Библиотеки динамической загрузки (DLL). Интерфейс GDI. Многозадачность в Windows. Процесс. Поток. Приоритетная многозадачность. Взаимодействие программ и Windows.
Тема 12. Использование средств разработки.
Типы мастеров проектов. Преимущества мастеров проектов. Обзор возможностей ClassWizard. Имена, используемые в MFC. Шаблоны новых приложений. Редактор ресурсов Меню, диалоговые панели, кнопки. Мастера проектов Microsoft Visual C++: MFC AppWizard (exe), MFC AppWizard (dll), AppWizard ATL COM, Custom AppWizard, DevStudio Add-in Wizard, MFC ActiveX, Win32 Application, Win32 Console Application, Win32 Dynamic-Link Library, Win32 Static Library.
Тема 13. Стандартная библиотека шаблонов.
Сстандартная библиотека шаблонов. Контейнеры. Адаптеры контейнеров. Итераторы. Алгоритмы. Объекты функций в библиотеке STL. Адаптеры функций. Диапазон контейнеров STL. Последовательные контейнеры. Создание контейнеров vector. Емкость и размер контейнера vector. Обращение к элементам в векторе. Вставка и удаление элементов в векторе. Сохранение в векторе объектов класса.
Сортировка элементов вектора. Хранение указателей в векторе. Контейнеры — двунаправленные очереди. Использование контейнеров List. Использование других последовательных контейнеров. Ассоциативные контейнеры. Использование карт. Использование контейнера multimap. Дополнительные сведения об итераторах. Использование итераторов входного потока. Использование вставляющих итераторов. Использование итераторов выходного потока. Дополнительные сведения об объектах функций. Дополнительные сведения об алгоритмах. Функция fill (). Функция replace (). Функция find (). Функция transform (). Лямбда-выражения. Директива фиксации. Фиксация конкретных переменных. Шаблоны и лямбда-выражения. Оболочка лямбда-выражения. Библиотека STL для программ C++/CLI. Контейнеры STL/CLR. Использование последовательных контейнеров. Использование ассоциативных контейнеров. Лямбда-выражения в C++/CLI.
Тема 14. Приемы отладки.
Понятие отладки. Программные ошибки. Распространенные ошибки. Базовые операции отладки. Установка точек останова. Установка точек трассировки. Запуск отладки. Изменение значения переменной. Добавление отладочного кода. Использование утверждений. Добавление собственного отладочного кода. Отладка программы. Стек вызовов. Переход к ошибке. Проверка расширенного класса. Поиск следующей ошибки. Отладка динамической памяти. Функции проверки динамической памяти. Управление отладочными операциями динамической памяти. Отладочный вывод динамической памяти. Отладка программ C++/CLI. Использование классов Debug и Trace. Получение вывода трассировки в приложениях Windows Forms.
Тема 15. Концепции программирования для Windows.
Основы программирования для Windows. Элементы окна. Программы Windows и операционная система. Программирование, управляемое событиями. Сообщения Windows. Интерфейс API Windows. Типы данных Windows. Нотация программ Windows. Структура программы Windows. Функция WinMain (). Функции обработки сообщений. Простая программа Windows. Организация программ Windows. Библиотека Microsoft Foundation Classes. Нотация библиотеки MFC. Структуризация программы MFC. Использование Windows Forms.
Тема 16. Программирование для нескольких ядер.
Основы параллельных вычислений. Введение в библиотеку шаблонов для параллельных вычислений. Алгоритмы параллельной обработки. Использование алгоритма parallel_f or. Использование алгоритма parallel_f or_each. Использование алгоритма parallel invoke. Реальная проблема параллельной обработки. Критические разделы. Использование объекта critical section. Блокировка и разблокировка разделов кода. Шаблон класса combinable. Задачи и группы задач.
Тема 17. Программирование для Windows с использованием библиотеки MFC.
Концепция "документ-представление" в библиотеке MFC. Документные интерфейсы. Связь документа с его представлениями. Ваше приложение и библиотека MFC. Создание приложений MFC. Создание приложения SDI. Вывод мастера MFC Application Wizard. Создание приложения MDI.
Тема 18. Работа с меню и панелями инструментов.
Взаимодействие с Windows. Карты сообщений. Категории сообщений. Обработка сообщений в программах. Расширение программы Sketcher. Элементы меню. Создание и редактирование ресурсов меню. Добавление обработчиков сообщений меню. Выбор класса для обработки сообщений меню. Создание функций сообщений меню. Создание функций сообщений меню. Добавление обработчиков сообщений для обновления пользовательского интерфейса. Добавление кнопок панели инструментов. Редактирование свойств кнопки панели инструментов. Испытание кнопок панели инструментов. Добавление всплывающих подсказок. Меню и панели инструментов в программах C++/CLI. Технология Windows Forms.
Тема 19. Написание собственных библиотек DLL.
Как работают библиотеки DLL. Содержимое библиотеки DLL. Вариации библиотек DLL. Что помещать в библиотеку DLL. Написание и использование библиотек DLL.
Распределение часов по темам и видам учебной работы
Очная форма обучения
Названия разделов и тем | Всего часов по учеб-ному плану | Виды учебных занятий | СРС | |
Ауд. занятия, в том числе | ||||
Лек-ции | Прак. сем. занятия | |||
Тема 1. Введение I - типы, операторы и выражения. | 5 | 2 | 1 | 2 |
Тема 2. Программирование в Visual C++ . | 4 | 2 | 1 | 1 |
Тема 3. Управление. | 5 | 2 | 1 | 2 |
Тема 4. Функции и структура программы. | 5 | 2 | 1 | 2 |
Тема 5. Указатели и массивы. | 4 | 1 | 1 | 2 |
Тема 6. Структуры. | 5 | 2 | 1 | 2 |
Тема 7. Классы. | 5 | 2 | 1 | 2 |
Тема 8. Ввод-вывод. | 4 | 1 | 1 | 2 |
Тема 9. Введение II –повторение пройденного.(начало V семестра). Данные, переменные и вычисления. Ввод-вывод. | 3 | 2 | 0 | 1 |
Тема 10. Настройка параметров интегрированная среда разработки Visual C++ . | 4 | 1 | 1 | 2 |
Тема 11. Windows-программирование. | 5 | 2 | 1 | 2 |
Тема 12. Использование средств разработки. | 4 | 1 | 1 | 2 |
Тема 13. Стандартная библиотека шаблонов. | 5 | 2 | 1 | 2 |
Тема 14. Приемы отладки. | 5 | 2 | 1 | 2 |
Тема 15. Концепции программирования для Windows. | 4 | 2 | 0 | 2 |
Тема 16. Программирование для нескольких ядер. | 5 | 2 | 1 | 2 |
Тема 17. Программирование для Windows с использованием библиотеки MFC. | 5 | 2 | 1 | 2 |
Тема 18. Работа с меню и панелями инструментов. | 5 | 2 | 1 | 2 |
Тема 19. Написание собственных библиотек DLL. | 4 | 2 | 1 | 1 |
Всего: | 86 | 34 | 17 | 35 |
Заочная форма обучения
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 |


