• Подготовитесь к ШАД или собеседованию
  • Прокачаете навыки написания алгоритмов
  • Повысите свою стоимость на рынке труда
  • Один из лучших преподавателей в сфере алгоритмов
  • 15 недель подготовки

Старт: 6 января 2025

Алгоритмы и структуры данных
для ШАД и собеседований

Все, кто регулярно посещает занятия и сдает домашние работы на высокие баллы - имеет высокие шансы на поступление в ШАД и прохождение собеседований
Средняя оценка курсов, нашими студентами
Команда преподавателей с мехмата МГУ и МФТИ
Отзывы наших студентов

Кто ведет курс?

Илья Осокин

Робототехник со специализацией в области компьютерного зрения, преподаватель компьютерного зрения, теории управления, алгоритмов и методологии исследования в МФТИ.

Ведущий инженер лаборатории волновых процессов и систем управления МФТИ. Автор 10 публикаций в области компьютерного зрения, робототехники и энергоэффективности роботов. 7 лет преподает в МФТИ

Алгоритмы и структуры данных необходимо знать всем разработчикам

Знание алгоритмов и структур данных - это базовый навык, который часто проверяется на собеседованиях как в крупные IT компании, так и в небольших стартапах.
Знание базовых алгоритмов и структур данных важно не только для написания производительного кода, но и для написания хорошего кода в принципе. Реализация классических алгоритмов и решение алгоритмических задач приучает писать код, соблюдая инварианты: такой код легче писать, читать и тестировать.

Какие проблемы решает наш курс

1
Вопросы по алгоритмам на собеседованиях
У вас уже был неудачный опыт прохождения собеседований или вы готовитесь к своему первому интервью, наш курс создаст крепкий фундамент в ваших знаниях по алгоритмам. В рамках курса мы будем разбирать задачи из собеседований в том числе.
2
Использование алгоритмов в работе
Многие разработчики и инженеры сталкиваются с необходимостью написания алгоритмов. На курсе вы научитесь создавать эффективные алгоритмы.
3
Профессиональное развитие

Многие сталкиваются с проблемой личного развития и роста в профессии. Прокачка навыков написания алгоритмов поможет вам в развитии и повысит вашу стоимость на рынке труда.

Команда, которая всегда с вами на трудном пути

Через все этапы обучения вас ведут профессионалы, которые знают как научить. Они видят и анализируют ваш прогресс, направляют и помогают прийти к цели.

Преподаватели помогают понять теорию

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

Проверка домашних работ

Мы проверяем домашнюю работу и даем обратную связь.

Кураторы делают обучение комфортным

Отвечают на вопросы, напоминают о начале занятий, проводят консультации, следят за прогрессом каждого студента.

Мини-группы

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

Программа курса

Знание базовых алгоритмов и структур данных важно не только для написания производительного кода, но и для написания хорошего кода в принципе. Реализация классических алгоритмов и решение алгоритмических задач приучает писать код, соблюдая инварианты: такой код легче писать, читать и тестировать. Это одни из весомых причин, по которым компании требуют знания алгоритмов и проводят интервью с лайвкодингом.
В рамках этого курса мы изучим базовые алгоритмы и структуры данных, научимся решать классические теоретические задачи, которые (и им подобные) могут встретиться на интервью, а также решать задачи на программирование в тестирующей системе Codeforces. Всё это вместе позволит учащимся курса изучить алгоритмы, подготовиться к техническому интервью с лайвкодингом и в том числе подготовиться к секции по алгоритмам на вступительных экзаменах в ШАД.
Курс покрывает базовую теорию, в ходе обучения придётся решать значительное число теоретических задач и задач на программирование. Нужно быть готовыми к усердной работе.
Длительность курса 15 недель.
Модуль 1
Модуль 1
Знакомство с тестирующей системой Codeforces. Сложность алгоритмов. Простейшие алгоритмы с инвариантами.
Модуль 2
Модуль 2
Продолжение работы с инвариантами, «два указателя». Рекурсия и итерация: как исполняются рекурсивные алгоритмы.
Модуль 3
Модуль 3
Алгоритмы «разделяй и властвуй».
Модуль 4
Модуль 4
Сортировки и опирающиеся на них задачи.
Модуль 5
Модуль 5
Структуры данных на (динамических) массивах.
Модуль 6
Модуль 6
Структуры данных на указателях.
Модуль 7
Модуль 7
Аммортизационный анализ.
Модуль 8
Модуль 8
Структуры данных для запросов на отрезках. Модификация Декартова дерева. Дерево отрезков. (*) Дерево Фенвика.
Модуль 9
Модуль 9
Графы I. Поиск в ширину, алгоритмы Беллмана-Форда и Дейкстры.
Модуль 10
Модуль 10
Графы II. Остовные деревья. Алгоритмы Крускала и Прима.
Модуль 11
Модуль 11
Графы III. Поиск в глубину и его приложения (поиск компонент сильной связности, топологическая сортировка).
Модуль 12
Модуль 12
От кратчайших путей к динамическому программированию.
Модуль 13
Модуль 13
Динамическое программирование.
Модуль 14
Модуль 14
(*) Нижние оценки. Нижние оценки на поиск максимума и сортировки сравнениями.

Как проходят занятия

1
Много практики
На курсе мы будем в равной степени уделять внимание теории, практике (написанию кода), и решению теоретических задач (многие из которых типовые для интервью). Такой подход позволит лучше понять алгоритмы, а не просто обучиться на типовых примерах.
2
Записи занятий
Вам будут доступны записи занятий!
Вы сможете воспользоваться материалами уроков для повторения или углубления знаний
3
Удобно по времени
Занятия будут проходить по понедельникам 18:00 - 21:00 мск
В середине занятия предусмотрен 15 минутный перерыв.



Как мы преподаём
Тариф
Старт: 6 января 2025
Стоимость 3899₽ в неделю
  • ✔ 15 недель подготовки
  • ✔ Один из лучших преподавателей в сфере алгоритмов
  • ✔ Все занятия и консультации проходят онлайн
  • ✔ Еженедельная оплата, можно отказаться в любой момент
  • ✔ Проверка домашних работ и обратная связь по ним
  • ✔ Команда кураторов поддержит вас в обучении
Записаться

Что ещё важно?

Академический отпуск
Если жизненные обстоятельства осложнились или темп учёбы нужно снизить, вы можете уйти в академический отпуск.
В любой момент можете закончить обучение
Оплата курса еженедельная. В любой момент можете отказаться и не платить дальше. Для этого не нужно ничего доказывать и называть причину.
FAQ
  • Вопрос
    Где будут проходить занятия?
    Ответ
    Занятия будут проходить онлайн, на платформе Zoom.
    График занятий расположен выше.
  • Вопрос
    Как будут проходить занятия?
    Ответ
    Курс будет устроен не по образцу академического обучения, а как обучение на примерах: теоретический материал будет подаваться в сжатом виде, часто опуская доказательство, а основные идеи будем извлекать из решения задач. Курс послужит хорошим полигоном для подготовки к экзамену (или интервью с лайвкодингом), даже если вы уже неплохо знакомы с алгоритмами.
  • Вопрос
    Будут ли записи лекций и семинаров?
    Ответ
    Записи лекций и семинаров будут доступны в вашем личном аккаунте на нашей платформе.
  • Вопрос
    Смогу ли я освоить курс, если раньше не программировал?
    Ответ
    Если вы ранее не программировали (не были знакомы ни с одним языком программирования), то курс может оказаться непомерно сложным: на обучение базовому программированию требуется отдельное время и усилие, поэтому порогом входа на курс является владение каким-то языком программирования; важно не бояться отладки и быть готовыми тратить на неё время.
  • Вопрос
    Какой язык программирования будет использоваться на курсе?
    Ответ
    Вы сможете сдавать задачи на программирование почти на любом языке (см. список языков, [поддерживаемых Codeforces](https://codeforces.com/blog/entry/79)). На занятиях код будет писаться на Python (поскольку он близок к псевдокоду) и на C++, где необходимо показать особенности указателей и возможности работы со структурами данных стандартной библиотеки (STL). Мы рекомендуем программировать на C++ тем, кто собирается дальше поступать в ШАД и это действительно не сложно, потому что для алгоритмов хватит ограниченной части C++
  • Вопрос
    Будет ли проверка домашних работ?
    Ответ
    Да, проверка работ будет.