Подготовительный курс "Алгоритмы и структуры данных"

Длительность
  • 23 занятий
  • 92 ак. часов
Курс преподают
  • Сергей Бабичев Сергей Бабичев
  • Наталья Бабичева Наталья Бабичева
Получаемые навыки

  • Знание основных понятий: исполнитель, абстракция, объекты, методы, итерация, рекурсия, жадные алгоритмы, динамическое программирование, сортировка, поиск, графы.
  • Умение анализировать основные свойства алгоритмов.
  • Умение выбирать необходимые структуры данных для решения задач и обосновывать свой выбор.
  • Уметь эффективно реализовывать алгоритмы на языках С и С++.

Контроль знаний

В курсе предусмотрено домашние задания после каждой лекции и три рубежных контроля. Разбалловка отмечена в структуре курса.

Цель курса — ознакомить слушателей с основными алгоритмами, применяемыми для разработки программного обеспечения. Научить выбирать подходящие структуры данных и алгоритмы для реализации возникающих задач. Научить использовать языки С и С++ как инструмент для реализации алгоритмов.

Курс состоит из восьми лекций и одиннадцати семинаров. Изучаемые темы выбраны с целью покрыть большое количество практических задач. В курсе делается упор не на теоретические знания, а на практические навыки написания корректных программ с использованием базовых алгоритмов. Правила зачисления с подготовительных курсов на основную программу: 1. Первые 10 студентов, набравшие баллы на 5 сдают только кейс в рамках отбора. 2. По онлайн тестированию и техническому собеседованию получают максимальное количество баллов. Кейс вместе с основным набором на программу (сентябрь, февраль).

Лекция №1

Введение. Исполнители. Абстракции интерфейсов. Рекурсия.

4 часа 3 часа СР

Семинар №1

Примеры реализации абстракций. Алгоритм Карацубы, числа Фибоначчи, рекурсивный и итеративный алгоритм Евклида. Деревья рекурсии.

4 часа 3 часа СР

Лекция №2

Жадные алгоритмы

4 часа 3 часа СР

Семинар №2

Решение задач на жадные алгоритмы.

4 часа 3 часа СР

Семинар №3

Ответы на вопросы

4 часа 1 часа СР

Рубежный контроль №1

РК

4 часа 1 часа СР

Лекция №3

Сортировка.

4 часа 3 часа СР

Семинар №4

Коды Хаффмана, алгоритм поиска порядковой статистики, нижние оценки на бинарный поиск.

4 часа 3 часа СР

Лекция №4

Поиск. Списки.

4 часа 3 часа СР

Семинар №5

Обратные задачи для монотонных функций. Решение уравнений. Задача о проводах. Реализация сортировки через списки. Построение деревьев поиска.

4 часа 3 часа СР

Лекция №5

Деревья

4 часа 3 часа СР

Семинар №6

Хранение полных бинарных деревьев в массиве. Оценка сложности операций с Heap.

4 часа 3 часа СР

Рубежный контроль №2

РК

4 часа 3 часа СР

Лекция №6

Хеш-таблицы.

4 часа 3 часа СР

Семинар №7

Оценка вероятности коллизии. Универсальные семейства хэш-функций — проверить некоторое семейство на универсальность

4 часа 3 часа СР

Лекция №7

Динамическое программирование

4 часа 3 часа СР

Семинар №8

Решение задач

4 часа 3 часа СР

Семинар №9

Решение задач

4 часа 3 часа СР

Лекция №8

Алгоритмы на графах

4 часа 3 часа СР

Семинар №10

Корректность алгоритмов Беллмана-Форда и Дейкстры.

4 часа 3 часа СР

Семинар №11

Решение задач

4 часа 3 часа СР

Рубежный контроль №3

РК

4 часа 3 часа СР

Рубежный контроль №4

Итоговое занятие

4 часа

Также в первом семестре:

© Mail.Ru Group, 2011–2017

Обратная связь

Присоединяйся:

Группа ВКонтакте
  • Дизайн:
    Nimax
  • Разработка:
    Лаборатория
    технопарка
Версия портала - 5.28.1