Алгоритмы для разработчиков
Курс о разработке и использовании разнообразных алгоритмов и структур данных
IT: Интернет / Проектирование и разработка сайта
OTUS Онлайн-образованиеЦелевая аудитория
Junior-разработчикиMiddle-разработчикиЧто даст вам этот курс
Знание классических алгоритмов и структур данных — обязательное требование, которое предъявляют крупные IT-компании к претендентам на вакансию Middle Developer. Именно понимание принципов работы алгоритмов и структур данных позволяет повысить производительность программ и улучшить качество кода.
Поэтому для вас мы разработали уникальную авторскую программу от инженера-программиста из Лаборатории Касперского, которая поможет на профессиональном уровне:
— использовать готовые алгоритмы и структуры данных и грамотно создавать свои под конкретную задачу;
— владеть техникой вычисления сложности алгоритмов;
— применять в работе продвинутые структуры данных: хэш-таблицы, графы, деревья поиска и др.;
— решать алгебраические задачи и задачи динамического программирования.
Для кого этот курс?
Поэтому для вас мы разработали уникальную авторскую программу от инженера-программиста из Лаборатории Касперского, которая поможет на профессиональном уровне:
— использовать готовые алгоритмы и структуры данных и грамотно создавать свои под конкретную задачу;
— владеть техникой вычисления сложности алгоритмов;
— применять в работе продвинутые структуры данных: хэш-таблицы, графы, деревья поиска и др.;
— решать алгебраические задачи и задачи динамического программирования.
Для кого этот курс?
Программа создана для Junior/Middle разработчиков, владеющих разными языками программирования. Откроет огромные перспективы для развития тем, кто застоялся на месте, и тем, кто хочет вырасти профессионально, избежав многих ошибок. И, конечно, курс просто жизненно необходим всем, кто прогулял или недостаточно серьёзно относился к занятиям по алгоритмам в вузе.
50+ работодателей ждут наших выпускников
Большое количество практических заданий
Примеры не на псевдокоде, а на одном из языков: С++, Python, Java
Необходимые знания
- Опыт программирования на любом языке программирования (начальный или средний уровень)
- Знание элементарной математики в объёме средней школы
- Минимальное знание алгоритмов и структур данных и желание развиваться в области их изучения
Процесс обучения
Обучение проходит онлайн, в формате вебинаров. Длительность этого курса составляет 5 месяцев, финальный месяц отводится для выполнения проектной работы и оттачивания полученных навыков.
Расписание занятий включает 2 вебинара в неделю по 2 академических часа и от 2 до 4 часов на домашнюю работу.
Во время обучения слушатель может задавать преподавателю уточняющие вопросы по материалам лекций, домашних заданий и выпускного проекта.
Расписание занятий включает 2 вебинара в неделю по 2 академических часа и от 2 до 4 часов на домашнюю работу.
Во время обучения слушатель может задавать преподавателю уточняющие вопросы по материалам лекций, домашних заданий и выпускного проекта.
Программа
1 Введение в алгоритмы и структуры данных
1.1 Комбинаторика
1.2 Алгебраические алгоритмы
1.3 Битовая арифметика
1.4 Базовые структуры данных
2 Алгоритмы сортировки
2.1 Простая сортировка
2.2 Пирамидальная сортировка
2.3 Быстрая и внешняя сортировка
2.4 Линейная сортировка
3 Деревья
3.1 Двоичные деревья поиска
3.2 Красно - чёрные деревья
3.3 В-деревья отрезков
4 Хеш-таблицы
4.1 Таблицы с прямой адресацией. Хэш-таблицы, хэш-функции. Метод цепочек (chaining).
4.2 Хеш-функции. Стратегии поиска. Универсальное хеширование
4.3 Универсальное и идеальное хэширование.
5 Графы
5.1 Поиск в ширину. Поиск в глубину, поиск компонент сильной связности. Алгоритм Косарайю.
5.2 Топологическая сортировка
5.3 Минимальные остовные деревья. Алгоритмы Крускала и Прима
5.4 Heap manager, Garbage collector
5.5 Поиск кратчайшего пути в графе. Алгоритмы Дейкстры, БеллманаФорда, ФлойдаУоршалла
5.6 Алгоритмы Джонсона, А*, и способы решения задачи коммивояжера
6 Алгоритмы на строках
6.1 Алгоритм Бойера-Мура
6.2 Алгоритм КнутаМоррисаПратта
6.3 Алгоритм АхоКорасика
6.4 Код Хаффмана, алгоритм Лемпела-Зива. Run-length encoding.
6.5 Шифрование данных, базовые принципы и алгоритмы.
7 Динамическое программирование
7.1 Кэширование
7.2 Динамическое программирование: задачи динамического программирования
8 Вероятностные алгоритмы и структуры данных
8.1 Фильтр Блума
8.2 Алгоритмы MinHash, SimHash
8.3 Алгоритмы HyperLogLog, Count-Min Sketch
9 Численные методы оптимизации
9.1 Поиск экстремума функции
9.2 Нейронные сети. Алгоритм обратного распространения ошибки (backpropagation)
10 Проектная работа
10.1 Выбор темы и организация проектной работы
10.2 Консультация по проектам и домашним заданиям
10.3 Защита проектных работ
10.4 Подведение итогов курса
Выпускной проект
В рамках курса предусмотрена защита проекта. Это отдельная работа, на выполнение которой отводится последний месяц обучения. Проект включает в себя имплементацию сложного алгоритма и/или сложной структуры данных. При подготовке проектной работы студент может рассчитывать на консультации преподавателя и его экспертные советы. Примеры тем выпускного проекта:
- написать кастомную хэш-таблицу
- реализовать свой менеджер памяти с garbage collector
- реализовать B-tree индекс для СУБД
- любая тема на выбор студента, связанная с продвинутыми алгоритмами и структурами данных
После обучения вы
- получите материалы по всем пройденным занятиям (видеозаписи вебинаров, выполненные домашние задания, выпускной проект)
- сможете писать рациональный и хорошо структурированный код
- получите сертификат об окончании курса
- приобретёте навыки работы с алгоритмами и структурами данных, которые необходимы при реализации сложных проектов в крупных компаниях
- получите приглашение пройти собеседование в компаниях-партнёрах (в случае успешного обучения)
Записаться на курс
Курс Алгоритмы для разработчиков
• В месяц: 12 500 ₽
• В кредит: 6728 ₽ в месяц
60 000 ₽
Преподаватели
Матвей Калинин
Главный разработчик на ibm i
Михаил Горшков
Андрей Иванов
Разработчик
Михаил Степанов
Разработчик
Часто задаваемые вопросы
Можно ли начать обучение позже даты старта курса?
Да, можно. Доступ к материалам курса будет доступен в личном кабинете. Если вы будете сильно отставать от общей группы, то можно будет перевестись на следующий поток бесплатно.
Другие курсы
Сметное дело и сметные программы: Мастер-класс
Центральные Городские Сметные Курсы
1 500 ₽
Открытый набор
Санкт-Петербург, Санкт-Петербург
Метрологическое обеспечение коммерческого учёта электроэнергии: Повышение квалификации
Учебный центр НП "Совет рынка"
45 100 ₽
Москва, ул. 2-я Звенигородская, д. 13, стр. 43
Юрисконсульт организации: Повышение квалификации
Русская Школа Управления, РШУ
55 500 ₽
Открытый набор
Санкт-Петербург, Биржевой переулок 2, литера А