Скоро будет больше
IT-рекрутер

Алгоритмы
для разработчиков

Алгоритмы помогают разработчику правильно использовать структуры данных, дают доступ к знаниям и опыту других людей, пригождаются на собеседованиях и в работе, когда нужно быстро написать эффективный код.
Чтобы учиться на курсе, нужно уверенно владеть одним из языков программирования: C++, Python, Java, Go, JavaScript. Опыт промышленной разработки необязателен.

Что вас ждёт на курсе

Это курс о базовых алгоритмах и структурах данных. Благодаря нему вы научитесь быстрее писать чистый код, видеть разные варианты решения задачи и сравнивать их по эффективности. Если вы планируете менять место работы, знание алгоритмов пригодится на собеседованиях. Кроме того, в курс включена консультация или сопровождение при поиске работы.

01

Образовательная инфраструктура

Основа всего обучения — это практика. Сначала вы изучаете теоретическую часть в интерактивном учебнике, а затем получаете до 15 практических задач по каждой пройденной теме. Всего на курсе более 100 задач.

Интерактивный учебник — это веб-платформа Практикума, в которую встроены уроки и небольшие тесты.

Практическая работа идёт в Яндекс.Контесте — специальной платформе, созданной для проверки алгоритмических задач. Язык программирования может быть любой: C++, Python, Java, Go или JavaScript.

02

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

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

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

Студенты обучаются в группах и общаются в Slack — корпоративном мессенджере, которым пользуются многие IT-компании. Сокурсники видят друг друга, задают и отвечают на вопросы. В итоге получается дружелюбное сообщество, которое значительно помогает в обучении.

Чтобы процесс обучения был комфортным, у студентов есть куратор и команда поддержки в чате. Куратор отвечает за организационные вопросы: напоминает о дедлайнах, присылает полезные ссылки и записи вебинаров и поддерживает в трудные моменты. Команда поддержки 24/7 помогает справляться с любыми техническими сложностями.

03

Помощь с трудоустройством

Некоторые студенты планируют менять работу. Для них мы проводим базовые консультации с разбором резюме и портфолио.

Желающие могут участвовать в программе сопровождения с полным разбором стратегии поиска работы, включая возможность устроиться в Яндекс.

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

Программисты учат программированию

Наставники — опытные разработчики из Яндекса и других IT-компаний.

Сколько стоит обучение

Вводная часть —
бесплатно

Это хорошая возможность испытать курс в деле и принять взвешенное решение.
  • Вы узнаете о методе двух указателей, который встречается в реальной жизни и на собеседованиях.
  • Освоите базовые подходы к оценке сложности алгоритмов.
  • Познакомитесь с системой Яндекс.Контест.
  • Получите доступ к набору задач для закрепления материала на практике.
  • Поймёте, как устроено обучение на курсе.

Платное продолжение

13 000 ₽ помесячный платёж.
Итоговая сумма составит 52 000 ₽

45 000 ₽ при оплате сразу за 
4 месяца обучения.

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

Программа обучения

1

Введение в алгоритмы

20 часов

Понятие сложности алгоритма. O-нотация. Оценка времени исполнения программы.

2

Основные структуры данных

20 часов

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

Открыть всю программу

Рекурсия

4

Сортировки

15 часов

Квадратичные сортировки. Сортировка слиянием. Быстрая сортировка. Линейная сортировка подсчётом.

5

Хеш-функции и хеш-таблицы

20 часов

Абстракция отображения. Понятие и свойства хеш-функции, примеры. Структура данных хеш-таблица. Коллизии и способы их разрешения.

6

Деревья

20 часов

Структура данных дерево. Сбалансированные деревья поиска. Структура данных куча. Пирамидальная сортировка.

7

Графы

20 часов

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

8

Динамическое программирование

15 часов

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

9

Жадные алгоритмы

5 часов

Понятие жадного алгоритма, область применения. Примеры, доказательство корректности алгоритма.

10
Скрыть программу

Алгоритмы на строках

20 часов

Префикс-функция. Подстроки, префиксы и суффиксы. Поиск шаблона в строке. Наивный алгоритм. Структура данных бор.

Что говорят о нас
Студенты
Эксперты

Начните учиться бесплатно

Решите пробный набор задач и оцените свою алгоритмическую подготовку.

Часто задаваемые вопросы

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