Алгоритмы для разработчиков: разработка и использование разнообразных алгоритмов и структур данных
Рассрочка
Рассрочка

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

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

Длительность обучения:

5 месяцев

4 ак. часа в нед.

Что даст вам этот курс

Вы расширите кругозор и получите опыт реализации классических алгоритмов, который поможет вам при создании собственных алгоритмов для решения бизнес-задач. Именно понимание принципов работы алгоритмов и структур данных позволяет повысить производительность программ и улучшить качество кода.

В программу входят самые известные прикладные алгоритмы, знание которых, как правило, требуется от претендентов на Middle и Senior-должности в крупных IT-компаниях. А также разбираются способы решения задач олимпиадного уровня.

Для кого этот курс?


Для бэкенд-разработчиков и системных программистов, которые пишут софт и приложения, в т.ч. мобильные. В первую очередь курс призван помочь Junior-специалистам усилить свои фундаментальные навыки программирования.

Особенности курса


Интерактивные вебинары. Преподаватели используют современные педагогические методики, чтобы вовлечь студентов в тему и помочь им лучше усвоить знания. Каждое занятие — это заряд алгоритмической энергии, который поможет вам в интенсивном обучении и выполнении самостоятельной работы, а разнообразие тем позволит сохранить запал до конца курса.
Глубокое погружение в темы. Каждый алгоритм вы изучите «на пальцах», на конкретных визуальных примерах, исследуете разные способы его реализации. Существует тысячи и тысячи самых разных алгоритмов, на изучение которых можно потратить многие годы. Нет смысла изучать их все сразу, мы ценим ваше время, поэтому отобрали самые важные, интересные и популярные алгоритмы. Вы пройдете такие актуальные темы как битовая арифметика, рекурсия, динамическое программирование, теория графов и др. Модуль 9 посвящен продвинутым алгоритмическим трендам, которые рассчитаны на опытных специалистов.
Можно проходить курс на любом языке программирования. На вебинарах преподаватели интерактивно рисуют и демонстрируют, как работает каждый алгоритм, некоторые из них пишем с нуля прямо на уроке, используя C#, Java или Python, после чего вы сможете самостоятельно написать этот алгоритм на вашем любимом языке программирования. Благодаря подробным объяснениям и визуализации, идея каждого алгоритма станет понятна.
Свое приложение для автопроверки. Вы напишете свою простую систему тестирования, с помощью которой сможете проверять часть заданий по заготовленным преподавателями тестам.
Проектная работа для портфолио. К концу курса вы напишете свое приложение и сможете представлять его на собеседовании. Многие студенты придумывают и реализуют интересные проекты: распознавание рукописных цифр, генерация прохождения лабиринтов, решение заданий судоку и так далее.

Необходимые знания

  • Опыт программирования на любом языке программирования (начальный или средний уровень)
  • Знание элементарной математики в объёме средней школы
  • Минимальное знание алгоритмов и структур данных и желание развиваться в области их изучения

Процесс обучения

Обучение проходит онлайн, в формате вебинаров. Длительность этого курса составляет 5 месяцев, финальный месяц отводится для выполнения проектной работы и оттачивания полученных навыков.

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

Корпоративное обучение для ваших сотрудников

Поможем вашей компании развивать команду! Благодаря данному курсу ваши сотрудники: Смогут повысить производительность программ и улучшить качество кода / Смогут самостоятельно решать более сложные задачи уровня Middle+ / Получат большое количество практических задач во время обучения
>

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

В процессе обучения вы получите комплексные знания и навыки.
Тема 1. Циклы и рекурсия
Тема 2. Как выполнять домашние задания
Тема 3. Алгебраические алгоритмы
Тема 4. Базовые структуры данных
Тема 5. Битовая арифметика
Тема 6. Простые сортировки
Тема 7. Пирамидальная сортировка
Тема 8. Быстрая и внешняя сортировка
Тема 9. Линейная сортировка
Тема 10. Двоичные деревья поиска АВЛ
Тема 11. Красно-чёрные деревья
Тема 12. Другие варианты деревьев поиска
Тема 13. Хэш-функции и хэш-таблицы
Тема 14. Разрешение коллизий
Тема 15. Универсальное и идеальное хэширование
Тема 16. «Префиксное дерево»
Тема 17. Определения и представления
Тема 18. Поиск и сортировка
Тема 19. Минимальный скелет
Тема 20. Кратчайший путь
Тема 21. Управление памятью
Тема 22. Задача коммивояжёра
Тема 23. Алгоритм Бойера-Мура
Тема 24. Алгоритм Ахо-Корасика
Тема 25. Алгоритм Кнута-Морриса-Пратта
Тема 26. Алгоритмы сжатия
Тема 27. Шифрование данных
Тема 28. Алгоритмы кэширования
Тема 29. Динамическое программирование
Тема 30. Сложная задача
Тема 31. Dancing Links
Тема 32. Фильтр Блума
Тема 33. Алгоритмы MinHash, SimHash
Тема 34. Алгоритмы HyperLogLog, Count-Min Sketch
Тема 35. Выбор темы и организация проектной работы
Тема 36. Консультация по проектам и домашним заданиям
Тема 37. Защита проектных работ
Тема 38. Подведение итогов курса
Скачать подробную программу

Выпускной проект

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


  • написать кастомную хэш-таблицу

  • реализовать свой менеджер памяти с garbage collector

  • реализовать B-tree индекс для СУБД

  • любая тема на выбор студента, связанная с продвинутыми алгоритмами и структурами данных

Прошедшие открытые вебинары

Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Создание ассоциативного массива различными способами.
День открытых дверей
19 января 2022 года в 20:00
Оставьте заявку, чтобы получить доступ к записям прошедших мероприятий. Записи всех мероприятий появятся в этом блоке

После обучения вы


  • получите материалы по всем пройденным занятиям (видеозаписи вебинаров, выполненные домашние задания, выпускной проект)

  • сможете писать рациональный и хорошо структурированный код

  • получите сертификат об окончании курса

  • приобретёте навыки работы с алгоритмами и структурами данных, которые необходимы при реализации сложных проектов в крупных компаниях
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Алгоритмы и структуры данных»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Зам. директора департамента образования
ООО “Отус Онлайн-Образование”
Вдовиченко М.M.

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Алгоритмы и структуры данных»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Зам. директора департамента образования
ООО “Отус Онлайн-Образование”
Вдовиченко М.M.

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.