Бакалавриат
2025/2026




Алгоритмы и структуры данных
Статус:
Курс обязательный (Управление цифровым продуктом)
Кто читает:
Департамент бизнес-информатики
Где читается:
Высшая школа бизнеса
Когда читается:
2-й курс, 1, 2 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
5
Контактные часы:
60
Программа дисциплины
Аннотация
Курс посвящен основам проектирования и анализа алгоритмов. Он также включает изучение продвинутых алгоритмов, структур данных и основ теории графов. Лекции и практические занятия тесно взаимосвязаны. Лекции в первую очередь предназначены для знакомства с новыми темами, тогда как практические занятия предназначены для решения конкретных задач путем написания программ на языке программирования Python. Успешное завершение курса «Программирование на Python» является важным пререквизитом для данной дисциплины.
Цель освоения дисциплины
- Применение навыков использования языка программирования Python для решения прикладных задач
- Уверенное владение синтаксисом языка программирования Python
- Умение работать с Python с использованием объектно-ориентированной и функциональной парадигмы программирования
- Свободное написание алгоритмов на языке программирования Python
Планируемые результаты обучения
- Уметь оценивать сложность алгоритмов
- Определять сложность алгоритмов по их описанию
- Освоить базовый синтаксис Python, основные типы данных и операции с ними
- Уметь моделировать абстракции различных уровней для написания программного кода в стиле ООП (Объектно-ориентированное программирование)
- Уметь использовать жадный алгоритм и динамическое программирование на практике
- Правильно использовать коллекции в Python: списки, кортежи, словари, множества и специальные коллекции из стандартной библиотеки
- Реализовывать программы на языке Python в объектно-ориентированной парадигме, применять декораторы.
- Овладеть основными парадигмами разработки алгоритмов
- Уметь эффективно применять алгоритмы над массивами данных
- Уметь применять графовые алгоритмы для реальных задач
Содержание учебной дисциплины
- Введение в язык Python и его экосистему
- Продвинутое владение Python
- Введение в алгоритмы на Python
- Алгоритмы обработки данных и оптимизация сложности
- Продвинутые алгоритмы
Элементы контроля
- САКТОценивание посещения и активности студента на семинарах
- ЛАКТОценивание активности студента на лекциях
- ДЗСредняя оценка за все практические домашние задания, предусмотренные на курсе
- ЭКЗЭкзамен представляет собой практическую работу, выполняемую студентами по результатам освоения курса
Список литературы
Рекомендуемая основная литература
- 33892 - Алгоритмы - Д.Эриксон - ДМК Пресс - 9785970609811 - 2023 - https://hse.alpinadigital.ru/document/33892 - Alpina
- Python : исчерпывающее руководство, Бизли, Д. М., 2023
- Алексеев, В. Е. Графы и алгоритмы : учебное пособие / В. Е. Алексеев, В. А. Таланов. — 2-е изд. — Москва : ИНТУИТ, 2016. — 153 с. — ISBN 5-9556-0066-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100593 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Объектно-ориентированное программирование с помощью Python, Кальб, И., 2024
- Совершенный алгоритм : жадные алгоритмы и динамическое программирование, Рафгарден, Т., 2020
Рекомендуемая дополнительная литература
- Верников, Б. М. Графы и алгоритмы на них : учебное пособие / Б. М. Верников, А. М. Шур. — Екатеринбург : ЕАСИ, 2012. — 158 с. — ISBN 978-5-904440-21-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/136391 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Профессиональная разработка на Python : использование эффективных средств языка в реальных приложениях, Уилкс, М., 2021
- Сложность алгоритмов и вычислений, Трахтенброт, Б.А., 1967
- Юрина, Т. А. Объектно-ориентированное программирование : учебно-методическое пособие / Т. А. Юрина. — Омск : СибАДИ, 2023. — 72 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/338576 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.