АННОТАЦИИ К ДИСЦИПЛИНАМ
Направление 230100 (ИВТ), профиль «Вычислительные машины, комплексы, системы и сети»
Структуры и алгоритмы обработки данных
Цели и задачи дисциплины
Цели изучения дисциплины – знакомство с фундаментальными структурами и алгоритмами обработки данных. Задачи – получение практических и теоритических знаний и умений в области разработки и анализа структур данных и алгоритмов.
Место дисциплины в структуре образовательной программы
Дисциплина относится к вариативной части математического и естественнонаучного цикла (дисциплина по выбору) (Б2). Шифр дисциплины в рабочем учебном плане – Б2.В. ДВ.3.1. Чтобы изучать курс «Структуры и алгоритмы обработки данных» студент должен обладать знаниями из курсов «Основы программирования», «Языки программирования». Для выполнения лабораторных работ студент должен владеть навыками разработки программного обеспечения на языке программирования C в среде операционной системы GNU/Linux. Знания, полученные студентом в ходе изучения курса «Структуры и алгоритмы обработки данных», будут служить основой для курсов «Технология разработки программного обеспечения», «Теория языков программирования и методы трансляции».
Требования к результатам освоения дисциплины
3.1 Процесс изучения дисциплины направлен на формирование следующих компетенций:
- ПК-4. Способность понимать и применять в исследовательской и прикладной деятельности современный математический аппарат, фундаментальные концепции и системные методологии, международные и профессиональные стандарты в области информационных технологий, способность использовать современные инструментальные и вычислительные средства (в соответствии с профилем подготовки); ПК-7. Способность применять на практике международные и профессиональные стандарты информационных технологий, современные парадигмы и методологии, инструментальные и вычислительные средства (в соответствии с профилем подготовки); ПК-8. Способность профессионально владеть базовыми математическими знаниями и информационными технологиями, эффективно применять их для решения научно-технических задач и прикладных задач, связанных с развитием и использованием информационных технологий; ПК-10. Знание кодекса профессиональной этики и следование ему в жизни; ПК-15. Понимание концепций и абстракций, способность использовать на практике базовые математические дисциплины, включая: Математический анализ I; Математический анализ II; Кратные интегралы и ряды; Алгебра и геометрия; Теория функций комплексной переменной; Функциональный анализ; Математическая логика и теория алгоритмов; Теория автоматов и формальных языков; Дифференциальные и разностные уравнения; Теория вероятностей и математическая статистика; Вычислительные методы; Методы оптимизации и исследование операций; ПК-16. Понимание концепций и основных законов естествознания, в частности, физики.
3.2 В результате освоения дисциплины студент должен:
Знать: алгоритмы сортировки (пузырьковой, выбором, вставками, быстрой сортировки, подсчетом, поразрядной, слиянием, пирамидальной сортировки), алгоритмы поиска (линейный, бинарный), фундаментальные структуры данных: связные списки, стеки, очереди, деки; хеш-таблицы (методы разрешения коллизий, показатели эффективности хеш-функций), бинарные деревья поиска, очереди с приоритетами, сортирующие деревья (бинарные кучи/пирамиды), графы и способы их представления в памяти, алгоритмы обхода графов, алгоритмы поиска кратчайших путей в графе (алгоритм Дейкстры), алгоритмы построения остовных деревьев (алгоритмы Прима и Крускала), методы разработки алгоритмов: метода “грубой силы” (“перебор с возвратом”), метод декомпозиции, жадные алгоритмы, динамическое программирование, локальный поиск; понятие NP-полных задач, основные классы вычислительной сложности.
Уметь: осуществлять асимптотический анализ вычислительной сложности алгоритмов и их требований к объему памяти, принимать решения о выборе оптимальной структуры данных и/или алгоритма в зависимости от входных данных и условий решаемой задачи, реализовывать на языке С основные структуры данных и алгоритмы.
Владеть: навыками асимптотического анализа вычислительной сложности фундаментальных алгоритмов, а также навыками разработки структур данных и алгоритмов.


