Инфраструктура больших данных

Разработка систем хранения и обработки больших данных.
Для кого
Для тех, кто любит алгоритмы, работу с данными и получает удовольствие от программирования, но не хотел бы связывать свою жизнь с машинным обучением.
Чему мы учим
Алгоритмам, программированию, устройству файловых систем, дисков, сетей и процессоров, а также распределённых систем.
Где применять эти знания
В создании и поддержке эффективных и надёжных распределённых систем хранения и обработки больших данных.

Программа

В течение семестра каждый учащийся должен успешно пройти как минимум три курса. Например, если в основной программе их два, то необходимо выбрать какой-нибудь из спецкурсов.

Знания проверяются в первую очередь с помощью домашних заданий — экзамены и контрольные проводятся только по некоторым предметам.

Первый семестр
Обязательные
Алгоритмы и структуры данных, часть 1
01
Сложность и модели вычислений. Анализ учетных стоимостей (начало)
02
Анализ учетных стоимостей (окончание)
03
Алгоритмы Merge-Sort и Quick-Sort
04
Порядковые статистики. Кучи (начало)
05
Кучи (окончание)
06
Хеширование
07
Деревья поиска (начало)
08
Деревья поиска (продолжение)
09
Деревья поиска (окончание). Система непересекающихся множеств
10
Задачи RMQ и LCA
11
Структуры данных для геометрического поиска
12
Задача о динамической связности в ненаправленном графе
Архитектура компьютера и операционные системы
Обучение языку C++, часть 1
Второй семестр
Обязательные
Алгоритмы и структуры данных, часть 2
01
Обход в ширину. Обход в глубину (начало)
02
Обход в глубину (продолжение)
03
Обход в глубину (окончание). 2-разрезы
04
Поиск кратчайших путей (начало)
05
Поиск кратчайших путей (продолжение)
06
Минимальные остовные деревья
07
Минимальные разрезы. Поиск подстрок (начало)
08
Поиск подстрок (продолжение)
09
Поиск подстрок (окончание)
10
Суффиксные деревья (начало)
11
Суффиксные деревья (окончание). Суффиксные массивы (начало)
12
Суффиксные массивы (окончание)
13
Длиннейшие общие подстроки. Приближенный поиск подстрок.
Обучение языку C++, часть 2
На выбор
Theory and Practice of Concurrency
или
Язык Go
Третий семестр
Обязательные
Алгоритмы во внешней памяти
Распределённые системы
Рекомендуемые спецкурсы
Стойкость криптографических систем
Четвёртый семестр
На выбор
Theory and Practice of Concurrency
или
Язык Go
или
Базы данных
или
Компьютерные сети
или
Криптографические протоколы