Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение

advertisement
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Чеченский государственный университет»
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
Кафедра «Программирование и инфокоммуникационные технологии»
УТВЕРЖДАЮ
Проректор по учебной работе и
информатизации
_____________С.С. Абдулазимов
«_____»________________2015 г.
РАБОЧАЯ ПРОГРАММА
УЧЕБНОЙ ДИСЦИПЛИНЫ
«Алгоритмы и структуры данных»
Направление подготовки
11.03.02 «Инфокоммуникационные технологии и системы связи»
(код и наименование направления подготовки)
Профиль подготовки
«Сети связи и системы коммутации»
(наименование профиля подготовки)
Квалификация (степень) выпускника
Академический бакалавриат
Форма обучения
Очная
Согласовано:
Начальник УМУ
________Ш.В. Дукаев
«____» ____________2015 г.
Рекомендовано кафедрой:
Протокол № _______
И.о. зав. кафедрой____С. Р. Шамилев
«____» ____________2015 г.
Грозный 2015 г.
Рецензент
кандидат технических наук, доцент Сайдаев Х. Л.-А.
Рабочая программа дисциплины «Алгоритмы и структуры данных» /сост. С. Р.
Шамилев – Грозный: ФГБОУ ВПО ЧГУ, 2014. – 24 с.
Рабочая программа предназначена для преподавания дисциплины вариативной части
студентам
очной
формы
обучения
по
направлению
подготовки
11.03.02
–
«Инфокоммуникационные технологии и системы связи» во 2 семестре.
Рабочая
программа
составлена
с
учетом
Федерального
государственного
образовательного стандарта высшего профессионального образования по направлению
11.03.02 – «Инфокоммуникационные технологии и системы связи», утвержденного приказом
Министерства образования и науки Российской Федерации от 06 марта 2015 г. № 174.
Составитель _______________ С.Р. Шамилев
(подпись)
 С.Р. Шамилев, 2015
 ФГБОУ ВПО ЧГУ, 2015
ОГЛАВЛЕНИЕ
1. ЦЕЛИ И ЗАДАЧИ ОСВОЕНИЯ ДИСЦИПЛИНЫ ................................................................ 4
2. МЕСТО ДИСЦИПЛИНЫ В СТРУКТУРЕ ООП ВПО .......................................................... 4
3. ТРЕБОВАНИЯ К РЕЗУЛЬТАТАМ ОСВОЕНИЯ СОДЕРЖАНИЯ ДИСЦИПЛИНЫ ....... 4
4. СОДЕРЖАНИЕ И СТРУКТУРА ДИСЦИПЛИНЫ (МОДУЛЯ) .......................................... 7
4.1. Содержание разделов дисциплины ...................................................................................... 8
4.2. Структура дисциплины .......................................................................................................... 9
4.3. Разделы дисциплины, изучаемые в 5 семестре ................................................................... 9
4.4. Лабораторные работы .......................................................................................................... 10
4.5. Практические занятия .......................................................................................................... 10
4.6. Курсовой проект (курсовая работа).................................................................................... 10
4.7. Самостоятельное изучение разделов дисциплины ........................................................... 11
5. ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ ............................................................................... 12
5.1. Интерактивные образовательные технологии, используемые в аудиторных занятиях 12
6 ОЦЕНОЧНЫЕ СРЕДСТВА ДЛЯ ТЕКУЩЕГО КОНТРОЛЯ УСПЕВАЕМОСТИ И
ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ ...................................................................................... 13
6.1. Вопросы к зачету .................................................................................................................. 13
7. УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ (МОДУЛЯ) ................ 18
7.1. Основная литература. .......................................................................................................... 18
7.2. Дополнительная литература ................................................................................................ 18
7.3. Периодические издания ....................................................................................................... 20
7.4. Интернет-ресурсы ................................................................................................................ 21
7.5. Методические указания к лабораторным занятиям .......................................................... 23
7.6. Методические указания к практическим занятиям........................................................... 23
7.7. Методические указания к курсовому проектированию и другим видам самостоятельной
работы........................................................................................................................................... 23
7.8. Программное обеспечение современных информационно-коммуникационных технологий
....................................................................................................................................................... 23
8. МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ .......................... 23
ЛИСТ согласования рабочей программы ................................................................................. 24
Дополнения и изменения в рабочей программе дисциплины ................................................ 27
1. ЦЕЛИ И ЗАДАЧИ ОСВОЕНИЯ ДИСЦИПЛИНЫ
Цели и задачи изучения дисциплины «Алгоритмы и структуры данных.» соотносятся с
общими целями Государственного образовательного стандарта высшего образования по
профилю «Сети связи и системы коммутации» и предполагают получение более углубленных
профессиональных знаний, умений и навыков в различных областях деятельности по профилю
данной специальности.
Целями дисциплины «Алгоритмы и структуры данных.» являются изучение
применяемых в программировании сложных структур данных, операций над ними, способов
их описания.
Задачами дисциплины являются:
– ознакомление студентов с теорией структур данных, методами представления данных
на логическом (абстрактном) и физическом (машинном) уровнях;
– овладение студентами эффективными алгоритмами обработки различных структур
данных;
– сравнительный анализ и оценка эффективности выбранных алгоритмов при решении
конкретных задач;
– формирование умений и навыков разработки алгоритмов решения задач со сложной
организацией данных.
2. МЕСТО ДИСЦИПЛИНЫ В СТРУКТУРЕ ООП ВПО
Дисциплина относится к дисциплинам по выбору вариативной части математического
и естественнонаучного цикла. Изучение дисциплины базируется на знаниях, полученных при
изучении дисциплин: «Программирование», «Информатика», «Математика.
Освоение дисциплины необходимо для изучения следующих дисциплин: «Базы
данных»,
«Web-технологии»,
«Интеллектуальные
инфокоммуникационные
системы»,
«Проектирование и эксплуатация инфокоммуникационных систем и сервисов», для учебной и
производственной практики, выпускной квалификационной работы.
3.
ТРЕБОВАНИЯ
К
РЕЗУЛЬТАТАМ
ОСВОЕНИЯ
СОДЕРЖАНИЯ
ДИСЦИПЛИНЫ
Процесс изучения дисциплины направлен на формирование элементов следующих
компетенций:
ОК-7 – способностью к самоорганизации и самообразованию;
ОПК-1 – способностью понимать сущность и значение информации в развитии
современного информационного общества, сознавать опасности и угрозы возникающие в этом
процессе, соблюдать основные требования информационной безопасности, в том числе
защиты государственной тайны;
ОПК-2 – способностью решать стандартные задачи профессиональной деятельности на
основе
информационной
и
библиографической
культуры
с
применением
инфокоммуникационных технологий и с учетом основных требований информационной
безопасности;
ПК-1 – готовностью содействовать внедрению перспективных технологий и
стандартов;
ПК-5 – способностью проводить работы по управлению потоками трафика на сети;
ПК-8 – умением собирать и анализировать информацию для формирования исходных
данных для проектирования средств и сетей связи и их элементов;
ПК-9 – умением проводить расчеты по проекту сетей, сооружений и средств
инфокоммуникаций в соответствии с техническим заданием с использованием как
стандартных
методов,
приемов
и
средств
автоматизации
проектирования,
так
и
самостоятельно создаваемых оригинальных программ.
В результате изучения дисциплины студенты должны
Знать:
• Разновидности структур данных, используемых на различных уровнях представления
данных, определяемых этапами проектирования программы;
• Основные алгоритмы обработки структур данных: пополнение, удаление,
модификация, поиск, сортировка (упорядочение);
• Языковые средства описания различных структур данных;
Уметь:
• Проводить структурирование информационного пространства заданной предметной
области;
• На основе анализа разрабатываемой задачи (программы) выбирать наиболее
рациональные и экономичные структуры данных, обеспечивающие эффективную реализацию
задачи (программы);
• Разрабатывать эффективные алгоритмы обработки данных и программировать их на
известных языках программирования.
Владеть:
• Методологией проектирования программ со сложной организацией данных, начиная
с разработки модели предметной области и кончая описанием алгоритмов и структур данных
средствами языка программирования.
Приобрести опыт:

формализации предметной области.
4. СОДЕРЖАНИЕ И СТРУКТУРА ДИСЦИПЛИНЫ (МОДУЛЯ)
№
раздела
Наименование раздела
1
Введение
2
Числовые алгоритмы
3
Рекуррентные
соотношения
4
Элементарные
структуры данных
5
Более сложные
структуры данных
6
Алгоритмы сортировки
7
Декомпозиция графов
8
Пути в графах
9
Максимальный поток
10
Жадные алгоритмы
11
Динамическое
программирование
12
13
14
Поиск подстроки в
строке
Поиск подстроки в
строке
Базовые
геометрические
алгоритмы
Содержание раздела
Вычисление чисел Фибоначчи (с рекурсией и без). Сортировка вставками. Время
работы алгоритма. Скорость роста функций (логарифм, полином, экспонента).
Анализ времени работы алгоритмов.
Элементарная арифметика: сложение, умножение, деление. Арифметика
сравнений: сложение, умножение, возведение в степень, алгоритм Евклида,
расширенный алгоритм Евклида, деление. Проверка чисел на простоту. Генерация
случайных простых чисел. Криптография: схемы с закрытым ключом, RSA.
Универсальное хеширование.
Умножение чисел (простой рекурсивный алгоритм, улучшенный алгоритм).
Рекуррентные соотношения.
Список и массив (массив и список как структуры данных, поддерживающие
основные словарные операции; сравнение по времени и по памаяти).
Расширяющийся массив (почему массив нужно увеличивать не на константу, а в
константу раз). Стек и очередь.
Хеш-таблица (хеширование с открытой адресацией, хеширование со списками,
хеш-функции для чисел и строк). Корневое дерево (бинарное дерево, дерево с
произвольным ветвлением, представление "левый ребёнок — правый сосед").
Двоичное дерево поиска (все операции выполняются за время, пропорциональное
высоте). АВЛ- дерево (как поддерживать дерево сбалансированным при вставке и
удалении). Очередь с приоритетами (структура данных, позволяющая удалять,
вставлять и находить минимум/максимум; сравнение реализаций массивом,
отсортированным массивом, кучей).
Сортировка слиянием. Сортировка с помощью кучи. Нижняя оценка. для
сортировки. Быстрая сортировка. Сортировка подсчётом и цифровая сортировка.
Порядковые статистики (нахождение за линейное в среднем и худшем случае
время).
Графы и способы их представления: способы использования графов; способы
представления графов: список рёбер, матрица смежности, списки смежности;
плюсы и минусы каждого из подходов. Поиск в глубину в неориентированных
графах: обход вершин, достижимых из данной; рёбра дерева и обратные рёбра;
время работы поиска в глубину. Связность неориентированных графов: выделение
компонент связности неориентированного графа. Поиск в глубину в
ориентированных графах: типы рёбер: ребро дерева, прямое, обратное,
пересекающее. Ориентированные ациклические графы: в графе есть цикл тогда и
только тогда, когда поиск в глубину находит обратное ребро; топологическая
сортировка вершин - в порядке уменьшения post-значений; наличие стока и истока
в ациклическом графе.
Расстояния в графе: определение расстояния между двумя вершинами. Поиск в
ширину: обход вершин графа в порядке увеличения расстояний от исходной
вершины; дерево кратчайших путей; доказательство корректности; оценка на время
работы; сравнение с поиском в глубину. Алгоритм Дейкстры: адаптация поиска в
ширину введением дополнительных вершин; установка будильников; алгоритм
Дейкстры; альтернативный взгляд на алгоритм: последовательное расширение
множества вершин, до которых расстояние уже посчитано; время работы
алгоритма при различных реализациях очереди с приоритетами. Кратчайшие пути
при наличии рёбер отрицательного веса: вызов update для всех ребер графа;
алгоритм Беллмана-Форда; определение наличия цикла отрицательного веса в
графе. Кратчайшие пути в ациклических ориентированных графах: достаточно
перебирать вершины в порядке топологиечской сортировки и вызывать update для
всех соседей.
Определение сети и потока; задача линейного программирования. Метод ФордаФалкерсона: определение остаточной сети
Задача о выборе заявок. Минимальное покрывающее дерево. Коды Хаффмена.
Покрытие множествами. Вершинное покрытие.
Ещё раз о кратчайших путях в ациклических ориентированных графах: нахождение
расстояний в порядке топологической сортировки вершин. Наибольшая
возрастающая подпоследовательность: подзадачи, порядок на подзадачах, граф
подзадач, сравнение с рекурсивным алгоритмом. Стоимость редактирования: граф
на подзадачах, нахождение кратчайшего пути в данном графе. Задача о рюкзаке:
рюкзак с повторениями и без, ленивые вычисления. Перемножение нескольких
матриц: представление порядка перемножения в виде дерева, оценка на количество
порядков. Независимые множества в деревьях Кратчайшие пути: кратчайшие пути
для всех вершин графа, задача о коммивояжере.
Простейший алгоритм. Нахождение подстроки при помощи конечного автомата:
общие идеи; примеры для строчек и Алгоритм Кнута-Морриса-Пратта
Построение суффиксного дерева и массива за линейное время.
Базовые геометрические алгоритмы.
Форма
текущего
контроля
Р
ДЗ
Эссе
Быстрое вычисление значений многочлена в точках: два способа задания
многочленов — коэффициентами и значениями в точках; вычисление значений
многочлена в точках методом "разделяй и властвуй"; дискретное преобразование
Фурье; быстрое преобразование Фурье. Интерполяция: интерполяция в терминах
матриц; матрица Вандермонда; интерполяция как домножение на обратную
матрицу.
Проверка результата перемножения матриц. Проверка равенства длинных строк.
Проверка равенства многочленов. Проверка эквивалентности ветвящихся
программ.
Вероятностный алгоритм для нахождения минимального сечения. Нахождение
кратчайших расстояний между всеми парами вершин графа. Минимальное
покрывающее дерево.
15
Быстрое
преобразование Фурье
16
Вероятностные
алгоритмы
17
Вероятностные
алгоритмы
18
Алгоритмы,
обрабатывающие вход
по мере поступления
Алгоритмы для задачи кэширования и задачи о покрытии множествами.
19
NP-полные задачи
Введение: во многих задачах решение ищется среди экспоненциального большого
множества кандидатов. Задача пропозициональной выполнимости: задача поиска;
алгоритм, задающий задачу поиска. Задача о коммивояжере: оптимизационные
задачи и задачи поиска; сравнение с задачей о нахождении покрывающего дерева.
Задачи о независимом множестве, вершинном покрытии и клике, длиннейший
путь. Задача о рюкзаке и сумме подмножества: задача об унарном рюкзаке; задача
о сумме подмножества как более просто формулирующася задача. Сложные и
простые задачи: сравнение нескольких пар задач, которые формулируются похоже,
но имеют разную сложность; простые задачи просты по многим различным
причинам, в то время как сложные задачи сложны по одной и той же причине.
20
Точные алгоритмы для
NP-полных задач
алгоритм для задачи о максимальном разрезе, основанный на быстром умножении
матриц, алгоритм для задачи 3-выполнимости, основанный на локальном поиске,
алгоритм для задачи о сумме подмножества, основанный на бинарном поиске.
21
Точные алгоритмы для
NP-полных задач
Алгоритмы, основанные на применении формулы включений-исключений.
22
Приближенные
алгоритмы для NPполных задач
2-приближенный алгоритм для задачи о вершинном покрытии: на каждом шаге
выбирается непокрытое ребро и оба его конца помещаются в множество. Задача о
коммивояжере в метрическом пространстве: определение и доказательство NPполноты. 2- и 3/2-приближенные алгоритмы для задачи о коммивояжере в
метрическом пространстве. Неприближаемость задачи о коммивояжере в общем
случае.
23
Приближенные
алгоритмы для NPполных задач
Алгоритмы, основанные на решении задачи полуопределённого
программирования.
Р
ДЗ
Эссе
4.1. Содержание разделов дисциплины
В графе 4 приводятся планируемые формы текущего контроля: защита лабораторной
работы (ЛР), выполнение курсового проекта (КП), курсовой работы (КР), расчетнографического задания (РГЗ), домашнего задания (ДЗ), написание реферата (Р), эссе (Э),
коллоквиум (К), рубежный контроль (РК), тестирование (Т) и т.д.
4.2. Структура дисциплины
Общая трудоемкость дисциплины составляет 12 зачетные единицы (432 часов)
Вид работы
Трудоемкость, часов
432
144
Общая трудоемкость
Аудиторная работа:
Лекции (Л)
Практические занятия (ПЗ)
72
72
252
Лабораторные работы (ЛР)
Самостоятельная работа:
Курсовой проект (КП), курсовая работа (КР)[1]
Расчетно-графическое задание (РГЗ)
Реферат (Р)
8
8
8
Эссе (Э)
Домашнее задание
Самостоятельное изучение разделов:
Контрольная работа (К)
Самоподготовка (проработка и повторение лекционного материала и материала учебников и учебных
пособий, подготовка к лабораторным и практическим занятиям, коллоквиумам, рубежному контролю и
т.д.),
228
Подготовка и сдача экзамена
36
экзамен
Вид итогового контроля (зачет, экзамен)
4.3. Разделы дисциплины, изучаемые во 2 семестре
№
раздела
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Наименование разделов
Введение
Числовые алгоритмы
Рекуррентные соотношения
Элементарные структуры данных
Более сложные структуры данных
Алгоритмы сортировки
Декомпозиция графов
Пути в графах
Максимальный поток
Жадные алгоритмы
Динамическое программирование
Поиск подстроки в строке
Поиск подстроки в строке
Базовые геометрические алгоритмы
Быстрое преобразование Фурье
Вероятностные алгоритмы
Вероятностные алгоритмы
Алгоритмы, обрабатывающие вход по мере
поступления
NP-полные задачи
Точные алгоритмы для NP-полных задач
Точные алгоритмы для NP-полных задач
Приближенные алгоритмы для NP-полных задач
Приближенные алгоритмы для NP-полных задач
Итого:
Количество
часов
2
2
2
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
72
Аудиторная
работа
Л
ПЗ
ЛР
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
72
4
4
4
4
4
72
Внеаудиторная
работа
10
10
10
10
10
10
10
10
10
10
10
10
12
12
12
12
12
12
12
12
12
12
12
252
4.4. Лабораторные работы
№ раздела
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Наименование разделов
Введение
Числовые алгоритмы
Рекуррентные соотношения
Элементарные структуры данных
Более сложные структуры данных
Алгоритмы сортировки
Декомпозиция графов
Пути в графах
Максимальный поток
Жадные алгоритмы
Динамическое программирование
Поиск подстроки в строке
Поиск подстроки в строке
Базовые геометрические алгоритмы
Быстрое преобразование Фурье
Вероятностные алгоритмы
Вероятностные алгоритмы
Алгоритмы, обрабатывающие вход по мере поступления
NP-полные задачи
Точные алгоритмы для NP-полных задач
Точные алгоритмы для NP-полных задач
Приближенные алгоритмы для NP-полных задач
Приближенные алгоритмы для NP-полных задач
4.5. Практические занятия
№ раздела
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Наименование разделов
Введение
Числовые алгоритмы
Рекуррентные соотношения
Элементарные структуры данных
Более сложные структуры данных
Алгоритмы сортировки
Декомпозиция графов
Пути в графах
Максимальный поток
Жадные алгоритмы
Динамическое программирование
Поиск подстроки в строке
Поиск подстроки в строке
Базовые геометрические алгоритмы
Быстрое преобразование Фурье
Вероятностные алгоритмы
Вероятностные алгоритмы
Алгоритмы, обрабатывающие вход по мере поступления
NP-полные задачи
Точные алгоритмы для NP-полных задач
Точные алгоритмы для NP-полных задач
Приближенные алгоритмы для NP-полных задач
Приближенные алгоритмы для NP-полных задач
4.6. Курсовой проект (курсовая работа)
Не предусмотрены
4.7. Самостоятельное изучение разделов дисциплины
№ раздела
Вопросы, выносимые на самостоятельное изучение
1
Введение
2
Числовые алгоритмы
3
Рекуррентные соотношения
4
Элементарные структуры данных
5
Более сложные структуры данных
6
Алгоритмы сортировки
7
Декомпозиция графов
8
Пути в графах
9
Максимальный поток
10
Жадные алгоритмы
11
Динамическое программирование
12
Поиск подстроки в строке
13
Поиск подстроки в строке
14
Базовые геометрические алгоритмы
15
Быстрое преобразование Фурье
16
Вероятностные алгоритмы
17
Вероятностные алгоритмы
18
Алгоритмы, обрабатывающие вход по мере поступления
19
NP-полные задачи
20
Точные алгоритмы для NP-полных задач
21
Точные алгоритмы для NP-полных задач
22
Приближенные алгоритмы для NP-полных задач
23
Приближенные алгоритмы для NP-полных задач
5. ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ
Предусмотрено использование в учебном процессе активных форм проведения занятий
(индивидуальный
и
фронтальный
опрос
в
ходе
занятий,
контроль
выполнения
индивидуальных и групповых заданий, заслушивание рефератов и эссе, обсуждение,
дискуссии, разработка конкретных ситуаций, компьютерных симуляций, деловых и ролевых
игр, разбор конкретных ситуаций, компьютерные и иные тренинги).
Внеаудиторные работы проводятся в компьютерном классе с использованием
современных программных систем, проектора, интерактивной доски, интернет.
5.1. Интерактивные образовательные технологии, используемые в аудиторных
занятиях
Семестр
3
Итого:
Вид занятия (Л, ПР,
ЛР)
Л
ПР
ЛР
Используемые интерактивные образовательные
технологии
Компьютер, интерактивная доска, интернет
Компьютер, интерактивная доска, интернет
Компьютерный класс, интерактивная доска,
интернет
Количество часов
72
72
144
6 ОЦЕНОЧНЫЕ СРЕДСТВА ДЛЯ ТЕКУЩЕГО КОНТРОЛЯ УСПЕВАЕМОСТИ
И ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ
6.1. Вопросы к зачету
1.
Вычисление чисел Фибоначчи (с рекурсией и без)
2.
Сортировка вставками
3.
Время работы алгоритма
4.
Скорость роста функций (логарифм, полином, экспонента)
5.
Анализ времени работы алгоритмов
6.
Элементарная арифметика: сложение, умножение, деление
7.
Арифметика сравнений: сложение, умножение, возведение в степень, алгоритм
Евклида, расширенный алгоритм Евклида, деление
8.
Проверка чисел на простоту
9.
Генерация случайных простых чисел
10. Криптография: схемы с закрытым ключом, RSA
11. Универсальное хеширование
12. Умножение чисел (простой рекурсивный алгоритм, улучшенный алгоритм)
13. Рекуррентные соотношения
14. Список и массив (массив и список как структуры данных, поддерживающие
основные словарные операции; сравнение по времени и по памаяти)
15. Расширяющийся массив (почему массив нужно увеличивать не на константу, а в
константу раз)
16. Стек и очередь
17. Хеш-таблица (хеширование с открытой адресацией, хеширование со списками,
хеш-функции для чисел и строк)
18. Корневое дерево (бинарное дерево, дерево с произвольным ветвлением,
представление "левый ребёнок — правый сосед")
19. Двоичное дерево поиска (все операции выполняются за время, пропорциональное
высоте)
20. АВЛ- дерево (как поддерживать дерево сбалансированным при вставке и удалении)
21. Очередь с приоритетами (структура данных, позволяющая удалять, вставлять и
находить минимум/максимум; сравнение реализаций массивом, отсортированным массивом,
кучей)
22. Хеш-таблица (хеширование с открытой адресацией, хеширование со списками,
хеш-функции для чисел и строк)
23. Корневое дерево (бинарное дерево, дерево с произвольным ветвлением,
представление "левый ребёнок — правый сосед")
24. Двоичное дерево поиска (все операции выполняются за время, пропорциональное
высоте)
25. АВЛ- дерево (как поддерживать дерево сбалансированным при вставке и удалении)
26. Очередь с приоритетами (структура данных, позволяющая удалять, вставлять и
находить минимум/максимум; сравнение реализаций массивом, отсортированным массивом,
кучей)
27. Хеш-таблица (хеширование с открытой адресацией, хеширование со списками,
хеш-функции для чисел и строк)
28. Корневое дерево (бинарное дерево, дерево с произвольным ветвлением,
представление "левый ребёнок — правый сосед")
29. Двоичное дерево поиска (все операции выполняются за время, пропорциональное
высоте)
30. АВЛ- дерево (как поддерживать дерево сбалансированным при вставке и удалении)
31. Очередь с приоритетами (структура данных, позволяющая удалять, вставлять и
находить минимум/максимум; сравнение реализаций массивом, отсортированным массивом,
кучей)
32. Сортировка слиянием
33. Сортировка с помощью кучи
34. Нижняя оценка
35. для сортировки
36. Быстрая сортировка
37. Сортировка подсчётом и цифровая сортировка
38. Порядковые статистики (нахождение за линейное в среднем и худшем случае
время)
39. Графы и способы их представления: способы использования графов; способы
представления графов: список рёбер, матрица смежности, списки смежности; плюсы и минусы
каждого из подходов
40. Поиск в глубину в неориентированных графах: обход вершин, достижимых из
данной; рёбра дерева и обратные рёбра; время работы поиска в глубину
41. Связность
неориентированных
графов:
выделение
компонент
связности
неориентированного графа
42. Поиск в глубину в ориентированных графах: типы рёбер: ребро дерева, прямое,
обратное, пересекающее
43. Ориентированные ациклические графы: в графе есть цикл тогда и только тогда,
когда поиск в глубину находит обратное ребро; топологическая сортировка вершин - в порядке
уменьшения post-значений; наличие стока и истока в ациклическом графе
44. Расстояния в графе: определение расстояния между двумя вершинами
45. Поиск в ширину: обход вершин графа в порядке увеличения расстояний от
исходной вершины; дерево кратчайших путей; доказательство корректности; оценка на время
работы; сравнение с поиском в глубину
46. Алгоритм Дейкстры: адаптация поиска в ширину введением дополнительных
вершин; установка будильников; алгоритм Дейкстры; альтернативный взгляд на алгоритм:
последовательное расширение множества вершин, до которых расстояние уже посчитано;
время работы алгоритма при различных реализациях очереди с приоритетами
47. Кратчайшие пути при наличии рёбер отрицательного веса: вызов update для всех
ребер графа; алгоритм Беллмана-Форда; определение наличия цикла отрицательного веса в
графе
48. Кратчайшие
пути
в
ациклических
ориентированных
графах:
достаточно
перебирать вершины в порядке топологиечской сортировки и вызывать update для всех
соседей
49. Расстояния в графе: определение расстояния между двумя вершинами
50. Поиск в ширину: обход вершин графа в порядке увеличения расстояний от
исходной вершины; дерево кратчайших путей; доказательство корректности; оценка на время
работы; сравнение с поиском в глубину
51. Алгоритм Дейкстры: адаптация поиска в ширину введением дополнительных
вершин; установка будильников; алгоритм Дейкстры; альтернативный взгляд на алгоритм:
последовательное расширение множества вершин, до которых расстояние уже посчитано;
время работы алгоритма при различных реализациях очереди с приоритетами
52. Кратчайшие пути при наличии рёбер отрицательного веса: вызов update для всех
ребер графа; алгоритм Беллмана-Форда; определение наличия цикла отрицательного веса в
графе
53. Кратчайшие
пути
в
ациклических
ориентированных
графах:
достаточно
перебирать вершины в порядке топологиечской сортировки и вызывать update для всех
соседей
54. Определение сети и потока; задача линейного программирования
55. Метод Форда-Фалкерсона: определение остаточной сети
56. Задача о выборе заявок
57. Минимальное покрывающее дерево
58. Коды Хаффмена
59. Покрытие множествами
60. Вершинное покрытие
61. Ещё раз о кратчайших путях в ациклических ориентированных графах: нахождение
расстояний в порядке топологической сортировки вершин
62. Наибольшая возрастающая подпоследовательность: подзадачи, порядок на
подзадачах, граф подзадач, сравнение с рекурсивным алгоритмом
63. Стоимость редактирования: граф на подзадачах, нахождение кратчайшего пути в
данном графе
64. Задача о рюкзаке: рюкзак с повторениями и без, ленивые вычисления
65. Перемножение нескольких матриц: представление порядка перемножения в виде
дерева, оценка на количество порядков
66. Независимые множества в деревьях Кратчайшие пути: кратчайшие пути для всех
вершин графа, задача о коммивояжере
67. Простейший алгоритм
68. Нахождение подстроки при помощи конечного автомата: общие идеи; примеры для
строчек и Алгоритм Кнута-Морриса-Пратта
69. Построение суффиксного дерева и массива за линейное время
70. Базовые геометрические алгоритмы
71. Быстрое вычисление значений многочлена в точках: два способа задания
многочленов — коэффициентами и значениями в точках; вычисление значений многочлена в
точках методом "разделяй и властвуй"; дискретное преобразование Фурье; быстрое
преобразование Фурье
72. Интерполяция: интерполяция в терминах матриц; матрица Вандермонда;
интерполяция как домножение на обратную матрицу
73. Проверка результата перемножения матриц
74. Проверка равенства длинных строк
75. Проверка равенства многочленов
76. Проверка эквивалентности ветвящихся программ
77. Вероятностный алгоритм для нахождения минимального сечения
78. Нахождение кратчайших расстояний между всеми парами вершин графа
79. Минимальное покрывающее дерево
80. Алгоритмы для задачи кэширования и задачи о покрытии множествами
81. Введение: во многих задачах решение ищется среди экспоненциального большого
множества кандидатов
82. Задача пропозициональной выполнимости: задача поиска; алгоритм, задающий
задачу поиска
83. Задача о коммивояжере: оптимизационные задачи и задачи поиска; сравнение с
задачей о нахождении покрывающего дерева
84. Задачи о независимом множестве, вершинном покрытии и клике, длиннейший путь
85. Задача о рюкзаке и сумме подмножества: задача об унарном рюкзаке; задача о
сумме подмножества как более просто формулирующася задача
86. Сложные и простые задачи: сравнение нескольких пар задач, которые
формулируются похоже, но имеют разную сложность; простые задачи просты по многим
различным причинам, в то время как сложные задачи сложны по одной и той же причине
87. алгоритм для задачи о максимальном разрезе, основанный на быстром умножении
матриц, алгоритм для задачи 3-выполнимости, основанный на локальном поиске, алгоритм
для задачи о сумме подмножества, основанный на бинарном поиске
88. Алгоритмы, основанные на применении формулы включений-исключений
89. 2-приближенный алгоритм для задачи о вершинном покрытии: на каждом шаге
выбирается непокрытое ребро и оба его конца помещаются в множество
90. Задача
о
коммивояжере
в
метрическом
пространстве:
определение
и
доказательство NP-полноты
91. 2- и 3/2-приближенные алгоритмы для задачи о коммивояжере в метрическом
пространстве
92. Неприближаемость задачи о коммивояжере в общем случае
93. Алгоритмы,
программирования
основанные
на
решении
задачи
полуопределённого
7. УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ (МОДУЛЯ)
7.1. Основная литература.
Котов В.М., Соболевская Е.П., Толстиков А.А. Алгоритмы и структуры данных Минск:
Белорусский государственный университет, 2011. — 267 с.
7.2. Дополнительная литература
R. Motwani, P. Raghavan. Randomized Algorithms. Cambridge University Press, 1995.
Sanjoy Dasgupta, Christos H. Papadimitriou, and Umesh Vazirani. Algorithms. McGraw-Hill,
2006.
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. The
MIT Press, Cambridge, second edition, 2001.
А. Шень. Программирование: теоремы и задачи. М., МЦНМО, 2-е издание, 2004.
Алгоритмы и структуры данных. Автор: Гагарина Л. Г., Колдаев В. Д. Год: 2009
Издание: Финансы и статистика, Инфра-М Страниц: 304 ISBN: 978-5-279-03351-5, 978-5-16003682-3
Ахо А., Хопкрофт Дж., Ульман Дж. Структуры данных и алгоритмы. Перевод с
английского: Учебное пособие — Издательский дом «Вильяме», 2000. — 384 с.
Бабилунга О.Ю., Годовиченко Н.А. Алгоритмы сортировки. Практическая работа. Одесса: Одесский национальный политехнический университет, 2012. - 18 с.
Белов М.П. Основы алгоритмизации и программирования. Учебное пособие. — СПб.:
СЗТУ, 2003. — 85 с.
Вирт Н. Алгоритмы и структуры данных. Новая версия для Оберона. ДМК Пресс, 2010.
- 274 с.
Вирт Н. Алгоритмы+структуры данных=программы. М.: Мир, 1985. — 406 c., ил. —
(Серия «Математическое обеспечение ЭВМ»). Перевод с английского Л.Ю. Иоффе под
редакцией Д.Б. Подшивалова.
Джон
Макгрегор,
Девид
Сайке.
Тестирование
объектно-ориентированного
программного обеспечения. Практическое пособие. - К.: Издательство ДиаСофт, 2002.
Дубровский О.И., Лихачев Е.Р. и др.Задачи по программированию. Часть 1. Базовые
алгоритмические конструкции: Практикум. Воронеж: Изд-во ВГУ, 2005. - 19 с.
Жданова Т.А. Основы алгоритмизации и программирования. Учебное пособие / Т.А.
Жданова, Ю.С. Бузыкова. - Хабаровск: Изд-во Тихоокеан. гос.ун-та, 2011. - 56 с.
Заковряшин А.И. Алгоритмизация и программирование вычислительных задач. Учебное пособие. — М.: САЙНС-ПРЕСС, 2002. — 80 с.: ил.
Землянухина Л.Н. Алгоритмы оптимизации на графах (учебное пособие). - Ростов-наДону: ФГОУ ВПО «Южный федеральный университет», 2008. – 87 с.
Златопольский Д. Программирование: типовые задачи, алгоритмы, методы. М.:
БИНОМ. Лаборатория знаний, 2012.— 223 с.
Калмыкова
О.В.,
Грибанов
В.П.,
Сорока
Р.И.
Основы
алгоритмизации
и
программирования. Учебное пособие, руководство по изучению дисциплины, практикум,
учебная программа / Московский государственный университет экономики, статистики и
информатики. – М.,2004. – 220 с.
Кара-Ушанов В.Ю. Базовые алгоритмы. - Екатеринбург: ГОУ ВПО «Уральский
государственный технический университет – УПИ», 2007. – 14 с.
Ковригин Б.Н. Алгоритмы умножения. - М.: Московский инженерно-физический
институт (государственный университет), 2007. – 40 с.
Красиков И.В., Красикова И.Е. Алгоритмы. Просто как 2х2. М.: Эксмо, 2007. —247 с.
— ISBN 978-5-699-21047-3.
Крук Е.А., Овчинников А.А. Методы программирования и прикладные алгоритмы:
Учебное
пособие.
–
СПб.:
Санкт-Петербургский
государственный
университет
аэрокосмического приборостроения, 2007. – 166 с.
Кузин С.Г. Основы алгоритмизации. Методическое руководство для самостоятельного
изучения. / Сост. С.Г.Кузин. Н.Новгород - ННГУ, 2004. - 38с.
Курапова Е.В., Мачикина Е.П. Структуры и алгоритмы обработки данных: Учебное
пособие. – Новосибирск: Сибирский гос. ун-т телекоммуникаций и информатики, 2006. – 105
с.
Логинов В.И., Шемагина Л.Н. Основы алгоритмизации. Учебно-методическое пособие
для студентов очного и заочного обучения технических специальностей. - Н. Новгород: Издво ФГОУ ВПО «ВГАВТ», 2010. - 81 с.
Павлова Л.Д., Балицкая Н.В. Типовые структуры алгоритмов. Новокузнецк: Сибирский
государственный индустриальный университет, 2010. – 27 с.
Регеда В.В., Регеда О.Н. Основы алгоритмизации. Пенза, Издательство Пензенского
государственного университета, 2008 г., 56 с.
Роберт Седжвик. Фундаментальные алгоритмы на С Часть 5: Алгоритмы на графах. К.: Издательство ДиаСофт, 2003.
Роберт Седжвик. Фундаментальные алгоритмы на С. Части 1-4: Анализ/Структуры
данных/Сортировка/Поиск. - К.: Издательство ДиаСофт, 2003.
Рогозин С.А. Алгоритмы. Основные алгоритмические конструкции: Сборник задач.
Челябинск: Изд-во Челяб. гос. пед. ун-та, 2008. - 42 с.
Румбешт В.В. Структуры и алгоритмы компьютерной обработки данных: Учебнопрактическое пособие. Белгород: Изд-во БелГУ, 2007. - 149 с.
Сибуя М., Ямамото Т. Алгоритмы обработки данных. Мир, 1986. – 218 с. – ISBN: N/A
Смит Б. Методы и алгоритмы вычислений на строках. М.: ООО «И. Д. Вильямс», 2006.
- 496 с. - ISBN: 5-8459-1081-1
Смышляев В.А., Юшков С.А., Ульянин М.И., Никищенков С.А. Типовые алгоритмы
решения инженерных задач. – Самара: Самарский государственный университет путей
сообщения (СамГУПС), 2012. – 22 с.
Спиричева Н.Р. Структура данных и основные алгоритмы. Учебное пособие. Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2004. - 92 с.
Суриков В.Н., Кудрявцев А.С, Петров Г.А., Хардиков Е.В. Основы алгоритмизации
инженерных задач. Учебное пособие/ ГОУВПО СПБГТУ РП. СПб., 2008. - 158 С.: ил.49 —
ISBN 5-230-14417-1
Топоркова О.М. Модели данных и технологии их обработки. Модели данных и
технологии их обработки. Раздел дисциплины «Информационные системы»: Учебное
пособие. – Калининград: КГТУ, 2003, 115 с.
Федоряева Т.И. Комбинаторные алгоритмы: Учебное пособие. - Новосибирск:
Новосибирский гос. ун-т, 2011. - 118 с.
Фостер Дж. Обработка списков. -М.: МИР, 1974. 72 с.
Хохлов Д.Г. Структуры данных и комбинаторные алгоритмы: Учебное пособие. –
Казань: КГТУ (КАИ), 2000. – 102 с.
7.3. Периодические издания
• «Мир ПК», Издательство: «Открытые системы», М.
• «Компьютер», Издательство: ООО «Компьютер-Медиа»
• «Upgrade», Издательство: «Венето»
• «Windows IT Pro/RE», Издательство: «Открытые системы»
• «PC Magazine», Издательство: «СК Пресс»
7.4. Интернет-ресурсы
AlgLib - Библиотека алгоритмов http://alglib.manual.ru
Сайт, посвященный алгоритмам. Тематика весьма широка: Решение обыкновенных
дифференциальных уравнений, интегральных уравнений, систем линейных уравнений;
Численное интегрирование; Интерполяция; Поиск экстремумов функций; Комбинаторные
задачи; Операции с графами; Геометрические алгоритмы; Алгоритмы графики; Криптография
и многое другое. Главная особенность сайта – конкретная реализация алгоритмов на
различных языках программирования и наличие блок-схем. На странице каждого алгоритма
расположены его описание, исходник на AlgoPascal и ссылки на исходники на других языках
программирования. Предлагается бесплатная программа, предназначенная для создания и
редактирования блок-схем. Имеется подборка статей, посвященных различным алгоритмам.
Сайт-участник проекта Manual.ru.
AlgoList - алгоритмы, методы, исходники http://algolist.manual.ru
Авторский сайт Ильи Кантора, открыт в 2000 г. Обширное оглавление, разбитое на
основные рубрики: Математика; Сортировка; Структуры данных; Поиск. Строки и
последовательности; Графика; Защита информации и ее взлом; Разбор выражений.
Компиляторы и интерпретаторы; Сжатие и кодирование; АИ. ГА. Нейронные сети; Игры;
Разное. Подборка задач. Поддерживается форум. Существует CD-версия сайта.
SoftCraft - разноликое программирование http://www.softcraft.ru
Авторский сайт А.И.Легалова, доцента Красноярского государственного технического
университета, открыт в октябре 2000 г. Разделы: Автоматы; Нейроинформатика; Парадигмы;
Параллелизм; Проектирование; Теория; Техника кодирования; Трансляторы и др.
Поддерживается подписка на новости, форум.
Turbo Pascal, C\C++, Delphi, Basic - программы, контрольные, лабораторные, курсовые
работы http://www.pascal-c.ru
Подборка учебных и учебно-методических материалов по программированию на
языках высокого уровня Turbo Pascal, C\C++, Delphi, Basic. Материалы, посвященные общему
знакомству с ЭВМ, основам алгоритмизации, истории развития языков программирования и
др.
Анализ алгоритмов. Конспект лекций http://st.karelia.ru/Edu/AnalAlg/index.html
Материалы лекций по курсу «Анализ алгоритмов», прочитанному в Петрозаводском
государственному университете, размещены на студенческом сайте ПетрГУ в 1998 году.
Библиотека алгоритмов http://alglib.dore.ru
Авторский
сайт
Владимира
Быстрицкого,
преподавателя
Нижегородского
государственного университета. В библиотеке в основном собраны «математические»
алгоритмы, но есть и не имеющие прямого касательства к чистой математике. Содержание
определяется задачами, которые на данный момент приходится решать автору. Также
доступны разделы Ссылки и Литература. Поддерживаются поиск по сайту и форум.
Введение
в
генетические
методы
А.
/
Конушин
http://cgm.graphicon.ru/issue1/gagp_survey/
Статья нацелена на описание базовых основ генетических методов глобальной
оптимизации и автоматического программирования. Приводится краткое описание процесса
естественной эволюции, классификация эволюционных методов, основные алгоритмы.
Даются
начальные
сведения
по
применению
генетических
методов
для
систем
автоматического программирования. Автор - Антон Конушин. Материал опубликован в
онлайновом журнале «Графика и Мультимедиа» (вып. 1, 2003 г.).
Введение в дискретную математику и математическую кибернетику. Программа
спецкурса http://intsys.msu.ru/study/courses/discrmath.htm
Программа годового спецкурса, читаемого на кафедре Математической теории
интеллектуальных систем механико-математического факультета МГУ им. М.В.Ломоносова.
Включает темы: Функциональные системы; Дискретные структуры; Сложность схем;
Сложность алгоритмов; P- и NP- полнота; Криптография. Руководители курса: проф.
Кудpявцев В.Б., доц. Строгалов А.С.
Введение
в
компиляцию.
Учебный
курс
Д.В.
/
Рагозин
http://www.wl.unn.ru/~ragozin/compiler/compil/qwest.htm
Автор характеризует свой курс как «мини-курс молодого бойца по проектирование
компиляторов», опробованный в течении 10 лет на студентах одного из ведущих украинских
вузов. Приведен теоретический материалы, сгруппированный в 12 глав: 1. Введение, общие
понятия; 2. Грамматики и формальные языки; 3. Дерево синтаксического разбора; 4.
Классификация языков; 5. Распознаватели; 6. Лексический анализ; 7. Синтаксический анализ;
8. Нисходящий разбор; 9. Восходящий разбор; 10. Семантический анализ; 11. Генерация кода;
12. Автоматизация процесса проектирования компилятора. Имеются описание лабораторных
работ
и
дополнительные
материалы
(генераторы
лексических
и
синтаксических
анализаторов).
Введение
в
математическое
моделирование.
Курс
Интернет-университета
информационных технологий http://www.intuit.ru/department/calculate/intromathmodel/
В курсе рассмотрены вопросы, связанные с математическим моделированием, с
формой и принципом представления математических моделей, особенностях их построения.
Рассмотрены численные методы решения одномерных нелинейных систем. Освещаются
вопросы компьютерного моделирования и вычислительного эксперимента. Рассмотрены
методы обработки данных, полученных в результате научных или производственных
экспериментов; исследования различных процессов, выявления закономерностей в поведении
объектов, процессов и систем. Рассмотрены методы интерполирования и аппроксимации
опытных данных. Рассмотрены вопросы, связанные с компьютерным моделированием и
решением нелинейных динамических систем. В частности, рассмотрены методы численного
интегрирования и решения обыкновенных дифференциальных уравнений первого, второго и
более высоких порядков.
7.5. Методические указания к лабораторным занятиям
Для обеспечения текущего контроля прохождения дисциплины применяется балльнорейтинговая система, которая основана на использовании совокупности контрольных точек,
оптимально расположенных на всем временном интервале изучения дисциплины.
Дисциплина разделена на ряд логически завершенных блоков (модулей), по которым
проводится промежуточный контроль.
Итоговая оценка по курсу: определяется на основе суммы баллов, полученных по всем
разделам по результатам самостоятельной работы при условии, что студент по каждому виду
набрал количество баллов не менее зачетного минимума.
7.6. Методические указания к практическим занятиям
Не предусмотрено
7.7. Методические указания к курсовому проектированию и другим видам
самостоятельной работы
Не предусмотрено
7.8. Программное обеспечение современных информационно-коммуникационных
технологий
MS Windows; MS Office 2003/07; браузеры
8. МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
Компьютерный класс с мультимедийным оборудованием и доступом к сети Интернет.
Приложение В (обязательное)
В1 Форма листа согласования рабочей программы дисциплины
ООП ВПО подготовки бакалавра и специалиста
Приложение 1
к приказу №____
от «_____» 2011 г.
ЛИСТ
согласования рабочей программы
Направление подготовки:
_____________________________________________________________
код и наименование
Специальность:1
_____________________________________________________________________
код и наименование
Специализация:1
____________________________________________________________________
наименование
Дисциплина:
_______________________________________________________________________
Форма обучения:
____________________________________________________________________
(очная, очно-заочная, заочная)
Учебный год ____________
РЕКОМЕНДОВАНА заседанием кафедры
_______________________________________________
наименование кафедры
протокол N ________от «___» __________ 20__г.
Ответственный исполнитель, заведующий кафедрой
________________________________________________________________________________
___
наименование кафедры подпись расшифровка подписи дата
Исполнители:
____________________________ ___________ ___________________ _________
должность подпись расшифровка подписи дата
____________________________ ___________ ___________________ _________
должность подпись расшифровка подписи дата
Рабочая программа зарегистрирована в УМУ под учетным номером __________ на правах
учебно-методического электронного издания.
Начальник УМУ
_______________________________________________________________________
личная подпись расшифровка подписи дата
1
Для рабочих программ ООП ВПО подготовки специалистов
СОГЛАСОВАНО:
Заведующий кафедрой2 _________________________________________________________
наименование кафедры личная подпись расшифровка подписи дата
Заведующий кафедрой ___________________________________________________________
наименование кафедры личная подпись расшифровка подписи дата
Председатель методической комиссии по специальности (направлению подготовки)
_____________________________________________________________________________
шифр наименование личная подпись расшифровка подписи дата
Заведующий отделом комплектования научной библиотеки
______________________________________________________________________________
личная подпись расшифровка подписи дата
Согласование осуществляется со всеми кафедрами, за которыми приказом закреплены дисциплины, изучение
которых опирается на данную дисциплину
2
В2 Форма листа согласования рабочей программы дисциплины
ООП ВПО подготовки магистра
ЛИСТ
согласования рабочей программы
Направление подготовки: _______________________________________________________
код и наименование
Наименование магистерской программы: __________________________________________
_____________________________________________________________________________
Дисциплина: __________________________________________________________________
Форма обучения: ______________________________________________________________
(очная, очно-заочная, заочная)
Учебный год ____________
РЕКОМЕНДОВАНА заседанием кафедры
____________________________________________________
наименование кафедры
протокол N ________от «___» __________ 20__г.
Ответственный исполнитель, заведующий кафедрой
_____________________________________________________________________________
наименование кафедры подпись расшифровка подписи дата
Исполнители:
_____________________________________________________________________________
должность подпись расшифровка подписи дата
_____________________________________________________________________________
должность подпись расшифровка подписи дата
СОГЛАСОВАНО:
Заведующий кафедрой3
_________________________________________________________
наименование кафедры личная подпись расшифровка подписи дата
Заведующий кафедрой _________________________________________________________
наименование кафедры личная подпись расшифровка подписи дата
Председатель методической комиссии, научный руководитель по направлению
подготовки __________________________________________________________________
код наименование личная подпись расшифровка подписи дата
Научный руководитель магистерской программы __________________________________
личная подпись расшифровка подписи дата
Заведующий отделом комплектования научной библиотеки
_____________________________________________________________________________
личная подпись расшифровка подписи дата
Рабочая программа зарегистрирована в УМУ под учетным номером __________ на правах
учебно-методического электронного издания.
Начальник УМУ_______________________________________________________________
личная подпись расшифровка подписи дата
Согласование осуществляется со всеми кафедрами, за которыми приказом закреплены дисциплины, изучение
которых опирается на данную дисциплину
3
Дополнения и изменения в рабочей программе дисциплины
В рабочую программу дополнения и изменения не внесены, утверждена на заседании
кафедры «Программирование и инфокоммуникационные технологии», протокол № ____ от
«____» ____________ 201 г.
Заведующий кафедрой
(подпись) (Ф.И.О.)
________________
С.Р. Шамилев
Одобрено советом факультета____________________________
протокол № ____ от «____» __________ 201 г.
Председатель ________________ _____________
(подпись) (Ф.И.О.)
Download