
- •1. Цели и задачи дисциплины
- •2. Место дисциплины в структуре ооп
- •2.1. Междисциплинарные связи с обеспечивающими (предыдущими) дисциплинами
- •2.2. Междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами
- •3. Требования к результатам освоения дисциплины
- •4. Объем дисциплины и виды учебной работы
- •5. Содержание дисциплины
- •5.1 Содержание разделов дисциплины
- •5.1.6 Исчерпывающий поиск
- •5.2 Разделы дисциплины и виды занятий
- •6. Практические занятия и самостоятельная работа
- •6.1. Лабораторный практикум
- •6.2. Практические занятия
- •10.2 Рекомендации для студента
- •10.3 Перечень контрольных вопросов для подготовки к итоговой аттестации по дисциплине
- •10.3 Перечень ключевых слов дисциплины
1. Цели и задачи дисциплины
Целью изучения дисциплины являются абстрактные структуры данных и алгоритмы их обработки. Основная задача курса – приобретение практических навыков в реализации абстрактных структур данных в конкретных системах программирования и создание теоретической базы для изучения последующих дисциплин: системное программное обеспечение; базы данных, знаний и экспертные системы; обработка экспериментальных данных на ЭВМ.
Задачи дисциплины:
Сформировать базовые теоретические понятия, лежащих в основе процесса разработки алгоритмов и структур.
Заложить в основу конструирования и использования сложных (динамических) структур данных модель (парадигму) абстрактного типа данных (спецификация +представление+реализация).
Сформировать представления и знания об основных классах алгоритмов (исчерпывающий поиск, быстрый поиск, сортировки, алгоритмы на графах,и т.п.), используемых в них структурных данных и общих схемах решения задач на их основе.
Научить реализации типовых алгоритмов и структур данных и их модификаций на рабочем языке программирования (С++).
Сформировать представления и знания об анализе сложности алгоритмов и программ
2. Место дисциплины в структуре ооп
2.1. Междисциплинарные связи с обеспечивающими (предыдущими) дисциплинами
Успешному изучению дисциплины «Структуры и алгоритмы обработки данных» способствует изучение дисциплин: «Математика», «Информатика», «Дискретная математика», «Математическая логика и теория алгоритмов».
2.2. Междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами
Дисциплина «Структуры и алгоритмы обработки данных» является основой для дальнейшего изучения дисциплин «Функциональное и логическое программирование», «Объектно-ориентированное программирование».
3. Требования к результатам освоения дисциплины
В результате освоения дисциплины студент должен:
Знать:
основные методы разработки машинных алгоритмов и программ, структуры данных, используемые для представления типовых информационных объектов, основные задачи анализа алгоритмов;
основные машинные алгоритмы и характеристики их сложности для типовых задач, часто встречающихся и ставших «классическими» в области информатики и программирования;
Уметь:
разрабатывать алгоритмы, используя изложенные в курсе общие схемы, методы и приемы построения алгоритмов, выбирая подходящие структуры, данные для представления информационных объектов;
доказывать корректность составленного алгоритма и оценивать основные характеристики его сложности;
реализовывать алгоритмы и используемые структуры данных средствами языков программирования высокого уровня (например, на C++, C#, Java);
экспериментально (с помощью компьютера) исследовать эффективность алгоритма и программы;
Владеть:
математическими методами анализа алгоритмов;
классификацией алгоритмических задач по их сложности, сводить алгоритмические задачи к известным задачам определенного класса сложности.
Таким образом, изучение дисциплины обеспечивает совершенствование навыков, полученных в курсе основ программирования.
Акцент смещается на стадию разработки алгоритма с одновременным теоретическим анализом. В основу этого анализа закладывается понятие эффективности алгоритма. При изучении дисциплины активно используются сведения, полученные студентами из курсов высшей математики, теории вероятностей, информатики, программирования на языках высокого уровня.