знать - Учебно-методические комплексы

реклама
РОССИЙСКАЯ ФЕДЕРАЦИЯ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
«УТВЕРЖДАЮ»:
Проректор по учебной работе
/Л.М. Волосникова/
«
»
2013 г.
ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Учебно-методический комплекс
Рабочая учебная программа для студентов
специальности 020501 – Биоинженерия и биоинформатика
Форма обучения - очная
ПОДГОТОВЛЕНО К ИЗДАНИЮ»:
Автор работы
« ____ » _____________ 2013 г.
/М.Н. Перевалова/
Рассмотрено
на
заседании
кафедры
математики
и
информатики
«12» сентября 2013. протокол № 1
Соответствует требованиям к содержанию, структуре и оформлению.
«РЕКОМЕНДОВАНО К ЭЛЕКТРОННОМУ ИЗДАНИЮ»:
Объем ___ стр.
Зав.кафедрой
/Т.В.Мальцева/
« _____ » ______________ 2013 г.
Рассмотрено на заседании УМК Института математики и компьютерных наук
«17» сентября, протокол № 2
Соответствует ФГОС ВПО и учебному плану образовательной программы.
Председатель УМК __________________/Н.М. Гаврилова/
«СОГЛАСОВАНО»:
и.о.директора ИБЦ____________________/Е.А. Ульянова /
«______»_____________2013 г.
«СОГЛАСОВАНО»:
Зав. методическим отделом УМУ____________/И.Ю.Фарафонова/
«______»_____________2013 г.
РОССИЙСКАЯ ФЕДЕРАЦИЯ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
Федеральное государственное бюджетное образовательное учреждение высшего
профессионального образования
ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
институт математики и компьютерных наук
кафедра математики и информатики
М.Н. Перевалова
ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Учебно-методический комплекс
Рабочая учебная программа для студентов
специальности 020501 – Биоинженерия и биоинформатика
Форма обучения - очная
Тюменский государственный университет
2013
М.Н. Перевалова ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ Учебно - методический
комплекс.
Учебно-методический комплекс. Рабочая учебная программа для студентов
специальности 020501 – Биоинженерия и биоинформатика
Форма обучения - очная. Тюмень, 2013, стр. ___.
«Учебно-методический
«ДИНАМИЧЕСКОЕ
комплекс
обеспечивает
ПРОГРАММИРОВАНИЕ»,
освоение
ориентированной
дисциплины
на
подготовку
специалистов специальности 020501 – Биоинженерия и биоинформатика
Рабочая учебная программа дисциплины опубликована на сайте ТюмГУ: Системы
компьютерной математики [электронный ресурс] / Режим доступа: http://www.umk.utmn.ru,
свободный.
Рекомендовано к изданию кафедрой математики и информатики Утверждено
первым проректором по учебной работе Тюменского государственного университета.
ОТВЕТСТВЕННЫЙ РЕДАКТОР: Т.В.Мальцева, д.ф.-м.н., доцент
© ФГБОУ ВПО Тюменский государственный университет, 2013
1. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
1.1 Цели и задачи дисциплины
Рабочая программа учебной дисциплины "Динамическое программирование"
предназначена для подготовки студентов специальности 020501 – Биоинженерия и
биоинформатика.
Изучение дисциплины требует от студентов знаний и навыков уверенной работы с
компьютером (опытный пользователь) и программирования.
Целями преподавания дисциплины являются:
-
изучение основных принципов динамического программирования;
-
изучение основных структур динамической памяти;
-
изучения принципов поиска по матрицам, деревьям и графам;
-
освоение понятия алгоритмической сложности.
В связи с этим, задачами преподавания дисциплины «Динамическое программирование»
являются:
-
программировать сложные типы данных;
-
составлять алгоритмы поиска в различных структурах;
-
программировать простые и сложные алгоритмы;
1.2. Компетенции выпускника ООП бакалавриата, формируемые в результате
освоения данной ООП ВПО.
В результате освоения ООП бакалавриата выпускник должен обладать следующими
компетенциями:
-
способностью понимать сущность и значение информации в развитии современного
информационного общества, сознавать опасности и угрозы, возникающие в этом
процессе, соблюдать основные
требования информационной безопасности, в том
числе защиты государственной тайны (ОК-14);
-
владением основными методами, способами и средствами получения, хранения,
переработки информации, наличием навыков работы с компьютером как средством
управления информацией (ОК-15);
в своей научно-исследовательской деятельности:
-
способностью
грамотно
и
самостоятельно
проводить
теоретическую
и
экспериментальную научно-исследовательскую работу в области биоинженерии,
биоинформатики и смежных дисциплин, а также оформлять ее в письменной форме,
излагать в устной форме и участвовать в различных формах дискуссий (ПК-1);
общепрофессиональные:
способностью создавать новые программные средства и базы данных, а также
-
использовать ресурсы сети Интернет (ПК-6);
способностью порождать новые идеи, выявлять фундаментальные проблемы,
-
формировать задачи, связанные с реализацией профессиональных функций,
использовать для их решения методы изученных ими наук (ПК-7);
1.3. Место дисциплины в структуре ООП бакалавриата
Дисциплина " Динамическое программирование " относится к вариативной части
естественно-математического
программирование "
"Информатика и
цикла.
Содержание
дисциплины
"
Динамическое
базируется на знаниях, полученных в курсах Информатика,
программирование".
Приобретенные знания и навыки будут
использованы студентами при изучении дисциплины "Системный анализ" и "Базы данных".
В результате освоения дисциплины обучающийся должен:
знать
-
основные понятия и принципы динамического программирования;
-
типы данных, и их внутренне представление;
-
типы деревьев и методы поиска в деревьях;
-
структуры представления графов и операции поиска на графах;
-
способы представления файлов деревьями.
уметь
-
разрабатывать структуры данных для размещения в памяти компьютера;
-
программировать сложные типы данных;
-
составлять алгоритмы поиска в различных структурах;
-
программировать простые и сложные алгоритмы;
-
проводить отладку программы с использованием анализа выходных данных;
-
оценивать сложность алгоритма;
владеть навыками
-
программирования;
-
разнообразии алгоритмов поиска и сортировки;
-
методах оценки сложности алгоритмов.
2. СТРУКТУРА И ТРУДОЕМКОСТЬ ДИСЦИПЛИНЫ.
Семестр 4. Форма промежуточной аттестации - зачет. Общая трудоемкость дисциплины
составляет 2 зачетных единицы, 72 часа.
3. ТЕМАТИЧЕСКИЙ ПЛАН.
Модуль 1
Введение в предмет
Семинарс
кие
(практиче
Лаборатор
ские)
ные
занятия*
занятия*
Самостоя
тельная
работа*
Тема
Виды учебной работы и
самостоятельная работа, в
час.
Лекции*
№
недели семестра
Тематический план
В том
Итого
числе в
часов
интерак
по
тивной
теме
форме
Итого
количес
тво
баллов
1
1
1
2
4
2
0-10
Алгоритмы и их
свойства
2-3
2
2
4
8
2
0-10
Динамическое
программирование
4-6
2
2
4
8
2
0-10
5
5
10
20
6
0-30
7-9
1
1
3
5
2
0-10
10-11
2
2
3
7
2
0-10
12
2
2
4
8
2
0-10
5
5
10
20
6
0-30
13-14
3
3
10
16
2
0-20
15-18
3
3
10
16
2
0-20
6
6
20
32
4
0-40
16
16
40
72
16
0-100
Всего
Модуль 2
Линейные
однонаправленные
списки. Операции
над списками
Линейные
двунаправленные
списки
Бинарные деревья
поиска
Всего
Модуль 3
Работа с графами
Сложность
алгоритмов
Всего
Итого (часов,
баллов):
Из них в
интерактивной
форме
18
другие формы
электронные
практикум
эссе
реферат
тест
контрольная
работа
Письменные работы
лабораторная
работа
ответ на
семинаре
Собеседование
№ темы
Коллоквиумы
Устный опрос
Информа
ционные
системы
и
технолог
ии
Итого количество баллов
Виды и формы оценочных средств в период текущего контроля
Введение в предмет
10
0-10
Алгоритмы и их свойства
10
0-10
Динамическое
программирование
6
Линейные однонаправленные
списки. Операции над списками
10
0-10
Линейные двунаправленные
списки
10
0-10
Бинарные деревья поиска
4
6
0-10
10
10
0-20
10
10
0-20
Работа с графами
Сложность алгоритмов
4
0-10
0-100
Планирование самостоятельной работы студентов
Виды СРС
№
Модули и
темы
обязательные
дополнительные
Неделя
семестра
Объем
часов
Колво
балло
в
Модуль 1
Доработка
лекционного
материала. Чтение
литературы.
Доработка
Алгоритмы и
лекционного
их свойства
материала. Чтение
литературы.
Динамическое Доработка
программиров лекционного
материала. Чтение
ание
литературы.
Всего по модулю 1:
Модуль 2
Линейные
однонаправле Доработка
нные списки. лекционного
Операции над материала. Чтение
литературы.
списками
Введение в
предмет
Линейные
двунаправлен
ные списки
Доработка
лекционного
материала. Чтение
литературы.
Бинарные
Доработка
лекционного
деревья
материала.
поиска
литературы.
Всего по модулю 2:
Модуль 3
Доработка
Работа с
лекционного
графами
материала. Чтение
литературы.
Доработка
Сложность
лекционного
алгоритмов
материала. Чтение
литературы.
Всего по модулю 3:
ИТОГО:
Поиск
дополнительного
материала по
данной теме
Поиск
дополнительного
материала по
данной теме
Поиск
дополнительного
материала по
данной теме
1
0-10
2
2-3
0-10
4
4-6
0-10
4
10
0-30
7-9
0-10
Поиск
дополнительного
материала по
данной теме
Поиск
дополнительного
материала по
данной теме
Поиск
дополнительного
материала по
данной теме
3
10-11
0-10
3
12
0-10
4
10
Поиск
дополнительного
материала по
данной теме
Поиск
дополнительного
материала по
данной теме
0-30
13-14
0-20
10
15-18
0-20
10
20
40
0-40
0-100
4. РАЗДЕЛЫ ДИСЦИПЛИНЫ И МЕЖДИСЦИПЛИНАРНЫЕ СВЯЗИ С
ОБЕСПЕЧИВАЕМЫМИ (ПОСЛЕДУЮЩИМИ) ДИСЦИПЛИНАМИ
№
Наименование
п/
обеспечиваемых
п
(последующих)
1
2
3
4
5
6
7
8
дисциплин
1.
Системный анализ
+
+
+
+
+
2
Базы данных
+
+
+
+
+
+
5. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ.
Введение. Задачи и назначение курса. Формы представления информации: на уровне
пользователя, в компьютере. Необходимость алгоритмов для программирования.
Тема 1. Алгоритмы и их свойства. Программа и алгоритм. Основные свойства алгоритма.
Понятие данных. Способы представления алгоритма. Словесное описание алгоритма.
Основные конструкции алгоритма. Графическое представление алгоритма. Понятие
алгоритмического языка. Методы разработки алгоритмов: итерации, рекурсии, полный
перебор, балансировка.
Тема 2. Динамическое программирование. Организация массивов. Многомерные
массивы. Операции над массивами. Динамические массивы. Быстрый поиск: бинарный и
последовательный поиски в массивах, хеширование.
Тема 3. Линейные однонаправленные списки. Операции над списками. Построение
списка. Операции над списками. Кольцевые списки. Построение и вывод кольца.
Построение других структур на базе однонаправленных списков в динамической памяти:
очереди,
Тема
стеки,
4.
деки.
Линейные
Проведение
операций
двунаправленные
списки.
над
элементами
структур.
Формирование
линейного
двунаправленного списка. Способы организации поиска. Двунаправленные кольцевые
списки. Деки на базе двунаправленных списков. Формирование дека и его просмотр.
Проведение операций над элементами структур.
Тема 5. Бинарные деревья поиска. Построение бинарного дерева поиска. Дерево
отрезков. Способы обхода дерева. Изображение бинарного дерева. Поиск вершины в
бинарном дереве. Операции над вершинами в деревьях. Идеально сбалансированные
бинарные деревья. Балансированные по высоте деревья (АВЛ-деревья). Математический
анализ
АВЛ-деpевьев.
Построение
АВЛ-дерева.
Деревья
Фибоначчи.
Алгоритмы
балансировки.
Тема 6. Работа с графами. Представления графов. Список ребер. Списки смежности.
Реализация простейших операций над графами. Ортогональные списки смежности.
Структуры Вирта. Модифицированные структуры Вирта. Обходы графов. Путь между
фиксированными вершинами. Кратчайшие пути между всеми парами вершин. Вычисление
длин кратчайших путей между вершинами. Контуры в ориентированных графах.
Вычисление компонент связности, двусвязности. Остовы. Построение остова наименьшей
стоимости. Построение алгоритмов с возвратом. Алгоритмы раскраски графа. Задачи
поиска; исчерпывающий поиск: перебор с возвратом, метод ветвей и границ.
Тема 7.Сложность алгоритмов. Понятие о сложности алгоритма. Временная и емкостная
оценки сложности. Верхние и средние оценки сложности алгоритма. Анализ сложности
рекурсивных алгоритмов. Сложность операций с бинарными деревьями. Оптимизация
алгоритмов.
6. ПЛАНЫ ПРАКТИЧЕСКИХ ЗАНЯТИЙ
Тема 1. Организация массивов. Операции над массивами. Сортировки. Однонаправленные
списки. Операции над списками. Очередь. Операции над элементами очереди.
Кольца. Операции над кольцами. Стек. Работа со стеком. Дек. Работа с деком.
Тема 2. Двунаправленные списки. Работа с производными структурами: кольцами и деком.
Деревья. Построение дерева. Обходы деревьев. Операции с деревьями. Поиск заданной
вершины в дереве. Построение идеально сбалансированного дерева. Деревья Фибоначчи.
Построение АВЛ-дерева.
Тема 3. Представление формул с помощью дерева. Вычисление формул. Представление
графов с помощью ортогональных списков смежности.
Тема 4. Представление ориентированного графа с помощью динамической структуры
Вирта. Представление графа. Обходы графов.
Тема 5. Реализация программы отыскания множества вершин, принадлежащих контуру
заданной длины.
Тема 6. Представление графа. Вычисление компонент связности, двусвязности. Реализация
программы нахождения стягивающего дерева связного графа (рекурсивный обход графа в
глубину). Реализация программы нахождения стягивающего дерева связного графа с
использованием нерекурсивного обхода графа в ширину.
Тема 7. Реализация программы поиска гамильтонова пути в связном неориентированном
графе. Реализация программы нахождения всех клик в графе, заданном структурой Вирта.
Реализация программы последовательной раскраски вершин графа при помощи обхода
графа в глубину. Реализация программы последовательной раскраски графа при помощи
обхода графа в ширину. Реализация программы последовательной раскраски графа,
представленного с помощью модифицированных списков смежности.
7. УЧЕБНО - МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
СТУДЕНТОВ. ОЦЕНОЧНЫЕ СРЕДСТВА ДЛЯ ТЕКУЩЕГО КОНТРОЛЯ
УСПЕВАЕМОСТИ, ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ ПО ИТОГАМ ОСВОЕНИЯ
ДИСЦИПЛИНЫ (МОДУЛЯ).
Для самостоятельной работы студентов преподаватель раздает индивидуальные
задания по заданной теме. При проверке задания с каждым студентов проводится
собеседование, по результатам которого начисляются баллы за самостоятельную работу
обучаемого.
Пример самостоятельной работы:
ВОПРОСЫ К ЗАЧЕТУ
1.
Нелинейные структуры данных: классификация;
2.
деревья: ориентированные, упорядоченные и бинарные;
3.
представление деревьев в памяти компьютера: последовательное и связанное
размещение элементов;
4.
операции над деревьями; графы и их представление в компьютере;
5.
алгоритмы, оперирующие со структурами типа графа;
6.
задачи поиска;
7.
исчерпывающий поиск: перебор с возвратом, метод ветвей и границ, динамическое
программирование;
8.
быстрый поиск: бинарный и последовательный поиски в массивах, хеширование;
9.
использование деревьев в задачах поиска: бинарные, случайные бинарные,
оптимальные и сбалансированные деревья поиска;
10.
алгоритмы поиска на графах; задачи сортировки;
11.
внутренняя и внешняя сортировки; алгоритмы сортировки;
12.
анализ сложности и эффективности алгоритмов поиска и сортировки;
13.
файлы: организация и обработка, представление деревьями:
14.
B-деревья;
15.
теория
сложности
алгоритмов:
NP-сложные
и
трудно
решаемые
задачи.
8. ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ.
Активные формы: лекции, практические (лабораторные) занятия, контрольные
работы. В течении семестра студенты выполняют предложенные задания, готовят
сообщения. По каждой теме проводится контроль знаний.
Интерактивные формы: практическое решение ситуационных задач.
9. УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ
9.1 Основная литература:
1. В.Е. Алексеев, Графы и алгоритмы. Структуры данных. Модели вычислений. Гриф
УМО РФ,- Интуит, 2009.
2. Уайс Марк Аллен, Организация структур данных и решение задач на С++, -Эком,
2009.
3. Д.Ш.Матрос. Теория алгоритмов. Гриф УМО МО РФ, - Бином.Лаборатория знаний,
2008.
4. К.Касперски, Техника оптимизации программ. Эффективное использование памяти.
БХВ, 2005.
9.2 Дополнительная литература:
1. Н.Б. Культин, C/C++ в задачах и примерах, 2-е издание,- БХВ, 2009.
2. Б.С. Хусаинов Структуры и алгоритмы обработки данных. Примеры на языке
С. -Финансы и статистика, 2004.
3. Касьянов В.Н., Евстигнеев В.А. Графы в программировании: обработка,
визуализация и применение. СПб.: БХВ-Петербург, 2003.
4. Н.И. Савицкий, Технологии организации, хранения и обработки данных.
Учебное пособие, - Инфра-М, 2001.
5. Кнут Д.Э. Искусство программирования, тт.1-3. -Вильямс, 2000.
9.3 Программное обеспечение: Borland Delphi.
10. ТЕХНИЧЕСКИЕ СРЕДСТВА И МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ
ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ (МОДУЛЯ).
1. Аудитории для лекций и практических, (лабораторных занятий) оснащенные
необходимым материальным оснащением.
2. Наличие рекомендованной литературы.
3. Наличие электронных версий методических материалов.
Скачать