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

Курс рассчитан на 4 месяца при нагрузке примерно 10 часов в неделю, но вы можете проходить его быстрее — новые уроки будут открываться сразу после выполненной практики
10 тем・7 часов
Бесплатно
Введение и пробные задачи
1 модуль — бесплатно, на котором вы изучите понятие алгоритма, освоите методы скользящего среднего и двух указателей
  • Знакомство с курсом
  • Команда обучения
  • Временные ряды
  • Метод скользящего среднего
Знакомство с командой курса
Узнаете о создателях курса, наставниках, код-ревьюерах и кураторах, которые будут поддерживать и направлять вас на протяжении всего курса, изучите их опыт и специализации
Что такое алгоритмы и структуры данных
Погрузитесь в основы и понимание алгоритмов и структур данных, изучите их роль и важность в эффективном программировании и решении задач
Формат курса и программа
Получите детальный обзор того, как устроено обучение на курсе, какие вас ждут модули и задания
Как устроен Яндекс Контест
Изучите, как использовать систему проверки кода Яндекс Контест, чтобы тестировать и оценивать ваши решения задач
Обработка временных рядов
Познакомитесь с методом скользящего среднего, понятием полуинтервала и разберёте алгоритм решения задачи
Задача TwoSum
Познакомитесь с популярной задачей TwoSum и разберёте 3 метода решения этой задачи
Что будет дальше
Узнаете, что ждёт вас в платной части курса, получите ссылки на полезные материалы, чтобы дальше развивать навыки в области алгоритмов и структур данных
Поймёте, подойдёт ли вам курс, и узнаете, как устроено обучение в Практикуме
2
23 темы・27 часов
Начало курса и введение в алгоритмы
  • Сложность алгоритма
  • O-нотация
  • Введение в алгоритмические собеседования
Начало обучения
Познакомитесь с правилами обучения на курсе, сдачей финальных задач и мессенджером Пачка
Линейный поиск
Изучите задачу поиска элемента в массиве, научитесь оценивать эффективность, узнаете, что такое вычислительная сложность и линейная зависимость
Бинарный поиск
Познакомитесь с задачей поиска элемента в массиве, сравните линейный и бинарный поиск
Сложность алгоритма, оценка времени исполнения
Изучите О-нотацию и разберёте примеры
Пространственная сложность алгоритма
Узнаете, что это такое, как проводить оценку, разберётесь во взаимосвязи пространственной и временной сложности
Введение в алгоритмические собеседования
Поймёте, как они проходят, какие есть типы заданий, этапы подготовки и критерии успешности
Решите 12 задач, чтобы потренироваться, и выполните 2 финальные задачи, которые отправите на код-ревью
3
14 тем・20 часов
Основные структуры данных
  • Массив
  • Связный список
  • Стек
  • Очередь
  • Операции вставки, поиска и удаления
  • Представление данных в памяти
Статический и динамический массив
Поймёте, в чём сложность операций поиска, вставки и удаления при работе с массивами
Связные списки
Изучите операции поиска, вставки и удаления при работе со связным списком, поймёте, что такое двусвязный список
Стек, очередь, дек
Изучите интерфейс и реализацию структур данных
Решите 12 задач, чтобы потренироваться, и выполните 2 финальные задачи, которые отправите на код-ревью
4
16 тем・20 часов
Рекурсия и сортировки
  • Рекурсия
  • Разделяй и властвуй
  • Сортировка вставками
  • Сортировка по ключу
  • Лексикографическая сортировка
  • Сортировка слиянием
  • Быстрая сортировка
  • Сортировка подсчётом
Рекурсия
Познакомитесь с понятием рекурсии и принципом «разделяй и властвуй», изучите бинарный поиск
Сортировки
Изучите разные виды сортировки: квадратичные сортировки, сортировку слиянием, быструю сортировку, линейную сортировку подсчётом
Решите 16 задач, чтобы потренироваться, и выполните 2 финальные задачи, которые отправите на код-ревью
5
12 тем・20 часов
Хеш-функции
  • Абстракция отображения
  • Хеш-функции
  • Хеш-таблица
  • Коллизии
  • Метод цепочек
  • Метод открытой адресации
Хеш-таблица и хеш-функция
Изучите понятие и свойства хеш-функции, узнаете, что из себя представляет структура данных в хеш-таблице
Коллизии
Познакомитесь с определением и способами разрешения коллизий
Решите 12 задач, чтобы потренироваться, и выполните 2 финальные задачи, которые отправите на код-ревью
6
14 тем・2 недели
Деревья
  • Структура данных «Дерево»
  • Сбалансированные деревья поиска
  • Структура данных «Куча»
  • Пирамидальная сортировка
Структура данных «Дерево»
Познакомитесь с двоичными и сбалансированными деревьями поиска, узнаете, что такое балансировка АВЛ-дерева
Структура данных «Куча»
Изучите алгоритм и узнаете, в чём его сложность, а также познакомитесь с пирамидальной сортировкой
Решите 14 задач, чтобы потренироваться, и выполните 2 финальные задачи, которые отправите на код-ревью
7
13 тем・2 недели
Графы
  • Граф
  • Обход в глубину
  • Обход в ширину
  • Компоненты связности
  • Алгоритмы поиска кратчайшего пути
  • Минимальное остовное дерево
Графы
Познакомитесь с определением графа и способами представления в памяти
Операции на графах
Изучите обход графа в глубину и в ширину, компоненты связности, алгоритмы поиска кратчайшего пути, минимальное остовное дерево
Решите 12 задач, чтобы потренироваться, и выполните 2 финальные задачи, которые отправите на код-ревью
8
14 тем・2 недели
Жадные алгоритмы и динамическое программирование
  • Динамическое программирование
  • Жадные алгоритмы
Динамическое программирование
Познакомитесь с определением, узнаете, что такое одномерные и двумерные задачи, изучите динамическое программирование по подотрезкам и подмножествам
Жадные алгоритмы
Изучите понятие жадного алгоритма и область его применения, рассмотрите примеры и узнаете, как доказывать корректность алгоритма
Решите 15 задач, чтобы потренироваться, и выполните 2 финальные задачи, которые отправите на код-ревью
9
11 тем・2 недели
Алгоритмы на строках
  • Префикс-функция
  • Подстрока
  • Префиксы и суффиксы
  • Поиск шаблона в строке
  • Структура данных «Бор»
Префикс-функция
Изучите подстроки, префиксы и суффиксы
Поиск шаблона в строке
Познакомитесь с наивным алгоритмом и структурой данных «Бор»
Решите 12 задач, чтобы потренироваться, и выполните 2 финальные задачи, которые отправите на код-ревью
С наставником・Каждые 2 недели
Вебинары для разбора сложных тем, сессии Q&A
С наставником・1,5 часа
Пробное алгоритмическое собеседование
Пройдёте один на один с наставником алгоритмическое интервью, максимально приближенное к настоящему, чтобы попрактиковаться решать задачи. По итогам наставник даст обратную связь.
Карьерный трек
Тот, кто хочет сменить работу, обновит резюме и портфолио, чтобы их точно заметили рекрутеры. Напишет сопроводительное письмо и поймёт, как общаться с работодателями. Тот, кто стремится к повышению, научится презентовать результаты своей работы. Узнает, как обсуждать с руководителями зарплату и новые зоны ответственности.

Как проходит обучение

YandexGPT помогает учиться

Когда в теории что-то непонятно, нейросеть объяснит это другими словами. А в конце каждого урока подготовит краткий пересказ о самом главном.

Этот курс может оплатить
ваш работодатель
Полностью или разделив оплату с вами,
например 50/50 или 75/25
  • Расскажем всё про курс
  • Поделимся презентацией
  • Ответим на ваши вопросы
  • Подготовим договор и счёт

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

Подойдёт ли мне этот курс?
Для тех, кто сомневается, мы спроектировали бесплатную часть, которая поможет получить ответ на этот вопрос. Если вы убедитесь, что выбранная профессия вам не подходит, — это тоже положительный результат.
Можно ли выучить алгоритмы за 4 месяца?
Думаем, что да. Если вы будете уделять занятиям не менее 10 часов в неделю, выполнять домашние задания и общаться с вашим наставником. Тогда за 4 месяца вы освоите навыки для дальнейшего профессионального развития.
Каким требованиям нужно соответствовать?
У вас должна быть возможность заниматься не менее 10 часов в неделю. А ещё нужно уметь решать тестовые задания на одном из популярных языков программирования: C++, Python, Java, Go, JavaScript, C#, Kotlin, Swift.
Получу ли я какой-то документ после курса?
Да, вы получите сертификат о повышении квалификации.
Как и когда я буду учиться?
Обучение состоит из 3 составляющих: теории с закреплением в Яндекс Контесте, домашних заданий для самостоятельной практики и код-ревью. Вы учитесь в любое удобное время, а выполнение домашнего задания привязано к двухнедельным спринтам.
Кто будет меня учить?
Все наставники — практикующие специалисты: сотрудники Яндекса и других крупных компаний. Программу составляют опытные преподаватели и методисты, а ещё действующие специалисты Яндекса, Школы анализа данных и других лидеров технологической и образовательной индустрий.
Что делать, если я не справлюсь с нагрузкой?
В программе предусмотрены каникулы, во время которых можно отдохнуть или повторить сложные темы.

Если случилось непредвиденное или понадобилось больше времени на закрепление материала, напишите своему куратору. Он поможет перенести дедлайн сдачи проекта или перевестись в более поздний поток. На общую стоимость курса это не повлияет.
После курса меня возьмут работать в Яндекс?
Мы поддержим при поиске работы, но не гарантируем трудоустройство в Яндекс. Многое зависит от вас самих: наличие подходящего опыта для вакантных позиций, желание сменить работу и упорство в прохождении всех этапов.
Как можно оплатить?
Банковской картой: внести всю сумму сразу или платить ежемесячно.

Ежемесячные платежи работают так: вы вносите первую оплату, и в этот момент привязывается карта. С этой карты автоматически будут списываться следующие платежи каждые 30 календарных дней. Например, оплатили 25 марта — следующий платёж пройдёт 24 апреля. Обучение будет стоить меньше, если оплатить весь курс сразу.

Через компанию: юридические лица также могут оплатить обучение в Практикуме. Чтобы заказать счёт для оплаты, оставьте заявку на странице для корпоративных клиентов.
На каком языке проходит обучение?
Всё будет на русском: теория, практические задания и вебинары, а ещё чаты с куратором, наставником и другими студентами.

Давайте поможем

Напишите, как вас зовут и по какому номеру можно связываться — позвоним и расскажем всё про курсы