Курс “Алгоритмы и структуры данных”

place
Otus
calendar
29 июля
cost
на сайте Otus
duration
5 месяцев

Теория и навыки работы с алгоритмами и структурами данных помогут повысить производительность программных решений, улучшить качество кода. Успешное освоение основ курса поможет программисту выйти на уровень Middle и претендовать на работу у одного из партнёров Otus’а. Программа курса составлена профессиональным инженером «Лаборатории Касперского» и поможет овладеть динамическим программированием, создавать алгоритмы, продвинутые структуры данных под конкретную задачу проекта.

Карьера

После прохождения обучения на курсе программисты выйдут на уверенный Middle уровень в разработке. Начинающие специалисты прокачают код, научатся избегать типичных ошибок в программировании. Лучшие выпускники после защиты получат приглашение на собеседование от одного из более чем 50 партнёров платформы Otus.

Эксперты

Преподаватели курсов Otus - эксперты программирования с многолетним опытом создания проектов и работы в ведущих компаниях России и мира. На протяжении обучения вы сможете обратиться за консультацией, помощью по домашнему заданию, выпускному проекту к любому из экспертов.

expert

Михаил Горшков

Автор курса. Разработчик «Лаборатории Касперского». 18-летний опыт программирования на C++ и Python
expert

Матвей Калинин

30-летний опыт программирования. Главный разработчик одного из крупнейших банков страны
expert

Евгений Волосатов

20-летний опыт работы в качестве ведущего программиста. В числе наиболее значимых крупных проектов: сервис онлайн-знакомств на PHP, программа расчёта зарплаты на АЭС на C#, видеокурс по Java GameDev
expert

Андрей Иванов

Один из создателей бесплатного сервиса для программистов C++ - academy.cppstudio.com. Более 5 лет программирует на C++ и C#
expert

Михаил Степанов

Data Scientist в «Insilico Medicine». Разработчик в сфере deep learning для создания новых лекарственных препаратов. Опыт работы на проектах агрегаторов отзывов, анализа, оптимизации крупных производств
expert

Владислав Родин

Руководитель группы разработки. Работал программистом Java в НСПК и «Яндексе». Владеет навыками профессионального улучшения инфраструктуры проектов, настройки CI/CD процессов. Последние 3 года в Java Enterprise разработке
Михаил Горшков
Автор курса. Разработчик «Лаборатории Касперского». 18-летний опыт программирования на C++ и Python
Матвей Калинин
30-летний опыт программирования. Главный разработчик одного из крупнейших банков страны
Евгений Волосатов
20-летний опыт работы в качестве ведущего программиста. В числе наиболее значимых крупных проектов: сервис онлайн-знакомств на PHP, программа расчёта зарплаты на АЭС на C#, видеокурс по Java GameDev
Андрей Иванов
Один из создателей бесплатного сервиса для программистов C++ - academy.cppstudio.com. Более 5 лет программирует на C++ и C#
Михаил Степанов
Data Scientist в «Insilico Medicine». Разработчик в сфере deep learning для создания новых лекарственных препаратов. Опыт работы на проектах агрегаторов отзывов, анализа, оптимизации крупных производств
Владислав Родин
Руководитель группы разработки. Работал программистом Java в НСПК и «Яндексе». Владеет навыками профессионального улучшения инфраструктуры проектов, настройки CI/CD процессов. Последние 3 года в Java Enterprise разработке
skill

Для кого

Junior и Middle разработчики

skill2

Навыки

Опыт программирования на любом языке

Базовое знание алгоритмов, структур данных, желание развиваться в этой области

Содержание

1. Введение в курс

content

4 темы. Вводный модуль обучения сориентирует в мире алгоритмов разработки. Вы пройдёте комбинаторику, битовую арифметику, поработаете с алгебраическими алгоритмами и базовыми структурами данных.

2. Сортировка

content

4 темы. Второй модуль включает работу с простыми, пирамидальными механизмами сортировки, внешней и линейной сортировкой данных.

3. Деревья

content

3 темы. Двоичные, красно-чёрные деревья, В-деревья отрезков.

4. Хэширование

content

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

5. Графовая теория

content

5 тем. Разберёте определения, представления, способы поиска, сортировки. Соберёте минимальный скелет, проложите кратчайший путь. Решите задачу коммивояжёра.

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

content

5 тем. Модуль посвящён практическому разбору 4 алгоритмов: Бойера-Мура, Кнута-Морриса-Пратта, Ахо-Корасика, Лемпела-Зива. А также кода Хаффмана. Под руководством преподавателей разберёте базовые принципы, алгоритмы шифрования данных.

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

content

3 темы. В рамках модуля разбирается динамическое программирование: суть, способы, методы, преимущества и недостатки. Heap manager, Garbage collector. Кэширование

8. Вероятностные алгоритмы и структуры данных

content

3 темы. Фильтр Блума. Алгоритмы MinHash, SimHash, HyperLogLog, Count-Min Sketch.

9. Численные методы оптимизации

content

2 темы. Научитесь быстрому поиску экстремума функции. Поработаете с нейросетями и алгоритмом backpropagation (обратного распространения ошибки).

10. Проектная работа

content

На финишной прямой обучения вам предстоит определиться с темой выпускной работы, которая пополнит ваше портфолио. На протяжении самостоятельной подготовки эксперты консультируют желающих и помогают разрешить сложности реализации проекта. В завершении вас ждёт защита проектов, по результатам которой лучшие смогут трудоустроиться в компании партнёров Otus’а.

platform
Площадка проведения
adress