4.2 Содержание дисциплины
Разделы дисциплины и виды занятий
Таблица 2
Разделы и темы дисциплины |
Трудоемкость, час. |
Формируемые компетенции (ОК, ПК) |
||||
Лекции |
ПЗ |
ЛР |
СРС |
|||
3 семестр |
|
|||||
Раздел 1. Структуры данных |
|
|||||
Тема 1.1. Типизация данных в языках программирования. |
1 |
|
2 |
|
ПК-15 |
|
Тема 1.2. Организация данных, агрегирование, структурирование. |
2 |
|
2 |
|
ПК-16 |
|
Тема 1.3. Контейнеризация данных, файлы, методы доступа. |
3 |
|
2 |
|
ПК-16, ПК-17 |
|
Раздел 2. Программная реализация алгоритмов. |
|
|||||
Тема 2.1. Базовые операторы языков программирования |
1 |
|
2 |
|
ПК-16 |
|
Тема 2.2. Функции, библиотеки функций |
2 |
|
4 |
|
ПК-16 |
|
Тема 2.3. Структурные и объектные принципы программной реализации |
2 |
|
4 |
|
ПК-15 |
|
Тема 2.4. Наследование, инкапсуляция, косвенное обращение и полиморфизм в классах
|
1 |
|
4 |
|
ПК-15, ПК-16 |
|
Раздел 3. Типовые алгоритмы и методы программирования |
|
|||||
Тема 3.1. Модели вычислений и оценки сложности алгоритмов |
2 |
|
4 |
|
ПК-16 |
|
Тема 3.2. Основные понятия, стратегии и алгоритмы сортировки
|
2 |
|
4 |
|
ПК-16, ПК-17 |
|
Тема 3.3. . Алгоритмы поиска |
1 |
|
4 |
|
ПК-16, ПК-17 |
|
Тема 3.3. . Алгоритмы на графах |
1 |
|
4 |
|
ПК-16, ПК-17 |
|
ИТОГО: |
18 |
|
36 |
|
|
4.3 СОДЕРЖАНИЕ РАЗДЕЛОВ ДИСЦИПЛИНЫ
Раздел 1. Структуры данных.
-
Цели и задачи курса. Место дисциплины в учебном процессе. Методические рекомендации по изучению курса. Обзор литературы.
-
Элементарные и простые структуры данных. Сложные структуры данных.
-
Указатели и ссылки.
-
Статические и динамические структуры.
-
Файловые структуры.
-
Контейнерные классы библиотеки std языка C++..
Раздел 2. Программная реализация алгоритмов.
2.1. Базовые операторы языков программирования.
2.2. Функции.
2.3. Структурные и объектные принципы программной реализации.
2.4. Косвенное обращение и полиморфизм в классах.
2.5 Реализация и интерфейсы.
2.6.Причины возникновения и обработка исключительных ситуаций.
Раздел 3. Алгоритмы сортировки.
3.1. Понятие модели вычислений и оценки сложности алгоритмов.
3.2. Основные понятия и стратегии сортировки. Алгоритмы сортировки вставками, выбором, слиянием, обменная сортировка, распределяющая сортировка. Оценка сложности работы алгоритмов внутренней сортировки.
3.3. Основные понятия внешней сортировки. Алгоритмы многофазного и каскадного слияния.
3.4. Основные понятия. Алгоритмы исчерпывающего поиска.
3.5.Поиск в последовательно организованном файле.
3.6.Поиск в деревьях. Оптимальные деревья двоичного поиска. Сбалансированные деревья.
3.7. Хеширование. Разрешение коллизий.
3.8. Возможные представления графов в ЭВМ.
3.9.Алгоритмы нахождение остовного дерева минимального веса, определения кратчайших расстояний между вершинами графа.
3.10. Итоги изучения курса. Методические рекомендации по применению полученных знаний, умений и навыков при изучении последующих курсов.
4.4 АУДИТОРНАЯ РАБОТА
4.4.2. Лабораторный практикум
-
№ п/п
№ раздела дисциплины
Наименование лабораторных работ
1
1
Знакомство с используемой средой программирования
2
1
Объявление и инициализация переменных стандартных типов. Внутреннее представление и доменные области. Преобразования типов.
3
1
Статические массивы, структуры, объединения, перечисления. Определение длины данных. Преобразования типов и арифметика указателей.
4
2
Вычисление арифметических и логических выражений. Циклы. Условные операторы.
5
2
Функции. Определение и описание. Рекурсивный вызов функций. Указатели на функции.
6
2
Псевдослучайные числа, функции моделирующие законы распределения
7
2
Обработка файловых структур данных Форматированный текстовый ввод/вывод. Ввод/вывод для двоичных файлов и использование стандартных функций времени на примере реализации регистрации событий.
8
2
Проектирование иерархий классов. Создание объектов с использованием конструкторов разных семантических типов. Конструкторы при наследовании.
9
2
Реализация методов классов с использованием механизма перегрузки операций.
10
2
Массив указателей типа абстрактного класса и полиморфное поведение объектов классов потомков.
11
2
Определение, генерация и обработка исключений.
12
2
Реализация шаблонного контейнерного класса.
13
3
Реализация алгоритма сортировки на примере массивов.
14
3
Реализация алгоритма сортировки на примере списков и ассоциативных массивов.
15
3
Поиск в файле, отсортированном по ключу поиска и с использованием таблицы индексов.
16
3
Балансировка двоичного дерева
17
3
Поиск пути на графе с весами
18
3
Поиск пути в полигональной области
4.4.3. Иные виды аудиторных занятий
Не предусмотрено рабочим учебным планом.
4.5. САМОСТОЯТЕЛЬНАЯ РАБОТА
4.5.1. Курсовой проект (работа)
Не предусмотрено рабочим учебным планом.
4.5.2. Расчетно-графические, контрольные работы и рефераты
Не предусмотрено рабочим учебным планом.
4.5.3. Иные виды самостоятельной работы
Оформление и защита лабораторных работ.
5. ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ
Таблица 7
Формы Методы |
Лекции (час) |
Практические/ семинарские занятия (час) |
Всего |
Тест |
|
2 |
2 |
Работа в группах; |
|
2 |
2 |
Выступление в роли обучающего |
|
2 |
2 |
Разработка проекта |
|
6 |
6 |
Мультимедийный курс |
8 |
|
8 |
Итого интерактивных занятий |
8 |
12 |
20 |
6. УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ УЧЕБНОЙ ДИСЦИПЛИНЫ
6.1 Рекомендуемая литература
6.1.1 Основная
-
Прата С «Язык программирования С++. Лекции и упражнения», М, Вильямс, 2008
6.1.2 Дополнительная
-
Кнут Д. «Искусство программирования: классический труд: в 3 т. », М.: Вильямс, 2008. Т.1. Основные алгоритмы. 720 с. ОНЛ (3)
-
Кнут Д. «Искусство программирования: классический труд: в 3 т. », М.: Вильямс, 2008. Т.3. Сортировка и поиск. 824 с. ОНЛ (3)
-
В.В. Подбельский «Язык C++», М, Статистика, 2006.
7 МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ (МОДУЛЯ)
Компьютерный класс, оборудованный ПЭВМ следующей минимальной конфигурации: процессор Celeron 1.7ГГц, ОЗУ 512Мб, свободное дисковое пространство 10Гб, SVGA–монитор с разрешением 1024х768, мышь.
Программное обеспечение: Windows XP Professional (или выше), интегрированная среда создания приложений на языке C++.
8 МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ ИЗУЧЕНИЯ ДИСЦИПЛИНЫ (МОДУЛЯ)
Теоретическое изучение предмета происходит на лекционных занятиях и при самостоятельной работе студентов, согласно содержанию разделов дисциплины, приведенному выше. Курс лекций проводится в соответствии с п.4.2, п.4.3 данной рабочей программы.
На практических и лабораторных занятиях студенты под руководством преподавателя более подробно знакомятся с изучаемыми вопросами.
9 ФОРМА КОНТРОЛЯ
Экзамен 3 семестр
Программа составлена в соответствии с Федеральным Государственным образовательным стандартом высшего профессионального образования по направлению 090900 «Информационная безопасность», профиль подготовки
«Безопасность автоматизированных систем»