• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2025/2026

Алгоритмы и структуры данных

Статус: Курс обязательный (Управление цифровым продуктом)
Когда читается: 2-й курс, 1, 2 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 5
Контактные часы: 60

Программа дисциплины

Аннотация

Курс посвящен основам проектирования и анализа алгоритмов. Он также включает изучение продвинутых алгоритмов, структур данных и основ теории графов. Лекции и практические занятия тесно взаимосвязаны. Лекции в первую очередь предназначены для знакомства с новыми темами, тогда как практические занятия предназначены для решения конкретных задач путем написания программ на языке программирования Python. Успешное завершение курса «Программирование на Python» является важным пререквизитом для данной дисциплины.
Цель освоения дисциплины

Цель освоения дисциплины

  • Применение навыков использования языка программирования Python для решения прикладных задач
  • Уверенное владение синтаксисом языка программирования Python
  • Умение работать с Python с использованием объектно-ориентированной и функциональной парадигмы программирования
  • Свободное написание алгоритмов на языке программирования Python
Планируемые результаты обучения

Планируемые результаты обучения

  • Уметь оценивать сложность алгоритмов
  • Определять сложность алгоритмов по их описанию
  • Освоить базовый синтаксис Python, основные типы данных и операции с ними
  • Уметь моделировать абстракции различных уровней для написания программного кода в стиле ООП (Объектно-ориентированное программирование)
  • Уметь использовать жадный алгоритм и динамическое программирование на практике
  • Правильно использовать коллекции в Python: списки, кортежи, словари, множества и специальные коллекции из стандартной библиотеки
  • Реализовывать программы на языке Python в объектно-ориентированной парадигме, применять декораторы.
  • Овладеть основными парадигмами разработки алгоритмов
  • Уметь эффективно применять алгоритмы над массивами данных
  • Уметь применять графовые алгоритмы для реальных задач
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение в язык Python и его экосистему
  • Продвинутое владение Python
  • Введение в алгоритмы на Python
  • Алгоритмы обработки данных и оптимизация сложности
  • Продвинутые алгоритмы
Элементы контроля

Элементы контроля

  • неблокирующий САКТ
    Оценивание посещения и активности студента на семинарах
  • неблокирующий ЛАКТ
    Оценивание активности студента на лекциях
  • неблокирующий ДЗ
    Средняя оценка за все практические домашние задания, предусмотренные на курсе
  • неблокирующий ЭКЗ
    Экзамен представляет собой практическую работу, выполняемую студентами по результатам освоения курса
Промежуточная аттестация

Промежуточная аттестация

  • 2025/2026 2nd module
    0.2 * ДЗ + 0.25 * ЛАКТ + 0.25 * САКТ + 0.3 * ЭКЗ
Список литературы

Список литературы

Рекомендуемая основная литература

  • 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). — Режим доступа: для авториз. пользователей.

Авторы

  • Саночкин Юрий Ильич