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

Курс рассчитан на 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 часа
Пробное алгоритмическое собеседование
Пройдёте один на один с наставником алгоритмическое интервью, максимально приближенное к настоящему, чтобы попрактиковаться решать задачи. По итогам наставник даст обратную связь.
Карьерный центр・8 недель
Подготовка к трудоустройству
Изучите стратегии поиска работы и узнаете о тонкостях выбора компании-работодателя, подготовите портфолио, напишете резюме и сопроводительное письмо.
Карьерный центр・8–24 недели
Акселерация
Программа сопровождения: вы ищете работу, мы консультируем и помогаем. Участвовать в программе могут те, кто закончил программу трудоустройства и находится в активном поиске работы.

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

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

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

Вопросы и ответы

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

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

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

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

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

Мы работаем с 12:00 до 21:00 по Астане и связываемся в течение одного дня. Если оставите заявку сейчас, то перезвоним уже в рабочее время.