1—2 курс
3—4 курс
Курсы по математике
Математический анализ
Студенты изучают числовые последовательности и последовательности в метрических пространствах, непрерывные функции, дифференцируемость и производные, экстремумы функций, первообразные, интегрирование непрерывных функций, линейные операторы, функции нескольких вещественных переменных, суммы рядов, равномерную сходимость последовательностей и рядов, степенные ряды.
Алгебра
На курсе рассматриваются основы элементарной теории чисел, базовые понятия линейной алгебры: системы линейных уравнений, матрицы, определители, векторные пространства. Важнейшие алгебраические структуры: группы, кольца, поля, в том числе поле комплексных чисел, кольца многочленов и поля дробно-рациональных функций. Преподаватель расскажет, как применить понятия и методы к реальным прикладным задачам.
Вариационное исчисление
Геометрия и топология
Дискретная теория вероятностей
Дифференциальные уравнения и динамические системы
Основы наивной теории множеств
Теория вероятностей

Курсы по программированию
Архитектура компьютера
Курс дает системный взгляд на принципы работы операционных систем и их архитектуру. В рамках данного курса рассматривается история и основные этапы развития операционных систем, общие принципы организации современных операционных систем общего назначения, объясняется, каким образом сложилась современная архитектура. Основное внимание уделено механизмам планирования исполнения процессов и потоков, организации памяти, средствам межпроцессного взаимодействия. Обзорно рассматриваются особенности мобильных операционных систем и систем реального времени. Ключевым аспектом курса являются лабораторные работы, в рамках которых студенты получают практические навыки разработки реальных ОС.
Введение в объектно-ориентированное программирование
Студенты изучат такие принципы ООП, как абстракция, инкапсуляция, наследование и полиморфизм, изучат основные шаблоны проектирования.

В качестве языка программирования на курсе будет использоваться язык Kotlin. Практическая часть включает реализацию нескольких небольших программных проектов, предполагающих проектирование объектных моделей, создание предметно-зависимых языков (DSL) и преобразование кода при изменении требований.
Дискретная математика
Математические основы алгоритмов
Операционные системы
Курс дает системный взгляд на принципы работы операционных систем и их архитектуру. В рамках данного курса рассматривается история и основные этапы развития операционных систем, общие принципы организации современных операционных систем общего назначения, объясняется, каким образом сложилась современная архитектура. Основное внимание уделено механизмам планирования исполнения процессов и потоков, организации памяти, средствам межпроцессного взаимодействия. Обзорно рассматриваются особенности мобильных операционных систем и систем реального времени. Ключевым аспектом курса являются лабораторные работы, в рамках которых студенты получают практические навыки разработки реальных ОС. .
Основы Linux
Практический курс посвящён освоению командной строки как основного инструмента при использовании компьютеров. Множество действий можно выполнять быстрее и эффективнее, если описать их как последовательность вызовов программ и оформить в виде сценария на языке командного интерпретатора. Операционная система Linux идеально подходит для изучения такого стиля работы, поскольку содержит в себе все необходимые инструменты. Как выяснится по ходу курса, программистам часто приходится обращаться к командной строке. После этого курса студенты смогут делать это легко и с удовольствием.
Основы программирования
Первокурсники обычно уже знакомы с программированием. Многие участвовали в олимпиадах, кто-то имел опыт реализации прикладных проектов. Практика, впрочем, показывает, что при обучении программированию на предыдущих этапах мало внимания уделяется таким вопросам как профессиональное отношение программиста к работе, качество кода, суть языка программирования как промышленного инструмента со своими достоинствами и недостатками.

Этот курс разработан с целью осветить все эти вопросы, а также подготовить студентов к работе на последующих программистских курсах путём формирования у них некоторой общей базы знаний в области разработки ПО. В качестве основного языка программирования на курсе будет использоваться язык Kotlin. По ходу курса студенты реализуют несколько программных проектов и, благодаря многократным обзорам кода (code review), получат навыки написания кода, решающего поставленные задачи и удовлетворяющего при этом критериям качества.
Программирование на языке C
Конструкции языка C близко сопоставляются типичным машинным инструкциям, благодаря чему он традиционно является одним из основных языков системного программирования (в частности, на нем написана ОС Linux). Изучение приемов программирования на C позволяет не только научится писать эффективные программы, но и разобраться как работает компьютер при их выполнении.

Язык C повлиял на синтаксис таких языков как C++, C#, Java и Objective-C. Знание С позволит лучше понять решения, принятые авторами этих языков, и оценить накладные расходы по времени и памяти при их использовании.


Программирование на языке С++
Язык C++ является де-факто стандартом для написания высокопроизводительных программ. С одной стороны он позволяет эффективно использовать ресурсы компьютера, а с другой стороны --- позволяет писать программы с использованием наиболее популярных подходов современного программирования (процедурного, объектно-ориентированного, обобщенного, метапрограммирования и других).

Целью курса является обучение написанию на C++ больших программ и библиотек, которые можно переиспользовать в других проектах. Особенностью курса является то, что очередной механизм языка рассматривается только после того, как слушатели смогут написать его сами.

Теоретическая информатика
Алгоритмы сортировки, алгоритмы на графах, жадные алгоритмы и динамическое программирование, структуры данных, производящие функции, матроиды, коды, исправляющие ошибки, алгебраические и вероятностные методы, теория формальных языков, вычислимость и выразимость, теория информации, классы задач и иерархии, интерактивные протоколы, схемная сложность, вероятностно проверяемые доказательства.
Язык Python
Основные цели курса:

  • сделать первый шаг, после которого можно продолжить самостоятельное изучение
  • изучить основные особенности Python, его отличия от других языков программирования
  • учиться писать качественный код на Python
  • познакомиться с типичными задачами собеседований в IT компании и их решениями

Обязательные курсы по математике
Анализ Фурье
Математическая статистика
Обязательные курсы по программированию
Машинное обучение
Рассматривается обширный подраздел искусственного интеллекта, изучающий методы построения алгоритмов, способных обучаться. Курс связан с анализом реальных наблюдений и ориентирован на задачи прогнозирования. Последовательный характер поступления данных приводит к необходимости использования адаптивных моделей и методов. В программу входит изучение методов классификации, кластеризации и ранжирования, регрессионных моделей, нейронных сетей. Даются методики экспериментального исследования и сравнения моделей на искусственно созданных и реальных данных, повышения качества моделей композиционными и другими методами.
Вариативная часть
Алгебра
Современная алгебра состоит из многих ветвей (Алгебраическая геометрия, теория групп, теория алгебр Ли, теория представлений, теория категорий и т.п.), которые объединяет широкое использование алгебраических тождеств (таких, как коммутативность, ассоциативность, тождество Якоби и т.п.) и универсальных конструкций (таких, как тензорная алгебра, универсальная обертывающая алгебра и т.п.). Во многих аспектах алгебра смыкается с комбинаторикой, алгебраической топологией и дифференциальной геометрией, комплексным и гармоническим анализом, теорией случайных процессов.

ЕGA4: локальные свойства схем и морфизмов
Абелевы многообразия и многообразия Шимура
Адические пространства и жесткая геометрия
Алгебра путей Левитта
Алгебраическая геометрия
Алгебраические группы
Алгебраическая К-теория
Алгебраическая теория чисел
Алгебры и группы Ли
Алгебры Ли
Алгебры Ли в комбинаторике
Алгебры Ли и квантовые группы
Алгебры Хопфа
Высшая алгебраическая К-теория
Гомологическая алгебра
Групповые схемы
Дополнительные главы линейной алгебры
Квадратичные формы
Квадратичные формы над полями
Когерентные конфигурации
Когомологии Галуа
Кольца Шура
Коммутативная алгебра 2: регулярные кольца
Коммутативная алгебра
Компьютерная алгебра
Конечные группы перестановок
Модулярная теория представлений
Неассоциативные алгебры
Некоммутативные кольца
Некоммутативные кольца и относительная гомологическая алгебра
Основы алгебраической геометрии
Представления алгебр Ли
Проблема Серра о проективных модулях над кольцами многочленов и близкие вопросы
Проективные однородные многообразия
Производные категории когерентных пучков
Редуктивные групповые схемы
Редуктивные группы
Спектральные последовательности
Тензорные категории
Теория моделей в алгебре
Теория пересечений
Теория полей классов
Теория представлений конечномерных алгебр
Торические многообразия
Триангулированные категории
Формальные группы
Центральные простые алгебрыЦентральные простые алгебры и группа Брауэра
Эллиптические кривые
Эллиптические кривые и абелевы многообразия
Этальные когомологии
Анализ данных
Спецкурсы, организованные в рамках программы «Науки о данных», включающие в себя области машинного обучения и разработки ПО. Зачастую читаются сотрудниками компании Яндекс.
Введение в системы хранения и обработки данных
Решение задач с семантическим разрывом
Введение в глубокое обучение на практике
Геометрия и топология
Poisson Geometry and gauge theory
Topics in geometric group theory
Алгоритмические вопросы трехмерной топологии
Введение в симплектическую геометрию
Введение в теорию выпуклых множеств
Введение в теорию гомологий
Введение в теорию гомотопий
Введение в теорию пространств Александрова
Геометрия Кэлера
Гиперболическая геометрия поверхностей
Гиперболические поверхности
Гладкие многообразия старших размерностей
Дополнительные главы геометрии
Инварианты узлов
Пространства Тейхмюллера
Риманова геометрия
Спиновая геометрия и теорема об индексе
Стабильная теория гомотопий
Топологические методы в комбинаторике
Топологический анализ данных
Трехмерные многообразия
Характеристические классы
Четырехмерные гладкие многообразия
Динамические системы и дифференциальные уравнения
Предлагаемые спецкурсы можно условно разделить на 3 группы (1) Общие знания, их полезно знать вне зависимости от того углубляетесь ли Вы в тему ДУДС. Это в первую очередь Введение в Эргодическую теорию и Введение в гладкие динамические системы. Эти курсы также являются пререквизитами для многих других спецкурсов. (2) Курсы позволяющие медленно двигаться в направлении математической физики -- Динамика параболических уравнений, Дифференциальные уравнения с гистерезисом, Негладкие дифференциальные уравнения (3) остальные курсы предполагающие дальнейшую специализацию в ДУДС.

Введение в гладкие динамические системы
Введение в теорию отслеживания
Введение в эргодическую теорию
Динамика негиперболических систем
Динамика параболических уравнений
Дифференциальные уравнения с гистерезисом
Дополнительные главы эргодической теории
Дополнительные лекции по теории обыкновенных дифференциальных уравнений Качественная теория динамических систем
Комплексная динамика
Моделирование динамических систем и задач математической физики
Неавтономная динамика
Негладкие дифференциальные уравнения
Одномерная динамика
Оптимизация формы
Приближенные траектории динамических систем
Симплектическая геометрия и аналитическая механика
Современные динамические системы - N
Современные методы теории обыкновенных дифференциальных уравнений
Стохастическая устойчивость динамических систем
Стохастические динамические системы
Структурная устойчивость
Теория бифуркаций динамических систем
Теория инвариантных многообразий
Теория отслеживания приближённых траекторий
Устойчивость к стохастическим возмущениям
Частично и неравномерно гиперболические системы
Дискретная математика и логика
Введение в модальную логику
Введение в неклассические логики
Дискретная геометрия
Дополнительные главы дискретной геометрии
Дополнительные главы комбинаторики
Дополнительные главы теории графов
Замощения плоскости
Комбинаторика слов
Математическая логика
Паросочетания и факторы графа
Планарные графы и циклы
Разбиения
Современные разделы комбинаторики
Теория графов
Теория кодов, исправляющих ошибки

Математический анализ
C* алгебры
Higher order fourier analysis
Introduction to Descriptive Set Theory
Measurable Group Theory
Ornstein Theory
Pretentious подход к аналитической теории чисел
Selected applications of microlocal analysis
Абстрактный гармонический анализ
Аддитивная комбинаторика
Асимптотическое решето для простых
Введение в бинарные аддитивные задачи
Введение в геометрическую теорию меры
Введение в принцип неопределённости в гармоническом анализе
Введение в римановы поверхности
Введение в теорию канонических систем
Введение в теорию модулярных форм
Введение в теорию пространств Харди
Введение в теорию функции Беллмана
Введение в теорию функциональных гильбертовых пространств с ядром Пика Введение в частотно-временной анализ
Гармонический анализ
Геометрическая теория функций комплексной переменной
Двойные операторные интегралы
Дополнительные главы вещественного анализа
Дополнительные главы теории функций и теории операторов
Дополнительные главы функционального анализа
Избранные главы теории потенциалов
Метод решета в аналитической теории чисел
Методы анализа в теории вероятностей
Модели в теории операторов
Нелинейный функциональный анализ
Нодальная геометрия и темы из гармонического анализа
Обобщенные функции
Ограниченные промежутки между простыми числами
Оператор сдвига и его применения
Операторы в пространствах аналитических функций в круге
Ортогональные полиномы
Осцилляторные интегральные операторы
Пересечения квадратичных форм от простых аргументов
Почти унитарные операторы
Пространства Соболева
Следы и продолжения гладких функций
Современная теория сумм произведений
Современный анализ
Теорема Бомбьери-Виноградова
Теорема Карлесона
Теория аппроксимации
Теория гармонической меры
Теория переноса и несамосопряженные операторы
Теория пространств Банаха
Формы Якоби
Функции ограниченной средней осцилляции
Функции с несвязным спектром
Функция Беллмана в анализе
Целые функции
Элементарная теория чисел или как далеко можно зайти без использования комплексного анализа

Математическая физика
Fishnets and the AdS/CFT Integrable System
Nonlinear Continuum Mechanics
Quantization of gauge theories
Введение в квантовую интегрируемость
Дискретная вероятность в моделях математической физики
Дополнительные главы вариационного исчисления
Квазилинейные уравнения
Квантовая теория поля как задача по теории операторов
Конформная теория поля
Математическая теория рассеяния
Математическая теория уравнений Навье-Стокса
Математические основы квантовой механики
Матричные модели
Нелинейные интегральные уравнения
Операторы Ханкеля, Теплица и проблемы моментов
Оценки типа Цвикеля
Спектральная теория дифференциальных операторов
Спектральная теория операторов Якоби и асимптотическое поведение ортогональных полиномов
Теория интегрируемых систем с теоретико-групповой точки зрения
Теория операторов в Гильбертовом пространстве
Теория относительности и гравитация
Теория потенциала
Томография римановых многообразий (BC-метод)
Устойчивость уединённых волн
Эллиптические системы
Эргодические и периодические операторы Шредингера

Программирование
Семантика языков программирования
Типы в языках программирования
C# и .Net Framework
Алгоритмы бионформатики
Анализ изображений
Архитектура JVM
Базы данных
Введение в метавычисления
Выпуклая оптимизация
Вычисления на видеокартах
Дифференциальные уравнения
Компьютерная графика
Компьютерные сети
Математическая логика в информатике
Обработка естественных языков
Параллельное программирование
Программная инженерия
Разработка компиляторов
Разработка мобильных приложений
Рекомендательные системы и ранжирование
Тестирование программного обеспечения
Трёхмерное компьютерное зрение
Функциональное программирование
Численные методы
Язык программирования Rust

Теория вероятностей
Спецкурсы по теории вероятностей и мат. статистике основаны на обязательных курсах Дискретной теории множеств и Теории вероятностей. Следующий уровень составляют «Теория случайных процессов» и «Основы математической статистики». Они необходимы для практических приложений Теории вероятностей и Математической статистики. Остальные курсы более специализированы (стохастическое исчисление, стохастическая геометрия, гауссовские процессы, ветвящиеся процессы, точечные процессы, мартингалы, предельные теоремы, бутстреп в статистике, рекорды, …)

Martingale methods for limit theorems
Введение в случайные матрицы
Вероятностные распределения и их характеризации
Вероятность на комбинаторных объектах
Ветвящиеся процессы
Гауссовские случайные процессы
Интегрируемая вероятность
Основы математической статистики
Понятия сходимости в теории вероятностей
Предельные теоремы
Предельные теоремы теории вероятностей
Рекорды
Семинар по теории случайных процессов
Сильные предельные теоремы теории вероятностей
Стохастическая геометрия
Стохастическое исчисление
Теория мартингалов
Теория случайных процессов
Точечные процессы и устойчивые распределения

Теоретическая информатика
<<Теоретическая информатика>> включает в себя спецкурсы по различным аспектам вычислительных задач: анализ сложности вычислений; построение и анализ алгоритмов; анализ моделей вычислений и другие. В большинстве случаев курсы специализированы и основаны на обязательной математической программе.

Advanced Data Structures
Graph Drawing and Crossing
Numbers of Graphs
SAT солверы: между теорией и практикой
Алгоритмы для NP-трудных задач
Введение в квантовую информацию
Введение в квантовые вычисления
Введение в квантовые вычисления
Введение в коммуникационную сложность
Вероятностные алгоритмы
Вероятностные методы в вычислениях
Вычислительная геометрия
Геометрические алгоритмы
Дополнительные главы геометрических алгоритмов
Дополнительные главы теории сложности
Криптографические протоколы
Модели вычислений
Монотонные вычисления
Ограниченная арифметика
Параметризованная сложность
Параметризованные алгоритмы
Приближенные алгоритмы
Продвинутые алгоритмы
Продвинутые квантовые алгоритмы
Рисование графов
Системы доказательств и оптимальность
Сложностная криптография
Сложность булевых функций
Сложность доказательств
Современные методы в теоретической информатике - N
Современные методы построения и анализа алгоритмов
Современные структуры данных
Теория автоматов
Теория информации
Теория сложности вычислений
Точные оценки на сложность
Формальные грамматики
Экспандеры и коды
Эффективные параллельные алгоритмы