Алгоритмы для разработчиков: разработка и использование разнообразных алгоритмов и структур данных
🔥 Начинаем BLACK FRIDAY!
Максимальная скидка -25% на всё. Успейте начать обучение по самой выгодной цене.
Выбрать курс

Курсы

Программирование
iOS Developer. Basic
-25%
Python Developer. Professional
-25%
Разработчик на Spring Framework
-25%
Golang Developer. Professional
-25%
Python Developer. Basic
-25%
iOS Developer. Professional
-25%
Highload Architect
-25%
JavaScript Developer. Basic
-25%
Kotlin Backend Developer
-25%
JavaScript Developer. Professional
-25%
Android Developer. Basic
-25%
Unity Game Developer. Basic
-25%
Разработчик C#
-25%
Программист С Web-разработчик на Python Алгоритмы и структуры данных Framework Laravel PostgreSQL Reverse-Engineering. Professional CI/CD Vue.js разработчик VOIP инженер Программист 1С Flutter Mobile Developer Супер - интенсив по Kubernetes Symfony Framework Advanced Fullstack JavaScript developer Супер-интенсив "Azure для разработчиков"
Инфраструктура
Мониторинг и логирование: Zabbix, Prometheus, ELK
-25%
DevOps практики и инструменты
-25%
Архитектор сетей
-25%
Инфраструктурная платформа на основе Kubernetes
-25%
Супер-интенсив «ELK»
-16%
Супер-интенсив «IaC Ansible»
-16%
Супер-интенсив "SQL для анализа данных"
-16%
Базы данных Сетевой инженер AWS для разработчиков Cloud Solution Architecture Разработчик голосовых ассистентов и чат-ботов Внедрение и работа в DevSecOps Администратор Linux. Виртуализация и кластеризация Нереляционные базы данных Супер-практикум по использованию и настройке GIT IoT-разработчик Супер-интенсив «СУБД в высоконагруженных системах»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

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

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

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

5 месяцев

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

В январе 2021 года

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

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

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

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


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

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



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


Глубокое погружение в темы. Каждый алгоритм вы изучите «на пальцах», на конкретных визуальных примерах, исследуете разные способы его реализации. Существует тысячи и тысячи самых разных алгоритмов, на изучение которых можно потратить многие годы. Нет смысла изучать их все сразу, мы ценим ваше время, поэтому отобрали самые важные, интересные и популярные алгоритмы.

Вы пройдете такие актуальные темы как битовая арифметика, рекурсия, динамическое программирование, теория графов и др. Модуль 9 посвящен продвинутым алгоритмическим трендам, которые рассчитаны на опытных специалистов.


Можно проходить курс на любом языке программирования. На вебинарах преподаватели интерактивно рисуют и демонстрируют, как работает каждый алгоритм, некоторые из них пишем с нуля прямо на уроке, используя C#, Java или Python, после чего вы сможете самостоятельно написать этот алгоритм на вашем любимом языке программирования. Благодаря подробным объяснениям и визуализации, идея каждого алгоритма станет понятна.


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


Проектная работа для портфолио. К концу курса вы напишете свое приложение и сможете представлять его на собеседовании. Многие студенты придумывают и реализуют интересные проекты: распознавание рукописных цифр, генерация прохождения лабиринтов, решение заданий судоку и так далее.
Без алгоритмов и структур данных языки программирования мертвы. Это именно то, что вдыхает жизнь в Java, C++ и Python
Михаил Горшков
Преподаватель курса

Преподаватели

Михаил Горшков
Лаборатория Касперского
Матвей Калинин
Главный разработчик в одном из крупнейших банков страны
Евгений Волосатов
Александр Ключев
Zynga senior developer
Андрей Иванов
Михаил Степанов
Data Scientist Insilico Medicine
Владислав Родин
Работаю в Лаборатории Касперского, окончил курс по С++ в Otus и осваиваю область Data Science. Сейчас являюсь наставником на курсе С++. Специально для проекта OTUS создал программу «Алгоритмы для разработчиков». Программирую на С++ и Python в течение 18 лет, как хобби — играю на фортепиано.

Этот курс для тех, кто не проходил или пропустил алгоритмы в своем ВУЗе, а также для всех программистов, интересующихся данной темой: от любителей до профессионалов. Вы узнаете о популярных алгоритмах и структурах данных, научитесь их реализовывать и применять, сможете претендовать на вакансии в лучшие компании России и всего мира: Яндекс, Google, Facebook!

Присоединяйтесь, будет круто!

С 2016 года главный разработчик на ibm в одном из крупнейших банков страны. Опыт разработки программного обеспечения с 1990 года. Работал и с привычными ныне dos, windows и linux системами, и с редко встречающимися специализированными вычислительными устройствами (системами реального времени, ibm i). Профессионально использует C++, С#, assembler, java, RPG.

Закончил МАИ, к.т.н., работал старшим преподавателем, кафедра 704 «Информационно-управляющие комплексы летательных аппаратов».
Участвовал в проектах разработки программного обеспечения, связанного с навигацией. Решал задачи для процессоров цифровой обработки сигналов в операционных системах реального времени включая параллельную обработку данных. Разработал и вёл курс вероятностных конечных автоматов.

В 2000-2002г самостоятельно разработал, используя C++ и Dephi, биллинговый комплекс АСР «ИнтБиллинг» (оборудование VocalTec). Сертификат № ОС/1-СТ-219 Министерства Российской Федерации по связи и информатизации. Биллинг выставлялся на СвязьЭкспоком, имел инсталляции заказчиков.

Долгое время работал с Java2EE (back-end и front-end). Сначала в первом агрегаторе контента для сотовых устройств «Никита-мобайл». Затем в компании «Микротест» занимался разработкой и реализацией систем информирования пользователя, основанных на web интерфейсе и являющихся частью больших распределённых систем, таких как биллинговые системы (Oracle BRM), CRM (Oracle Siebel), интеграционные шины (Tibco), SMS шлюзы.

Люблю и умею преподавать. Более 20 лет помимо программирования изучаю и обучаю айкидо (5й дан Айкикай).

Подобно технике боевых искусств мы изучаем базис: языки, паттерны, платформы. Чтобы затем перевести это всё в зодчество ПО, его архитектуру. С другой стороны, программный продукт всегда есть отражение создателя. Любая система, согласно закону Конвея, есть отражение людей, создавших её. Программирование суть искусство в мире электронных форм. Взрослый ничем не отличается от маленького ребенка, играющего с кубиками. Только кубики другие. Творчество это основа всего. И свобода ошибаться и искать. Обучение это игра и освоение новых миров.

Профессиональный программист. Преподаватель языка Java в колледже.
Автор видеокурсов по C#, Java, PHP

20 лет опыта ведущим программистом в разных фирмах и опыта преподавания в университете, колледже. 6 лет опыта ведения вебинаров и создания видеокурсов.

Три самых крупных завершенных проекта:
PHP. Служба знакомств в интернете - PHP, MySQL, FreeBSD, C/C++
C#. Программа расчёта заработной платы на АЭС - C#, MS-SQL Server
Java. Видеокурс создания игры Сапёр на Java: https://goo.gl/24DgBg

Статьи на Habrahabr:
Как я создавал методику изучения C# - habr.com/post/239825/
Об альтернативном образовании и про C# - habr.com/post/257957/
Изучение C# — Практический подход - habr.com/post/304142/

Участие в IT-конференциях в Литве, призовое место в конкурсе программирования InfoBalt, призовое место на республиканской олимпиаде по математике и информатике

С окончания школы в 1996 году постоянно преподавал информатику в университете, школе, на кружках, в ДДТ, на предприятиях, в колледже. С 2013 года ведет вебинары онлайн, записывает видеокурсы https://www.VideoSharp.info/

В 2002 году закончил Вильнюсский государственный университет по специальности «Магистр математики и информатики», а в 2008 году по специальности «Учитель профессии».

«В детстве меня вдохновила "Занимательная ***" серия книг Я. И. Перельмана. Считаю своим призванием создать занимательную методику обучения программированию.»

Уже 10 лет в IT, 7 из которых посвящено C++
Начинал профессиональную карьеру c компании Motorola, область телекоммуникаций, позднее заинтересовался разработкой игр.

Поработал в разных российских и зарубежных игровых студиях над различными игровыми проектами
SocialQuantum: Megapolis, Wild West 3D, Ice age 3D
Keywords Studios: Mortal Kombat, Injustice, F1
В данный момент работаю в компании Zynga над мобильным движком
для всех игровых проектов компании.

Окончил Санкт-Петербургский Электротехнический Университет ЛЭТИ, факультет компьютерных технологий и информатики (ФКТИ)
После окончания университета, работал на кафедре автоматизированных систем управления (в качестве ассистента — вел лабораторные работы).

Один из разработчиков academy.cppstudio.com - бесплатного интерактивного сервиса по обучению С++. Свыше 5 лет опыта разработки приложений на C++ и C#.
Используемые технологии и фрэймворки:
WPF, WinForms, EF6, ASP.NET MVC5, ASP.NET Core 2.

Сейчас занимается глубоким обучением для разработки новых лекарственных препаратов. Занимался проектами по агрегации отзывов, по анализу и оптимизации производства крупных промышленных компаний, в том числе проектами по face detection, face recognition, pose estimation. Оптимизировал модели для запуска на портативных или маломощных устройствах.

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

В настоящее время занимает должность руководителя группы разработки, преподает в Московском Физико-Техническом Институте и на портале foxminded.

Выпускник МФТИ, начал программировать на С++, работал инженером-исследователем на проекте вычислительного программного комплекса МФТИ.

С 2017 года занимается Java Enterprise разработкой.

Работал Java-разработчиком в таких компаниях как НСПК и Яндекс. Занимался проблемами высокой нагрузки, работая как на Spring'овом (Spring Boot, Spring Core, Spring Data, Spring Batch и т.д.) так и на Java EE'шном стеках. Улучшал инфраструктуру проектов, внедряя CI/CD и отлаживая процесс миграции БД. Строил С4- архитектурные схемы для проектов, в которых принимал участие.

Является автором статей по backend-разработке на habr.com; спикер Рит++ 2020; обладатель сертификата Oracle Certified Assotiate Java SE 8 Programmer.

Михаил
Горшков
Матвей
Калинин
Евгений
Волосатов
Александр
Ключев
Андрей
Иванов
Михаил
Степанов
Владислав
Родин

Преподаватели

Михаил Горшков
Лаборатория Касперского
Работаю в Лаборатории Касперского, окончил курс по С++ в Otus и осваиваю область Data Science. Сейчас являюсь наставником на курсе С++. Специально для проекта OTUS создал программу «Алгоритмы для разработчиков». Программирую на С++ и Python в течение 18 лет, как хобби — играю на фортепиано.

Этот курс для тех, кто не проходил или пропустил алгоритмы в своем ВУЗе, а также для всех программистов, интересующихся данной темой: от любителей до профессионалов. Вы узнаете о популярных алгоритмах и структурах данных, научитесь их реализовывать и применять, сможете претендовать на вакансии в лучшие компании России и всего мира: Яндекс, Google, Facebook!

Присоединяйтесь, будет круто!

Матвей Калинин
Главный разработчик в одном из крупнейших банков страны
С 2016 года главный разработчик на ibm в одном из крупнейших банков страны. Опыт разработки программного обеспечения с 1990 года. Работал и с привычными ныне dos, windows и linux системами, и с редко встречающимися специализированными вычислительными устройствами (системами реального времени, ibm i). Профессионально использует C++, С#, assembler, java, RPG.

Закончил МАИ, к.т.н., работал старшим преподавателем, кафедра 704 «Информационно-управляющие комплексы летательных аппаратов».
Участвовал в проектах разработки программного обеспечения, связанного с навигацией. Решал задачи для процессоров цифровой обработки сигналов в операционных системах реального времени включая параллельную обработку данных. Разработал и вёл курс вероятностных конечных автоматов.

В 2000-2002г самостоятельно разработал, используя C++ и Dephi, биллинговый комплекс АСР «ИнтБиллинг» (оборудование VocalTec). Сертификат № ОС/1-СТ-219 Министерства Российской Федерации по связи и информатизации. Биллинг выставлялся на СвязьЭкспоком, имел инсталляции заказчиков.

Долгое время работал с Java2EE (back-end и front-end). Сначала в первом агрегаторе контента для сотовых устройств «Никита-мобайл». Затем в компании «Микротест» занимался разработкой и реализацией систем информирования пользователя, основанных на web интерфейсе и являющихся частью больших распределённых систем, таких как биллинговые системы (Oracle BRM), CRM (Oracle Siebel), интеграционные шины (Tibco), SMS шлюзы.

Люблю и умею преподавать. Более 20 лет помимо программирования изучаю и обучаю айкидо (5й дан Айкикай).

Подобно технике боевых искусств мы изучаем базис: языки, паттерны, платформы. Чтобы затем перевести это всё в зодчество ПО, его архитектуру. С другой стороны, программный продукт всегда есть отражение создателя. Любая система, согласно закону Конвея, есть отражение людей, создавших её. Программирование суть искусство в мире электронных форм. Взрослый ничем не отличается от маленького ребенка, играющего с кубиками. Только кубики другие. Творчество это основа всего. И свобода ошибаться и искать. Обучение это игра и освоение новых миров.

Евгений Волосатов
Профессиональный программист. Преподаватель языка Java в колледже.
Автор видеокурсов по C#, Java, PHP

20 лет опыта ведущим программистом в разных фирмах и опыта преподавания в университете, колледже. 6 лет опыта ведения вебинаров и создания видеокурсов.

Три самых крупных завершенных проекта:
PHP. Служба знакомств в интернете - PHP, MySQL, FreeBSD, C/C++
C#. Программа расчёта заработной платы на АЭС - C#, MS-SQL Server
Java. Видеокурс создания игры Сапёр на Java: https://goo.gl/24DgBg

Статьи на Habrahabr:
Как я создавал методику изучения C# - habr.com/post/239825/
Об альтернативном образовании и про C# - habr.com/post/257957/
Изучение C# — Практический подход - habr.com/post/304142/

Участие в IT-конференциях в Литве, призовое место в конкурсе программирования InfoBalt, призовое место на республиканской олимпиаде по математике и информатике

С окончания школы в 1996 году постоянно преподавал информатику в университете, школе, на кружках, в ДДТ, на предприятиях, в колледже. С 2013 года ведет вебинары онлайн, записывает видеокурсы https://www.VideoSharp.info/

В 2002 году закончил Вильнюсский государственный университет по специальности «Магистр математики и информатики», а в 2008 году по специальности «Учитель профессии».

«В детстве меня вдохновила "Занимательная ***" серия книг Я. И. Перельмана. Считаю своим призванием создать занимательную методику обучения программированию.»

Александр Ключев
Zynga senior developer
Уже 10 лет в IT, 7 из которых посвящено C++
Начинал профессиональную карьеру c компании Motorola, область телекоммуникаций, позднее заинтересовался разработкой игр.

Поработал в разных российских и зарубежных игровых студиях над различными игровыми проектами
SocialQuantum: Megapolis, Wild West 3D, Ice age 3D
Keywords Studios: Mortal Kombat, Injustice, F1
В данный момент работаю в компании Zynga над мобильным движком
для всех игровых проектов компании.

Окончил Санкт-Петербургский Электротехнический Университет ЛЭТИ, факультет компьютерных технологий и информатики (ФКТИ)
После окончания университета, работал на кафедре автоматизированных систем управления (в качестве ассистента — вел лабораторные работы).

Андрей Иванов
Один из разработчиков academy.cppstudio.com - бесплатного интерактивного сервиса по обучению С++. Свыше 5 лет опыта разработки приложений на C++ и C#.
Используемые технологии и фрэймворки:
WPF, WinForms, EF6, ASP.NET MVC5, ASP.NET Core 2.

Михаил Степанов
Data Scientist Insilico Medicine
Сейчас занимается глубоким обучением для разработки новых лекарственных препаратов. Занимался проектами по агрегации отзывов, по анализу и оптимизации производства крупных промышленных компаний, в том числе проектами по face detection, face recognition, pose estimation. Оптимизировал модели для запуска на портативных или маломощных устройствах.

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

Владислав Родин
В настоящее время занимает должность руководителя группы разработки, преподает в Московском Физико-Техническом Институте и на портале foxminded.

Выпускник МФТИ, начал программировать на С++, работал инженером-исследователем на проекте вычислительного программного комплекса МФТИ.

С 2017 года занимается Java Enterprise разработкой.

Работал Java-разработчиком в таких компаниях как НСПК и Яндекс. Занимался проблемами высокой нагрузки, работая как на Spring'овом (Spring Boot, Spring Core, Spring Data, Spring Batch и т.д.) так и на Java EE'шном стеках. Улучшал инфраструктуру проектов, внедряя CI/CD и отлаживая процесс миграции БД. Строил С4- архитектурные схемы для проектов, в которых принимал участие.

Является автором статей по backend-разработке на habr.com; спикер Рит++ 2020; обладатель сертификата Oracle Certified Assotiate Java SE 8 Programmer.

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

А ещё на курсе я был очень удивлён тем, насколько сильно отличается скорость работы сортировки Шелла от сортировки вставками.

В общем, всячески рекомендую, познавательно и интересно.
Читать целиком
Александр
Рыбаков
Очень полезный курс, рекомендую, уверен что поможет мне во многих моих проектах. Этот курс помог мне пересмотреть взгляд на многие на первый взгляд простые задачи, упростить и ускорить их выполнение.
Спасибо, OTUS
Читать целиком
Инна
ХХХ
Курс был полезен для приобретения новых навыков. Очень подробно рассмотрены темы сортировок, контейнеры, деревья и графы. Интересное и полезное занятие на тему memory allocation. Из всех преподавателей хочу выделить Евгения Волосатова - ему отдельное спасибо за очень хорошее взаимодействие с аудиторией.
Читать целиком
Андрей
Меньшенин
Очень насыщенная программа. Много материалов. Интересные и довольно сложные домашние задания, надо которыми надо подумать, поразмышлять, и реализовать.
Понравилось то, что все материалы представлены в личном кабинете, что можно зайти и повторить.
Понравилось то, что можно было подключить микрофон, и голосом спросить вопросы у преподавателя на вебинаре или даже пройти алгоритм шаг за шагом вместе с преподавателем.
Больше всего понравились преподаватели, которые старались как можно проще и понятнее объяснить тему вебинаров.
Читать целиком
Роман
Зотов
Так как не имею профильного образования, чувствовалась нехватка фундаментальных знаний в области основ программирования. На данном курсе рассмотрены основные алгоритмы и структуры данных, которые должен знать каждый разработчик. Преподаватели отлично знают материал и чаще всего могут его преподнести так что даже не подготовленному человеку можно разобраться. По сложности - да было сложно, но оно того стоит. Спасибо за полученные знания.
Читать целиком
Михаил
Бедрицкий
Очень толковый, достаточно сбалансированный курс. Получил удовольствие и пользу.
Читать целиком
Arseny
Cherenkov
Курс очень хороший. Преподаватели Евгений Витольдович и Михаил (не знаю отчества) Горшков реально крутые в своем деле. Мне понравилось все. Все, кроме моей лени. У меня было много времени, но я еле смог досдать минимальные варианты ДЗ. Сейчас я чувствую, что я профессионально вырос и с удивлением обнаруживаю, что могу давать советы коллегам и даже консультировать по части алгоритмов. Спасибо, OTUS!
Читать целиком
Андрей
Филаткин
Курс оказался очень полезен, чтобы систематизировать существующие разрозненные знания. А выполнение домашних заданий на практике помогло почувствовать разницу между близкими алгоритмами. Курс оказался хорошим мотиватором для всего этого, я даже прочитал таки Сэджвика, купленного лет 15 назад)
Читать целиком
Дарья
Шумихина
Курс очень понравился. Особенно понравилась обратная связь, формат занятий, при котором можно, не стесняясь, тут же обсудить всё с преподавателем и другими ребятами, прям как настоящая команда:) Отдельно хотелось бы отметить крутого преподавателя - Волосатова Евгения Витольдовича, у него настоящий преподавательский дар, настолько интересно и легко он рассказывает и объясняет темы, а еще клёво рисует поясняющие картинки) Он по-настоящему заинтересовал нас и объединил. На другом моем курсе отуса все только пишут в чат, и то очень редко, хотя возможность говорить есть, но никто этого не делает, никто никого не знает, преподаватель никого не помнит, спросить что-то из-за этого становится неудобно, в плане стеснения, и прочее, короче, камандой это не назовешь, наверно, атмосфера какая-то другая. На данном курсе же наоборот, хочется именно онлайн присутствовать, а не смотреть в записи.
Читать целиком
Иван
Смирнов
Интересный курс, хорошие преподаватели.
Для себя нашел и что-то новое, и вспомнил что-то старое.
Благодаря курсу смог более детально разобраться в некоторых вещах, которые ранее были непонятны.
Читать целиком
Dmitry
Moskalyov
В целом понравилось. Из недостатков запомнилось только что некоторые презентации содержали ошибки, делающие представленные алгоритмы нерабочими, или приводились неверные расчёты. Но это возможно наследие предыдущих курсов, где-то поправили, где-то на заметили.

Было-бы неплохо представить большее число примеров на реальном языке, питоне/c++/c#/java/etc, для упрощения поиска у себя ошибок и возможности сравнения с точно работающим кодом.

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

Больше пожалуй нечего сказать. Всегда можно было-бы дать больше направлений, но тогда это и заняло бы больше времени
Читать целиком
Игорь
Лопушко
Спасибо за курс и полученные знания! Особенно понравилось интерактивность занятий и отсутствие монотонной подачи материала. Достаточно много базовых вещей было покрыто и с должной глубиной. Особенно хорошо проработаны те аспекты, которые были вынесены в домашнее задание. Чего бы хотелось добавить, так это немного больше псевдокода или конкретных реализаций тех или иных алгоритмов.
Читать целиком
Сергей
Голицын
Что сказать о курсе? Это было круто. Это было сложно. Порой это было безумн тяжело, но приятно. Практически каждая тема разжовывалась, обьяснялась на псевдокоде и доносилась до нас так что все (надеюсь) сразу понимали. Отдельное спасибо за темы про графы и строки. Это было великолепно. Уверен что в будущем еще не раз пересмотрю эти лекции.
Было много дз. Хотя не так ного как у прошлого курса, ноо это были реально обьемные задания. И я прекрасно понимаю тех кто не до конца выполнил их. Было приятно когда получал коментарии в гите по поводу того что можно улучшить и сделать лучше.
Считаю что преподавателю нужно минимум 2 постоянных помошника для проверки домашних заданий, потому как порой приходилось ждать около месяца.
Отдельное спасибо хочется сказать Евгению за его горящие глаза и энтузиазм с которым он все рассказывал. Это был не просто заученный текст, а чудестная импровизация по теме урока с примерами.
Очень рекомендую данный курс для расширения кругозора и открытия новых профессиональных возможностей!
Читать целиком
Александр
Зимин
Хороший курс. Восстановил всё давно забытое с университета и узнал много нового. Брал его чтобы подготовится к собеседованиям, т.к. планировал менять работу, и полученные на нём знания не раз меня выручили.
Например, теперь ничего не стоит рассказать, как работает очередь с приоритетами построенная на куче.
До курса я бы, скорее всего, завалил этот вопрос)

А ещё на курсе я был очень удивлён тем, насколько сильно отличается скорость работы сортировки Шелла от сортировки вставками.

В общем, всячески рекомендую, познавательно и интересно.
Читать целиком
Александр
Рыбаков
Очень полезный курс, рекомендую, уверен что поможет мне во многих моих проектах. Этот курс помог мне пересмотреть взгляд на многие на первый взгляд простые задачи, упростить и ускорить их выполнение.
Спасибо, OTUS
Читать целиком
Инна
ХХХ
Курс был полезен для приобретения новых навыков. Очень подробно рассмотрены темы сортировок, контейнеры, деревья и графы. Интересное и полезное занятие на тему memory allocation. Из всех преподавателей хочу выделить Евгения Волосатова - ему отдельное спасибо за очень хорошее взаимодействие с аудиторией.
Читать целиком
Андрей
Меньшенин
Очень насыщенная программа. Много материалов. Интересные и довольно сложные домашние задания, надо которыми надо подумать, поразмышлять, и реализовать.
Понравилось то, что все материалы представлены в личном кабинете, что можно зайти и повторить.
Понравилось то, что можно было подключить микрофон, и голосом спросить вопросы у преподавателя на вебинаре или даже пройти алгоритм шаг за шагом вместе с преподавателем.
Больше всего понравились преподаватели, которые старались как можно проще и понятнее объяснить тему вебинаров.
Читать целиком
Роман
Зотов
Так как не имею профильного образования, чувствовалась нехватка фундаментальных знаний в области основ программирования. На данном курсе рассмотрены основные алгоритмы и структуры данных, которые должен знать каждый разработчик. Преподаватели отлично знают материал и чаще всего могут его преподнести так что даже не подготовленному человеку можно разобраться. По сложности - да было сложно, но оно того стоит. Спасибо за полученные знания.
Читать целиком
Михаил
Бедрицкий
Очень толковый, достаточно сбалансированный курс. Получил удовольствие и пользу.
Читать целиком
Arseny
Cherenkov
Курс очень хороший. Преподаватели Евгений Витольдович и Михаил (не знаю отчества) Горшков реально крутые в своем деле. Мне понравилось все. Все, кроме моей лени. У меня было много времени, но я еле смог досдать минимальные варианты ДЗ. Сейчас я чувствую, что я профессионально вырос и с удивлением обнаруживаю, что могу давать советы коллегам и даже консультировать по части алгоритмов. Спасибо, OTUS!
Читать целиком
Андрей
Филаткин
Курс оказался очень полезен, чтобы систематизировать существующие разрозненные знания. А выполнение домашних заданий на практике помогло почувствовать разницу между близкими алгоритмами. Курс оказался хорошим мотиватором для всего этого, я даже прочитал таки Сэджвика, купленного лет 15 назад)
Читать целиком
Дарья
Шумихина
Курс очень понравился. Особенно понравилась обратная связь, формат занятий, при котором можно, не стесняясь, тут же обсудить всё с преподавателем и другими ребятами, прям как настоящая команда:) Отдельно хотелось бы отметить крутого преподавателя - Волосатова Евгения Витольдовича, у него настоящий преподавательский дар, настолько интересно и легко он рассказывает и объясняет темы, а еще клёво рисует поясняющие картинки) Он по-настоящему заинтересовал нас и объединил. На другом моем курсе отуса все только пишут в чат, и то очень редко, хотя возможность говорить есть, но никто этого не делает, никто никого не знает, преподаватель никого не помнит, спросить что-то из-за этого становится неудобно, в плане стеснения, и прочее, короче, камандой это не назовешь, наверно, атмосфера какая-то другая. На данном курсе же наоборот, хочется именно онлайн присутствовать, а не смотреть в записи.
Читать целиком
Иван
Смирнов
Интересный курс, хорошие преподаватели.
Для себя нашел и что-то новое, и вспомнил что-то старое.
Благодаря курсу смог более детально разобраться в некоторых вещах, которые ранее были непонятны.
Читать целиком
Dmitry
Moskalyov
В целом понравилось. Из недостатков запомнилось только что некоторые презентации содержали ошибки, делающие представленные алгоритмы нерабочими, или приводились неверные расчёты. Но это возможно наследие предыдущих курсов, где-то поправили, где-то на заметили.

Было-бы неплохо представить большее число примеров на реальном языке, питоне/c++/c#/java/etc, для упрощения поиска у себя ошибок и возможности сравнения с точно работающим кодом.

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

Больше пожалуй нечего сказать. Всегда можно было-бы дать больше направлений, но тогда это и заняло бы больше времени
Читать целиком
Игорь
Лопушко
Спасибо за курс и полученные знания! Особенно понравилось интерактивность занятий и отсутствие монотонной подачи материала. Достаточно много базовых вещей было покрыто и с должной глубиной. Особенно хорошо проработаны те аспекты, которые были вынесены в домашнее задание. Чего бы хотелось добавить, так это немного больше псевдокода или конкретных реализаций тех или иных алгоритмов.
Читать целиком
Сергей
Голицын
Что сказать о курсе? Это было круто. Это было сложно. Порой это было безумн тяжело, но приятно. Практически каждая тема разжовывалась, обьяснялась на псевдокоде и доносилась до нас так что все (надеюсь) сразу понимали. Отдельное спасибо за темы про графы и строки. Это было великолепно. Уверен что в будущем еще не раз пересмотрю эти лекции.
Было много дз. Хотя не так ного как у прошлого курса, ноо это были реально обьемные задания. И я прекрасно понимаю тех кто не до конца выполнил их. Было приятно когда получал коментарии в гите по поводу того что можно улучшить и сделать лучше.
Считаю что преподавателю нужно минимум 2 постоянных помошника для проверки домашних заданий, потому как порой приходилось ждать около месяца.
Отдельное спасибо хочется сказать Евгению за его горящие глаза и энтузиазм с которым он все рассказывал. Это был не просто заученный текст, а чудестная импровизация по теме урока с примерами.
Очень рекомендую данный курс для расширения кругозора и открытия новых профессиональных возможностей!
Читать целиком
Процесс обучения
Обучение проходит онлайн, в формате вебинаров. Длительность этого курса составляет 5 месяцев, финальный месяц отводится для выполнения проектной работы и оттачивания полученных навыков.

Расписание занятий включает 2 вебинара в неделю по 2 академических часа и от 2 до 4 часов на домашнюю работу.

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


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

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

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

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

Прошедшие открытые вебинары
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Три алгоритма поиска шаблона в тексте
Евгений Волосатов
Пирамидальная сортировка HeapSort
Евгений Волосатов
После обучения вы

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

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

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

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

  • получите приглашение пройти собеседование в компаниях-партнёрах (в случае успешного обучения)

Дата выдачи сертификата: 2 августа 2021 года
Ваш сертификат

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

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

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

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

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

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

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

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

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

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

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

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

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

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

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.
🎁 Максимальная скидка!
Черная пятница уже в OTUS! Скидка -25% на всё!