Обучение программированию — от нуля до олимпиад

Изучайте программирование с нуля и готовьтесь к олимпиадам: уроки с теорией и примерами кода, задачи с автоматической проверкой и понятный путь от первого «Hello, World» до продвинутых алгоритмов.

Как пользоваться сайтом

1

Войдите через Google

Один клик — и ваш прогресс, решения и история попыток сохраняются автоматически.

2

Выберите свой путь

Новичок? Начните с курса языка программирования. Уже пишете код? Начинайте путь олимпиадника с первого уровня.

3

Решайте задачи с автопроверкой

К урокам прилагаются задачи. Отправьте решение — система проверит его на тестах за секунды.

4

Соревнуйтесь и растите

Участвуйте в соревнованиях, следите за рейтингом и переходите на следующий уровень.

Пошаговая программа подготовки к олимпиадам по программированию: от основ алгоритмики до экспертных тем. Каждый уровень содержит уроки с теорией, примерами кода и задачами с автоматической проверкой. Если вы совсем новичок — сначала пройдите курс одного из языков программирования.

  1. 1

    Уровень 1. Основы алгоритмики

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

    3 уроков

  2. 2

    Уровень 2. Сортировки и поиск

    Классические приёмы, которые встречаются почти в каждой олимпиадной задаче: сортировки, два указателя, префиксные суммы и бинарный поиск.

    4 уроков

  3. 3

    Уровень 3. Структуры данных и жадные алгоритмы

    Стек, очередь, множества и словари, рекурсия, жадные алгоритмы и DSU — инструменты для задач среднего уровня.

    5 уроков

  4. 4

    Уровень 4. Графы и динамическое программирование

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

    4 уроков

  5. 5

    Уровень 5. Продвинутые темы

    Продвинутое ДП, дерево отрезков, строковые алгоритмы и теория чисел — уровень призёров региональных олимпиад.

    4 уроков

  6. 6

    Уровень 6. Экспертные темы

    Потоки, суффиксные структуры и вычислительная геометрия — темы международного уровня.

    3 уроков

Курсы по языкам программирования

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

Доска